Вы хотите научиться или получить решение?
Если вы хотите учится, то подсказываю вам один лайфхак
В
САМОМ начале файлов размещать вот такой код
PHP:
<?
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
?>
Этот код будет выводить на экран
ВСЕ PHP ошибки.
Со временем вы научитесь их сразу понимать, а до тех пор их можно загуглить или тут спросить.
Разумеется в будущем, когда вы будете выкладывать проект для всеобщего пользования, вывод ошибок надо наоборот запретить или выводить в файл. Но это уже другая история, которую вы узнаете позже.
Вы начали изучение немного не от туда. Изучение взаимодействия с БД надо начинать вторым этапом. Вы не научились даже элементарному синтаксису PHP. Поэтому вас сложно понять многое. Если уж начали, то уроков по написанию АВТОРИЗАЦИИ много, рекомендую парочку прочитать для начала.
Значит что-то не так делаете.
Кто он? У вас код берёт ID из БД. Чтобы писать программу надо продумать сначала алгоритм действий, что за чем идёт. Без этого у вас ничего не получится.
Я вам напишу код (примерный), но от этого вы ничего не научитесь, вы даже не понимаете, как ID из базы привязать к переменной.
PHP:
<?
// Активируем вывод всех ошибок
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
// Проверяем наличие в куки или в переменной username переданной из формы при авторизации
if( isset($_COOKIE['username'] || isset($_GET["username"]) ){
if(isset($_COOKIE['username']){ // Если имя в куке, то привязываем её
$name = $_COOKIE['username'];
}else{ // Или привязываем из GET
$name = $_GET["username"];
}
$name = htmlspecialchars($name); // Добавим хоть какую-то защиту
$mysqli = new mysqli("localhost", "my_user", "my_password", "lesson"); // подключаемся к DB, если этого не делали
$result = mysqli_query("SELECT user_id FROM signup WHERE username='$name' limit 1"); // Ищем в БД
$value = mysqli_fetch_object($result); // Фильтруем полученные данные, чтобы PHP понимал
/* Тут надо бы ещё пароль проверить, но это уже другая история */
$id = $value->user_id; // заносим в переменную
if( !empty($id) ){ // проверяем не пустая ли переменная, вдруг ID не нашёлся
/* тут надо бы сохранить куку, но это тоже другая история */
header('Location: /profile.php?id=' . $id); // делаем желаемый редирект
exit; // надо чтобы принудительно остановить выполнение кода и не писать else
}
// дальше пойдёт код, если ID не найден
}
//далее уже ваш код вывода формы авторизации
?>
<html><head>....