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 , а как?)
Онлайн: 3
Время:
Gen. 0.112
(c) Bym.Guru 2010-2026