我将以下php嵌入到Joomla中!文章,使用Sorcerer插件;
<?php
$user = JFactory::getUser();
$username = $user->username;
$user_id = $user->id;
if (isset($_GET['action'])){
date_default_timezone_set('Europe/London');
$user= JFactory::getUser();
$username=$user->username;
$user_id=$user->id;
$date_now=date('m/d/Y H:i:s');
$db =& JFactory::getDBO();
$insert_sql= "INSERT INTO KOSRequest (user_id,created,IGN,LKL,KOSReason,Status) VALUES (".$user_id.",'".$date_now."','".$_POST['$IGN']."',". $_POST['LKL'].",'".$_POST$['KOSReason']."','Pending')";
$db->setQuery($insert_sql);
$db->execute();
echo "A new KOS entry has been added by ".$username."<br />";
} else {
echo"
<form name='kos_entry' action='http://www.ospalliance.org.uk/JOOM/2-uncategorised/51-kill-on-sight-form?action=submit' method='POST'>
Player IGN <input type='text' name='IGN' required /><br />
Player Location :<input type='number' name='LKL' required /><br />
Reason: <textarea rows='4' cols='50' name='KOSReason'></textarea><br />
<input type='submit' value='Sumbit'>";
}
?>
我的问题是每当按下提交按钮时,Joomla!使用系统消息记录用户:
注销后您已被重定向到主页
我可以直接访问action子句中指定的超链接。
NB SQL本身正确地插入(只有当我直接替换$ _POST变量时(因为$ _POST永远不会到达那一点,我必须替换变量)像这样);
$IGN='SomeIGN';
$LKL=1200;
$KOSReason='some reason';
但主要问题是,为什么用户从Joomla登出!?
我有很多其他形式使用相同的逻辑,工作正常。
一个区别可能是服务器最近被主机升级了。
工作脚本是在升级之前创建的,但我不知道设置的不同之处和方式。
请帮忙!