Обучение/Помощь новичкам | Помогите разобрать ошибки
ЮХЛАЙ , нет куки id, нет куки password, вот notice и выдает
Перевод ошибок: "Неизвестный индекс", а дальше указывает то, что за индекс. $_COOKIE - это массив. Массив представляет из себя набор данных вида "ключ - значение". В данном случае индекс - это и есть ключ. Возвращаясь к твоим проблемам, можно сделать вывод, что в массиве $_COOKIE у тебя нет ни id, ни password, на что php тебе и указывает. Аналогичная ситуация и с 22 строкой, где $_GET. Для быстрого решения (на основе твоего кода) предлагаю тебе следующее решение:
1. Если у тебя версия php >= 7:
2. Если у тебя версия php ниже 7, то:
---
Здесь я добавил проверки на существование этих индексов. Если они есть, то используем их, иначе - присваиваем 0 или пустоту. В таком случае твои условия на основе этих данных буду срабатывать, а php не будет "ругаться".
________
посл. ред. 11.07.2020 в 17:16; всего 3 раз(а); by Yadalay
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($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);
?> У меня файлов то три.
ЮХЛАЙ (11.07.2020 в 18:20)
Yadalay , регистрация прошла ошибки исчезли .
На почему то не видит это
if($user) {
header('location: /game.php');
exit;
}
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', ''); }
ты кукам время жизни не указал if(!$user) { setCookie('id', '');setCookie('password', ''); }
Индефикатор установи! для времени Куки
________
посл. ред. 11.07.2020 в 19:22; всего 1 раз(а); by wearnings
________
посл. ред. 11.07.2020 в 19:22; всего 1 раз(а); by wearnings
wearnings , а как?)