@Ivan765

Не работает система профилей?

Здравствуйте! Пытался сделать профили пользователей, с разделением хозяин\просматривающий.Но когда вбиваешь ссылку типа profile.php?id=4 то выводится тот же самый профиль который, зарегестрировал пользователь,и в роли хозяина.Как это исправить?
session_start();
require 'rb-mysql.php';
R::setup( 'mysql:host=localhost;dbname=receptach_bd',
        'root', '' );
$enter_id = (int)$_GET['id'];
$account_name = $_SESSION['name'];
if($enter_id < 1){
    echo '<div class="notification error">Неверный формат ввода</div>';
}elseif($enter_id !== 'id'){
    echo '<div class="notification error">Неверный формат ввода</div>';
}else{
    $user_id = R::findOne('users', 'id = ?', [$enter_id]);
    if($user_id){
        $username = R::findOne('users', 'name = ?', [$account_name]);
    }else{
        echo '<div class="notification error">Пользователь не найден</div>';
    }
}

И в разметке:
<? if($user_name){?>
        <div class = "user_info">
            <div class = "avatar"></div>
            <h1 class = "name"><?php echo $user_name ?></h1>
            <h3 class = "likes"><? echo 'Ты залётный сыч' ?></h3>
        <? }elseif($account_name = $_SESSION['name']){?>
            <div class = "avatar"></div>
            <h1 class = "name"><?php echo $account_name ?></h1>
            <h3 class = "likes"><? echo 'Вы хозяин' ?></h3>
            <? }?>

Все это в одном файле profile.php
И ещё постоянно выводится ошибка,хотя id я даже не ввел,или я что-то путаю?
  • Вопрос задан
  • 52 просмотра
Пригласить эксперта
Ответы на вопрос 1
grisha_sychev
@grisha_sychev
Developer PHP, Symfony
Приветствую, не знаю как у вас там написаны классы, полагаю, что дело в том что вы не правильно сделали сравнение, вместо '=' нужно было указать '===' , речь про второй блок.

<? if($user_name):?>
        <div class = "user_info">
            <div class = "avatar"></div>
            <h1 class = "name"><?= $user_name ?></h1>
            <h3 class = "likes"><?= 'Ты залётный сыч' ?></h3>
        <? elseif($account_name === $_SESSION['name']): ?>
            <div class = "avatar"></div>
            <h1 class = "name"><?= $account_name ?></h1>
            <h3 class = "likes"><?= 'Вы хозяин' ?></h3>
        <? endif;?>


Вообще, рекомендую смотреть ошибки, там явно указана строка ошибки.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы