我的腳本非常簡單。當有人試圖登錄時,PHP會根據MySQL數據庫檢查表單數據,設置會話的cookie並刷新頁面。現在,我已經明確指出cookie腳本會導致混亂,並完全停止工作。但是,我不知道爲什麼。我使用的代碼是這樣的:PHP cookie代碼導致混亂
<?php
header('Content-type: text/javascript');
$erroron="false";
$id='false';
$con = mysql_connect("localhost","***","***");
if (!$con)
{
die('$("#connecterror").stop().hide().fadeIn(); ');
}
mysql_select_db("***", $con);
$result = mysql_query("SELECT * FROM users");
while($row = mysql_fetch_array($result))
{
if($row['username']==$_POST["user"]&&$row['password']==$_POST["pass"])
{
if($row['confirmed']==1){
$id=$row['id'];
}
else{
echo '$("#erroractivate").stop(false,true).hide().fadeIn(200);';
}
}
else if($row['email']==$_POST["user"]&&$row['password']==$_POST["pass"])
{
if($row['confirmed']==1){
$id=$row['id'];
}
else{
echo '$("#erroractivate").stop(false,true).hide().fadeIn(200);';
}
}
else{
if($erroron=="false"){
$erroron="true";
echo '$("#error").stop(false,true).hide().fadeIn(200);';
}
}
}
if($id=='false'){
echo '$("#error").stop(false,true).hide().fadeIn(200);';
}
else{
echo '$("#page").text("You have logged in, redirecting...");$("body").css("cursor","wait");setTimeout("location.reload(true);",2000);';
setcookie("sessionid", $id,0,'/','profile.campatet.com',false,true);
}
mysql_close($con);
?>
現在,這將不工作的一部分:
setcookie("sessionid", $id,0,'/','profile.campatet.com',false,true);
如果我採取這一關,腳本成功刷新頁面,但因爲沒有cookie設置,你不能登錄。如果我堅持下去,它什麼都不做。
你在混合Logic和Presentation。不要那樣做。 – dynamic
當你使用'setcookie(「sessionid」,$ id)時會發生什麼;'? – casraf
如果($騙局!) { 模( '$( 「#connecterror」)停止()隱藏()淡入();'); } ????? – tetris