0

我正在使用一个表单,其中我有一个文本框,在提交时我正在检索文本框的值并将其发送到获取值并使用它来获取记录的文件..

在我的javascript中我给了喜欢

   <script language="javascript" type="text/javascript">

    function check()

       {


    var title=document.getElementById("title").value;

   location.href="http://localhost/joomla/Joomla_1.5.7/testtest.php?title="+title;

      }
     </script>

并在 testtest.php 文件中

我有

     <?php
            defined( '_JEXEC' ) or die( 'Restricted access' );
      ?>


     <?php echo $_GET['title'];?>
   <?php
$db         =& JFactory::getDBO();

          $keyword=$_GET['title'];
    $query =  'SELECT * from #__chronoforms_UploadAuthor where text_6 like "%'.$keyword.'%"';
    $db->setQuery($query);
    $rows = $db->loadObjectList();
     //echo $rows;
   ?>

但是在此页面中,它显示我为受限访问.. 为什么会这样?以及如何克服这个..请帮助我...

4

1 回答 1

3

来自官方文档:

“_JEXEC”是一个常量,通常在 Joomla! 根目录的“index.php”文件中定义。实例,用于标记 Joomla! 的安全入口点。defined 或 die 检查确保 _JEXEC 已在路径中定义以获取文件。这用于确保由于函数、变量或类未在该文件中定义而可能公开路径信息的文件触发 PHP 的错误报告并公开路径。

什么时候应该使用它?

应将检查添加到直接访问时会导致路径暴露的文件中。

正是您正在做的事情:直接访问 testtest.php。

您应该避免直接调用或取消检查。

最重要的是,在为 Joomla 框架编写扩展代码时,您似乎没有应用主要准则。我强烈建议您查看文档页面,特别是MVC模式部分。

来源:http ://docs.joomla.org/JEXEC

于 2010-03-04T10:44:22.383 回答