Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Не ставятся кукисы
Форумы портала PHP.SU » » HTTP и PHP » Не ставятся кукисы

Страниц (1): [1]
 

1. improbable - 25 Ноября, 2012 - 16:49:39 - перейти к сообщению
И опять я.
Помогите, не ставятся кукисы в этом скрипте.

PHP:
скопировать код в буфер обмена
  1. <html>
  2. <head>
  3. <META HTTP-EQUIV="Refresh" Content="3, URL=/index.php">
  4. <title>Аунтефикация...</title>
  5. </head>
  6. <?PHP
  7. require_once('recaptchalib.php');
  8. $privatekey = "6LdEidkSAAAAAO2B4Ygfgyg6UJrLIFEohAHXa2oo";
  9. $resp = recaptcha_check_answer ($privatekey,
  10.                               $_SERVER["REMOTE_ADDR"],
  11.                               $_POST["recaptcha_challenge_field"],
  12.                               $_POST["recaptcha_response_field"]);
  13.   if (!$resp->is_valid) {
  14.     // What happens when the CAPTCHA was entered incorrectly
  15.     die ("The reCAPTCHA wasn't entered correctly. Go back and try it again." .
  16.          "(reCAPTCHA said: " . $resp->error . ")");
  17.   } else {
  18. $hash=$_POST['hash'];if($hash!=(md5('Salt'.$_SERVER['REMOTE_ADDR']))){die('Система безопасности выявила проблему');}
  19. $pass=(mysql_escape_string((md5('Salt'.$_POST['password']))));$uname=(mysql_escape_string($_POST['username']));
  20. $configrequired='1';include'configuration.php';
  21. mysql_connect($config['dbhost'],$config['dbuname'],$config['dbpass']) or die('Подключение к базе данных не удалось');
  22. mysql_select_db($config['dbname']) or die(mysql_error());
  23. $query=mysql_query("SELECT * FROM `users` WHERE `username` = '$uname' AND `password` = '$pass'");
  24. if((mysql_num_rows($query))=='1'){
  25. if($result=mysql_fetch_array($query)){
  26. if($result['banned']=='1'){
  27. echo'К сожалению, Ваш аккаунт заблокирован, и вход на него невозможен.';
  28. }else{
  29. if($result['ip']!=(md5('Session'.$_SERVER['REMOTE_ADDR']))){
  30. $query=mysql_query("UPDATE `users` SET `banned` = '1' WHERE `username` = '$uname'");
  31. echo'Система безопасности выявила проблему, аккаунт заблокирован!';
  32. }else{
  33. $sid=(md5('Session'.$_SERVER['REMOTE_ADDR']));
  34. $query=mysql_query("UPDATE `sessions` SET `status` = '0' WHERE `sid` = '$sid'");
  35. $query=mysql_query("UPDATE `sessions` SET `status` = '0' WHERE `username` = '$uname'");
  36. $query=mysql_query("INSERT INTO `sessions` VALUES('$sid', '$uname', '$pass', '1')");
  37.  
  38.  
  39.  
  40.  
  41. SetCookie("d_sid",$sid, time()+3600);
  42.  
  43. // Кукисы тут
  44.  
  45.  
  46.  
  47. echo'Авторизация прошла успешно!<br>';
  48. }}}}else{die('Имя и/или пароль были введены неверно!');}
  49. }
  50. ?>
  51. </html>


Пробовал убирать все html теги - не помогло.
После загрузки скрипта исходный код страницы выглядит следующим образом:

CODE (html):
скопировать код в буфер обмена
  1.  
  2. <head>
  3. <META HTTP-EQUIV="Refresh" Content="3, URL=/index.php">
  4. <title>Аунтефикация...</title>
  5. </head>
  6. &#65279;&#65279;Авторизация прошла успешно!<br>
  7. </html>
  8. <!-- Hosting24 Analytics Code -->
  9. <script type="text/javascript" src="http://stats.hosting24.com/count.php"></script>
  10. <!-- End Of Analytics Code -->
  11.  


Т.е. до генерации кукисов условие доходит, но они всё равно не создаются.
Помогите Ниндзя
2. EuGen - 25 Ноября, 2012 - 16:54:15 - перейти к сообщению
Куки не могут быть установлены после того, как был начат вывод в браузер. И Вы делаете этот вывод:
improbable пишет:
<html>
<head>
<META HTTP-EQUIV="Refresh" Content="3, URL=/index.php">
<title>Аунтефикация...
</head>

Используйте функции ob_ для буферизации вывода
3. improbable - 25 Ноября, 2012 - 16:57:24 - перейти к сообщению
сообщение удалено

 

Powered by ExBB FM 1.0 RC1