Мой скрипт довольно прост. Когда кто-то пытается войти, PHP проверяет данные формы в базе данных MySQL, устанавливает cookie для сеанса и обновляет страницу. Теперь я определил, что скрипт 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 не установлены, вы не сможете войти в систему. Если я продолжу, он просто ничего не сделает.