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 :: Версия для печати :: Cookie
Форумы портала PHP.SU » » HTTP и PHP » Cookie

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

1. SoM - 29 Ноября, 2011 - 13:51:34 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
  5. <title>Untitled Document</title>
  6. </head>
  7.  
  8. <body>
  9.  
  10. <style>
  11. body{background:#999999}
  12. .border{border:1px solid #000000}
  13. </style>
  14.  
  15. <table border="0" cellpadding="0" cellspacing="0" class="border" align="center" bgcolor="#FFFFFF">
  16.         <tr>
  17.         <td width="0px">
  18.         </td>
  19.         <td align="center">
  20.                 <?
  21.                                 #Настройки подключения к MySql
  22.                                 $host = "localhost";
  23.                                 $user = "root";
  24.                                 $password = "";
  25.                                 $db = "minecraft";
  26.                                 #Подключение к MySql
  27.                                 $connect = mysql_connect($host,$user,$password);
  28.                                 mysql_select_db($db,$connect);
  29.                                 #Обозначение переменных
  30.                                 $nick = $_POST['nick'];
  31.                                 $pass = $_POST['pass'];
  32.                                 $cap = $_POST['cap'];
  33.                                 $key = $_POST['key'];
  34.                                 $capcha = $_COOKIE['capcha'];
  35.                                 $vip = "nN63*sqJ";
  36.                                 $ip = $_SERVER["REMOTE_ADDR"];
  37.                                 #Сбор данных из MySql
  38.                                 $query = mysql_query("SELECT * FROM Users WHERE username='$nick'");
  39.                                 $result = mysql_fetch_array($query);
  40.                                 $users = mysql_query("SELECT COUNT(*) FROM Users");
  41.                                 $count = mysql_fetch_array($query);
  42.                                 $id = $count + 1;
  43.                                 #Проверка на ошибки
  44.                                 $error = 0;
  45.                                 if(empty($nick) or empty($pass) or empty($cap)){$errors = 1; $error[1] = "Вы ввели не все данные!";}
  46.                                 if(!empty($nick) and $result['username'] == $nick){$errors = 1; $error[2] = "Пользователь с таким ником уже зарегистрирован!";}
  47.                                 if($capcha != $cap){$errors = 1; $error[3] = "Вы не правильно посчитали пример!";}
  48.                                 if(!empty($key) and $key != $vip){$errors = 1; $error[4] = "Вы неправильно ввели V.I.P код!";}
  49.                                 if(!empty($_COOKIE['reg-ip']) and isset($_COOKIE['reg-ip'])){$errors = 1; $error[5] = "С этого IP-адреса уже произведена регистрация!";}
  50.                 #Занесение данных в MySql
  51.                                 if($errors == 0){
  52.                                 setcookie("reg-ip",$ip);
  53.                                 $register = mysql_query("INSERT INTO Users (id, username, password, ip) VALUES ('$id', '$nick', '$pass', '$ip')");
  54.                                 if($register){echo "Регистрация прошла успешно!";}else{mysql_error();}
  55.                                 }else{echo "<br>Регистрация не может быть завершена!";}
  56.                                 #Вывод ошибок
  57.                                 echo $error[1];
  58.                                 echo $error[2];
  59.                                 echo $error[3];
  60.                                 echo $error[4];
  61.                                 echo $error[5];                        
  62.                         ?>
  63.         </td>
  64.     </tr>
  65. </table>
  66.  
  67. </body>
  68. </html>
  69.  
  70.  

Мне выводит вот эту ошибку:
Цитата:
Warning: Cannot modify header information - headers already sent by (output started at Z:\home\195.211.205.157\www\register.php:20) in Z:\home\195.211.205.157\www\register.php on line 52

Подскажите что делать?
2. LIME - 29 Ноября, 2011 - 14:44:43 - перейти к сообщению
http://yandex.ru/yandsearch?text...=true&lr=213
(Добавление)
первая ссылка то что надо
3. SoM - 29 Ноября, 2011 - 14:52:14 - перейти к сообщению
Я поискал и понял,что куки работает только в самом начале документа...Но как мне сделать так,чтобы значение куки задавалось после условия if ?
4. LIME - 29 Ноября, 2011 - 15:42:51 - перейти к сообщению
SoM переделайте ваш скрипт
вместо непосредственно вывода формируйте строковую переменную
и перенесите скрипт в начало документа
а там где нужен вывод выводите заранее готовую переменную
типа
Спойлер (Отобразить)

 

Powered by ExBB FM 1.0 RC1