我正在使用一个表单,我有一个文本框,在提交时我正在重新检索文本框的值并将其发送到一个文件,该文件获取值并使用它来获取记录..
在我的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;
?>
但是在这个页面中它显示我作为限制访问..为什么这样?以及如何克服这个..请帮助我...
答案 0 :(得分:3)
来自官方文件:
“_ JEXEC”是一个常数 通常在'index.php'中定义 文件在Joomla的根部! 实例,用于标记安全 进入Joomla的入口!定义的 或模具检查确保_JEXEC 已被定义为获得的途径 到文件。这用于确保 一个可以暴露路径的文件 信息因为功能, 变量或类未定义 该文件行程PHP的错误报告 并暴露一条路径。
什么时候应该使用?
应将检查添加到文件中 当直接访问时导致a 路径暴露。
这正是你正在做的:直接访问testtest.php。
您应该避免直接通话或取消支票。
最重要的是,在为Joomla框架编写扩展时,似乎没有应用主要指南。我强烈建议您查看documentation pages,特别是MVC模式部分。