这个问题对我来说很奇怪。我正在使用jQuery提交一些ajax调用,例如:
if($_POST['action']=="removeUser"){
$email=$_POST['id'];
$gname=$_POST['gname'];
$name=$_POST['name'];
include_once("inc/group.class.php");
$group=new group();
$array=array();
if($group->removeUser($gname,$email)){
$array['stat']="success";
$array['name']=$name;
}else{
$array['stat']="fail";
}
echo json_encode($array);
exit;
}
此代码工作正常。
但奇怪的是,上面第一行中的$email=$_POST['id'];
也在成功执行后自动更新了会话值$_SESSION['email']
。
例如,如果$ _POST ['id'] =“abc@st.com”,则自动$ _SESSION ['email'] =“abc@st.com”。我不知道这会发生什么,虽然他们有相同的名字,但一个是$email
,另一个是$_SESSION['email']
。
任何人都知道为什么会发生这种情况?
感谢。
group.class
public function removeUser($gname,$email){
global $db;
$query="DELETE FROM ec_join WHERE gname='$gname' AND member='$email'";
$sql=$db->query($query) or die($db->error());
if($sql){
return true;
}else{
return false;
}
}
答案 0 :(得分:4)
尽快在PHP.ini中禁用register_globals
。