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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Не ставятся кукисы

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
improbable
Отправлено: 25 Ноября, 2012 - 16:49:39
Post Id



Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Февр. 2012  


Помог: 0 раз(а)




И опять я.
Помогите, не ставятся кукисы в этом скрипте.

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.  


Т.е. до генерации кукисов условие доходит, но они всё равно не создаются.
Помогите Ниндзя

(Отредактировано автором: 25 Ноября, 2012 - 16:51:07)

 
 Top
EuGen Администратор
Отправлено: 25 Ноября, 2012 - 16:54:15
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Куки не могут быть установлены после того, как был начат вывод в браузер. И Вы делаете этот вывод:
improbable пишет:
<html>
<head>
<META HTTP-EQUIV="Refresh" Content="3, URL=/index.php">
<title>Аунтефикация...
</head>

Используйте функции ob_ для буферизации вывода


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
improbable
Отправлено: 25 Ноября, 2012 - 16:57:24
Post Id



Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Февр. 2012  


Помог: 0 раз(а)




сообщение удалено

(Отредактировано автором: 25 Ноября, 2012 - 19:30:25)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« HTTP и PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB