Ребята, у меня такой вопрос. Есть два файла на PHP. Анализатор и активатор. Их смысл генерировать письмо активации сохраняя данные в куках пользователя. Потом когда пользователь нажмет активациоонную ссылку в своем письме, данные из куков перенесутся в базу, а куки удалятся... Анализатор ставит куки... Вот код: Код (Text): <?php if (isset($_POST['login'])) /* Если массив есть */ { include("connection.php"); if ($_POST['login'] == '' OR $_POST['pass'] == '' OR $_POST['repass'] == '' OR $_POST['FirstName'] == '' OR $_POST['SirName'] == '' OR $_POST['LastName'] == '') /* Проверка на пустоту */ { header('Refresh: 1; URL=registration.php'); $Descript = '<H3 align="center">Вы не заполнили все поля!</H3> <p align="center">Через 1 сек. вы будете перенаправлены на страницу регистрации</p>'; /* exit; */ } else if($_POST['pass'] != $_POST['repass']) /* Проверка на неравенство паролей */ { header('Refresh: 1; URL=registration.php'); $Descript = '<H3 align="center">Пароли не совпадают.</H3> <p align="center">Через 1 сек. вы будете перенаправлены на страницу регистрации</p>'; /* exit; */ } else { $result = mysql_query("SELECT FirstName FROM avtors WHERE AvtorMail='".$_POST['login']."'"); if (mysql_num_rows($result)>0) /* Проверка на наличие зписи */ { header('Refresh: 3; URL=registration.php'); $Descript = '<H3 align="center">РЕГИСТРАЦИЯ НЕВОЗМОЖНА! Пользователь с таким адресом почты уже есть!</H3> <p align="center">Через 3 сек. вы будете перенаправлены на регистрационную страницу нашего сайта.</p>'; mysql_free_result($result); /* exit; */ } else { /* Кука */ setcookie("login",$_POST['login'],time()+60*60); setcookie("FirstName",$_POST['FirstName'],time()+60*60); setcookie("SirName",$_POST['SirName'],time()+60*60); setcookie("LastName",$_POST['LastName'],time()+60*60); setcookie("pass",$_POST['pass'],time()+60*60); include("E-mailfunc.php"); send_mime_mail('Автор письма', 'sender@site.ru', 'Получатель письма', $_POST['login'], 'utf-8', // кодировка, в которой находятся передаваемые строки 'utf-8', // кодировка, в которой будет отправлено письмо 'Письмо-уведомление', "<html> <head> <title>Активация</title> </head> <body> <p>Здравствуйте, уважаемый пользователь ".$_POST['FirstName']." ".$_POST['LastName'].".</p> Вы получили тестовое письмо.<br> Ссылка ниже поведет Вас на активационную страницу.<br> <p><a href='http://rifma.16mb.com/activation.php'>Активация</a></p> Если Вы не регистрировались на нашем аккаунте, просто проигнорируйте данное письмо.<br> </body> </html> "); mysql_free_result($result); header('Refresh: 1; URL=index.php'); $Descript = '<H3 align="center">Благодарим Вас за регистрацию!</H3> <p align="center">Мы отправили Вам письмо с ссылкой на активацию.</p>'; } } } else { header("Location:index.php"); } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Untitled Document</title> </head> <body> <?php echo("$Descript"); ?> </body> </html> Активатор снимает с них информацию и пишет в бд, потом удалаяет куки. Вот его код. Код (Text): <?php if (isset($_COOKIE['login'])) { include("connection.php"); mysql_query("INSERT INTO avtors (FirstName, SirName,LastName,AvtorMail,Password) VALUES ('".$_COOKIE['FirstName']."','".$_COOKIE['SirName']."','".$_COOKIE['LastName']."','".$_COOKIE['login']."','".$_COOKIE['pass']."')"); setcookie("login","",time()-600*100); setcookie("FirstName","",time()-600*100); setcookie("SirName","",time()-600*100); setcookie("LastName","",time()-600*100); setcookie("pass","",time()-600*100); header('Refresh: 10; URL=index.php'); echo('<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Untitled Document</title> </head> <body> <H3 align="center">Ваш аккаунт активирован! </H3> <p align="center">Через 10 сек. вы будете перенаправлены на главную страницу нашего сайта, где сможете выполнить вход.</p> </body> </html>'); } else { header('Refresh: 0; URL=index.php'); } ?> САмое интересное состоит в том, что на моей машине все работает как часы. На других активатор ведет себя так словно никто не ставил куки. То есть редирект... КАким образом можно объяснить разное поедение PHP у разных людей. Спрашивал разрешены ли куки, говорят - да.
Можно сделать по другому, после регистрации занеси в базу все данные пользователя и добавь поле activation = 0. Если человек перейдет по ссылке с письма тогда активируй его и давай залогиниваться. Тогда проблемы с куками автоматом уйдут