За последние 24 часа нас посетили 16046 программистов и 1544 робота. Сейчас ищут 887 программистов ...

Разные страницы профилей

Тема в разделе "PHP для новичков", создана пользователем ink_pain, 23 авг 2018.

  1. ink_pain

    ink_pain Новичок

    С нами с:
    22 авг 2018
    Сообщения:
    6
    Симпатии:
    0
    Сессия стартует вместе с подключением к базе.
    Пытаюсь сделать чтобы для пользователя 123 выдавало страницу prof1.php, а для пользователя 1234 другую, если пользователь вообще не залогинен, то переводило на страницу авторизации

    Код (Text):
    1. <?php
    2.     require "include/db.php";
    3.   $asuser = $_SESSION['logged_user'];
    4. if($asuser = 123) {
    5.      header('location: prof.php');
    6. }
    7. elseif ($asuser = 1234){
    8.     header('location: 2.php');
    9. }
    10. else {
    11. header('location: 3.php');
    12. }
    13. ?>
    вот такой код сделал, но под любым пользователем я попадаю на prof.php, а если вообще не залогинен то браузер выдает такую ошибку:
    Код (Text):
    1. Сайт xxxxxxx.ru выполнил переадресацию слишком много раз.
    2. Удалите файлы cookie..
    3. ERR_TOO_MANY_REDIRECTS
     
  2. ElisDN

    ElisDN Активный пользователь

    С нами с:
    13 фев 2018
    Сообщения:
    605
    Симпатии:
    130
  3. ink_pain

    ink_pain Новичок

    С нами с:
    22 авг 2018
    Сообщения:
    6
    Симпатии:
    0
    Код (Text):
    1. if($asuser == 123) {
    2.      header('location: prof.php');
    3. }
    4. elseif ($asuser == 1234){
    5.     header('location: 2.php');
    типо так? Если да, то тоже не помогло
     
  4. villiwalla

    villiwalla Активный пользователь

    С нами с:
    14 дек 2016
    Сообщения:
    471
    Симпатии:
    70
    в 4-й строке вы присваиваете значение переменной, что в итого приводит к true так каждый раз когда происходит перенаправление. Используйте операторы сравнения https://php.ru/manual/language.operators.comparison.html
    --- Добавлено ---
    Что же там может не работать?
    PHP:
    1. $asuser = $_SESSION['logged_user'] ?? false;
    2.  
    3. if($asuser == 123) {
    4.     echo 'profile: '.$asuser;
    5. }
    6. elseif ($asuser == 1234){
    7.     echo 'profile: '. $asuser;
    8. }
    9. else {
    10.     echo 'Not login';
    11. }
     
  5. yanuzay

    yanuzay Активный пользователь

    С нами с:
    28 мар 2018
    Сообщения:
    503
    Симпатии:
    58
    в сессии наверно 123 значение и не меняется