у меня на сайте есть авторизация,регистрация я хочу сделать профили юзеров есть такой код:
<?php
session_start();
require_once("config.php");
if (isset($_GET['id'])) {$id =$_GET['id']; }
else
{ exit("invalid");}
if (!preg_match("|^[\d]+$|", $id)) {
exit("<p>Неверный формат запроса! Проверьте URL</p>");
}
if (!empty($_SESSION['login']) and !empty($_SESSION['password']))
{
$login = $_SESSION['login'];
$password = $_SESSION['password'];
$result2 = mysql_query("SELECT id FROM users WHERE login='$login' AND password='$password'",$db);
$myrow2 = mysql_fetch_array($result2);
if (empty($myrow2['id']))
{
exit("Вход на эту страницу разрешен только зарегистрированным пользователям! Код ошибки: 0");
}
else {
exit("Вход на эту страницу разрешен только зарегистрированным пользователям! Код ошибки: 1");
}
}
$id = $_GET['id'];
$my = $_GET['login'];
$result = mysql_query("SELECT * FROM users WHERE id='$id'",$db);
$myrow = mysql_fetch_array($result);
if (empty($myrow['login'])) { exit("Пользователя не существует! Возможно он был удален.");}
?>
Он работает но только для владельца страницы (id 2) /profile.php?id=2 когда я пишу (id 1) /profile.php?id=1 выводится совсем не то что я хочу, а выводится Привет, Username! вместо Ты попал на страницу Username!
<?php
if ($myrow['login']) {
echo "Привет, Username!";
}
else {
echo "Ты попал на страницу Username!";
}
?>
$_SESSION- это переменная сервера, в ней достаточно будет хранить ID пользователя и проверять, есть ли значение ID в сессии для авторизации.$id =$_GET['id'];дублируется.. preg_match будет лишним ну и тд.. проверка методомemptyне логична.. mysql_query устарел) даже боюсь предположить что пошло не так – Jour Aug 31 '22 at 19:41var_dump($myrow);и посмотрите что выдает – Jour Aug 31 '22 at 19:45$myrow[0]['login']но стоит убедится что переменная вообще что-то в себе содержит) Я больше юзаю print_r))) – Jour Aug 31 '22 at 19:47if ($myrow['id'] == $myrow2['id']) {возможно так) + рекомендую заменитьmysql_fetch_arrayнаmysql_fetch_assocне будет значений по индексам) – Jour Aug 31 '22 at 19:55