Loading...
Обучение/Помощь новичкам | Помогите разобрать ошибки
ЮХЛАЙ , нет куки id, нет куки password, вот notice и выдает
Перевод ошибок: "Неизвестный индекс", а дальше указывает то, что за индекс. $_COOKIE - это массив. Массив представляет из себя набор данных вида "ключ - значение". В данном случае индекс - это и есть ключ. Возвращаясь к твоим проблемам, можно сделать вывод, что в массиве $_COOKIE у тебя нет ни id, ни password, на что php тебе и указывает. Аналогичная ситуация и с 22 строкой, где $_GET. Для быстрого решения (на основе твоего кода) предлагаю тебе следующее решение: 1. Если у тебя версия php >= 7:
php
   $id = _string(_num($_COOKIE['id'] ?? 0)); $password = _string($_COOKIE['password'] ?? null);  // 22 строчка $id = _string(_num($_GET['id'] ?? 0));   
2. Если у тебя версия php ниже 7, то:
php
   $id = _string(_num(! empty($_COOKIE['id']) ? $_COOKIE['id'] : 0)); $password = _string(! empty($_COOKIE['password']) ? $_COOKIE['password'] : null);  // 22 строчка $id = _string(_num(! empty($_GET['id']) ? $_GET['id'] : 0));   
--- Здесь я добавил проверки на существование этих индексов. Если они есть, то используем их, иначе - присваиваем 0 или пустоту. В таком случае твои условия на основе этих данных буду срабатывать, а php не будет "ругаться".
________
посл. ред. 11.07.2020 в 17:16; всего 3 раз(а); by Yadalay
Yadalay , регистрация прошла ошибки исчезли .
На почему то не видит это
if($user) {
header('location: /game.php');
exit;
}
Потому что у тебя не выполняется условие if ($id && $password), так как данные в cookie ($_COOKIE) отсутствуют. А объявление $user у тебя как раз внутри условия. Ну, или тебе надо использовать не $user, а $ank. Подсказать тут не могу, так как другого кода не вижу.
php
   <? session_start();        error_reporting(1);        if(mysql_connect('localhost','db1594466174','323232')) {          if(mysql_select_db('db1594466174')) {                 mysql_query('SET NAMES UTF8');              }     else     { }    } else {      } ini_set('error_reporting', E_ALL); ini_set('display_errors', 1); ini_set('display_startup_errors', 1); ?>   
Yadalay , У меня файлов то три.
ЮХЛАЙ (11.07.2020 в 18:20)
Yadalay , регистрация прошла ошибки исчезли .
На почему то не видит это
if($user) {
header('location: /game.php');
exit;
}

ты кукам время жизни не указал

if(!$user) {

setCookie('id', '');

setCookie('password', '');

}
php
   <?   function _string($string) {            $string = trim($string);                $string = mysql_real_escape_string($string);            $string = htmlspecialchars($string);      return $string;          } function _num($i) {            $i = (int) abs($i);          return $i;          }  ?>   
php
   <? require ('./sys/connent.php'); require ('./sys/fnc.php'); require ('./sys/users.php'); require ('./sys/h.php');   if($user) {      header('location: /undex.php');     exit;    }   $pas =  rand(1,999999);      $log = rand(1,99999);    $password = md5($pas);   if(mysql_query('INSERT INTO `users` (`login`,`password`, `reg_time`, `exp`, `coin`) VALUEs ("player'.$log.'",         "'.$password.'", "'.time().'", "0", "100")')) {          $id = mysql_insert_id();    $user = mysql_query('SELECT * FROM `users` WHERE `id` = "'.$id.'"');    $user = mysql_fetch_array($user);             setCookie('id', $user['id'], time() + 86400 * 365);    setCookie('password', $password, time() + 86400 * 365);                 header('location: /index.php');    }     ?>   
Four (11.07.2020 в 18:48) ты кукам время жизни не указал if(!$user) { setCookie('id', '');setCookie('password', ''); }
Индефикатор установи! для времени Куки
________
посл. ред. 11.07.2020 в 19:22; всего 1 раз(а); by wearnings
wearnings , а как?)
Онлайн: 7
Время:
Gen. 0.132
(c) Bym.Guru 2010-2026