За последние 24 часа нас посетили 17417 программистов и 1287 роботов. Сейчас ищет 1531 программист ...

Ссылки после авторизации

Тема в разделе "PHP и базы данных", создана пользователем ChromeChrome, 14 июл 2013.

  1. ChromeChrome

    ChromeChrome Новичок

    С нами с:
    14 июл 2013
    Сообщения:
    18
    Симпатии:
    0
    Я новичок в php. Подскажите как решить следующую проблему.Необходимо сделать так, чтобы после проверки логина и пароля, пользователю выводилась бы ссылка в соответствии с его id, который хранится в базе . Например, если пользователь имеет id в базе 1, то ему выводятся одна ссылка, если id 3 то другая.Подскажите пожалуйста!!!
    Код (Text):
    1.  
    2.           if ($myrow['password']==$password) {
    3.           //если пароли совпадают, то используем пользователю сессию
    4.           $_SESSION['login']=$myrow['login'];
    5.           $_SESSION['id']=$myrow['id'];//эти данные очень часто используются,то их и будет использовать вошедший пользователь постоянно
    6.     if($_SESSION['id']=1)
    7.         {echo "Вы вошли на сайт, как ".$_SESSION['login']."<br><a href='test1.php'>стр1</a>";}
    8.     if($_SESSION['id']=3)
    9.         {echo "Вы вошли на сайт, как ".$_SESSION['login']."<br><a href='test2.php'>стр2</a>";}
    10.           }
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Ну для начала надо базу данных создать.
    Потом - подключиться к ней.
    И сделать запрос.
     
  3. ChromeChrome

    ChromeChrome Новичок

    С нами с:
    14 июл 2013
    Сообщения:
    18
    Симпатии:
    0
    Базу я создал, подключился воть таким способом
    Код (Text):
    1. <?php
    2. $db = mysql_connect ("localhost","root","");
    3. mysql_select_db ("users",$db);
    4. ?>
    Я так понял, надо написать запрос к базе на выборку id?
    Код (Text):
    1. $result = mysql_query("SELECT * FROM users WHERE id >='1",$db);
    2. $myrow = mysql_fetch_array($result);
    А дальше что надо добавить чтобы заработало?
     
  4. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.794
    Симпатии:
    1.330
    Адрес:
    Лень
    $result = mysql_query("SELECT * FROM users WHERE id >='1", $db); // а где тогда $логин и $пароль? потерял переменные?
    $myrow = mysql_fetch_array($result);
    if ($myrow['password']==$password) { // во вижу $пароль
    $_SESSION['login']=$myrow['login'];
    $_SESSION['id']=$myrow['id'];
    echo "Вы вошли на сайт, как ".$_SESSION['login']."<br><a href='test".$_SESSION['id'].".php'>стр".$_SESSION['id']."</a>";
    }

    Добавлено спустя 53 секунды:
    не забудь про session_start()
     
  5. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    просто равно и ты забыл одну кавычку
     
  6. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.794
    Симпатии:
    1.330
    Адрес:
    Лень
    тоесть гость захотел авторизоваться, вбил ид и зареган ? о.о
     
  7. ChromeChrome

    ChromeChrome Новичок

    С нами с:
    14 июл 2013
    Сообщения:
    18
    Симпатии:
    0
    Эх запутался, помогите!! Хочу сделать так, чтобы после того ,как пользователь вошел в систему, у него появлялась сылка в зависимости от его id
    Воть
    Код (Text):
    1. <?php
    2. session_start();
    3.  
    4. if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} }
    5. if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} }
    6. if (empty($login) or empty($password))
    7. {
    8. exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!");
    9. }
    10. $login = stripslashes($login);
    11. $login = htmlspecialchars($login);
    12.  
    13. $password = stripslashes($password);
    14. $password = htmlspecialchars($password);
    15.  
    16. $login = trim($login);
    17. $password = trim($password);
    18.  
    19. include ("bd.php");
    20. $result = mysql_query("SELECT * FROM users WHERE login='$login'",$db);
    21. $myrow = mysql_fetch_array($result);
    22. if (empty($myrow['password']))
    23. {
    24. exit ("Извините, введённый вами логин или пароль неверный.");
    25. }
    26. else {
    27.           if ($myrow['password']==$password) {
    28.           $_SESSION['login']=$myrow['login'];
    29.           $_SESSION['id']=$myrow['id'];
    30.             $sql1 = mysql_query("SELECT * FROM users WHERE id ='1'",$db);
    31.             $a1 = mysql_fetch_assoc($sql1);
    32.             $sql2 = mysql_query("SELECT * FROM users WHERE id ='2'",$db);
    33.             $a2 = mysql_fetch_assoc($sql2);
    34.             if($a1>1)
    35.             {echo "Вы вошли на сайт, как ".$_SESSION['login']."<br><a href='world1.php'>Cтраница</a>";}
    36.             if($a2>2)
    37.             {echo "Вы вошли на сайт, как ".$_SESSION['login']."<br><a href='world2.php'>Главная страница</a>";}
    38.        else {
    39.        exit ("Извините, введённый вами логин или пароль неверный.");
    40.        }
    41.        }
    42. }
    43. ?>
     
  8. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.794
    Симпатии:
    1.330
    Адрес:
    Лень
    вау теперь все видно. лишнее написал.

    Добавлено спустя 4 минуты 35 секунд:
    Код (PHP):
    1. <?php
    2.  
    3. if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} } 
    4. if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} }
    5. if (empty($login) or empty($password))
    6. {
    7. exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!");
    8. }
    9. $login = stripslashes($login);
    10. $login = htmlspecialchars($login);
    11.  
    12. $password = stripslashes($password);
    13. $password = htmlspecialchars($password);
    14.  
    15. $login = trim($login);
    16. $password = trim($password);
    17.  
    18. include ("bd.php");
    19. $result = mysql_query("SELECT * FROM users WHERE login='$login'",$db); 
    20. $myrow = mysql_fetch_array($result);
    21. if (empty($myrow['password'])) {
    22.     exit ("Извините, введённый вами логин или пароль неверный.");
    23. } else {
    24.     $_SESSION['login']=$myrow['login']; 
    25.     $_SESSION['id']=$myrow['id'];
    26.     echo "Вы вошли на сайт, как ".$_SESSION['login']."<br><a href='world".$myrow['id'].".php'>Cтраница</a>";} 
    27. }
    28. ?>
    Добавлено спустя 2 минуты 38 секунд:
    вот с этим не ясно. Если админ заходит то ему "страница" а гостям всем остальным "главная стр" ?
     
  9. ChromeChrome

    ChromeChrome Новичок

    С нами с:
    14 июл 2013
    Сообщения:
    18
    Симпатии:
    0
    ну для начала я хотел забацать так)), а потом уже написать по серьёзней
     
  10. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
  11. ChromeChrome

    ChromeChrome Новичок

    С нами с:
    14 июл 2013
    Сообщения:
    18
    Симпатии:
    0
    Подскажите пожалуйста, как это замутить !!
     
  12. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ну чтобы войти, надо знать id
     
  13. Yudzhin_86

    Yudzhin_86 Новичок

    С нами с:
    23 окт 2020
    Сообщения:
    2
    Симпатии:
    0
    @ChromeChrome Добрый день! Если у Вас получилось, помогите мне.
    Необходимо сделать так, чтобы после проверки логина и пароля, пользователю выводилась бы ссылка в соответствии с его паролем, который хранится в базе . Например, если пользователь имеет пароль в базе 1111, то ему выводятся одна ссылка -1, если пароль 2222 то ссылка -2.
    PHP:
    1. <?php
    2. session_start();// вся процедура работает на сессиях. Именно в ней хранятся данные пользователя, пока он находится на сайте. Очень важно запустить их в самом начале странички!!!
    3. if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} } //заносим введенный пользователем логин в переменную $login, если он пустой, то уничтожаем переменную
    4. if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} }
    5. //заносим введенный пользователем пароль в переменную $password, если он пустой, то уничтожаем переменную
    6. if (empty($login) or empty($password)) //если пользователь не ввел логин или пароль, то выдаем ошибку и останавливаем скрипт
    7. {
    8. exit ("Вы ввели не всю информацию, венитесь назад и заполните все поля!");
    9. }
    10. //если логин и пароль введены,то обрабатываем их, чтобы теги и скрипты не работали, мало ли что люди могут ввести
    11. $login = stripslashes($login);
    12. $login = htmlspecialchars($login);
    13. $password = stripslashes($password);
    14. $password = htmlspecialchars($password);
    15. //удаляем лишние пробелы
    16. $login = trim($login);
    17. $password = trim($password);
    18. // подключаемся к базе
    19. include ("bd.php");// файл bd.php должен быть в той же папке, что и все остальные, если это не так, то просто измените путь
    20. $result = mysqli_query($db, "SELECT * FROM users WHERE login='$login'"); //извлекаем из базы все данные о пользователе с введенным логином
    21. $myrow = mysqli_fetch_array($result);
    22. if (empty($myrow['password']))
    23. {
    24. //если пользователя с введенным логином не существует
    25. exit ("Извините, введённый вами логин или пароль неверный.");
    26. }
    27. else {
    28. //если существует, то сверяем пароли
    29.           if ($myrow['password']==$password) {
    30.           //если пароли совпадают, то запускаем пользователю сессию! Можете его поздравить, он вошел!
    31.             $sql1 = mysqli_query("SELECT * FROM users WHERE password ='1111'",$db);
    32.             $a1 = mysqli_fetch_assoc($sql1);
    33.             $sql2 = mysqli_query("SELECT * FROM users WHERE password ='2222'",$db);
    34.             $a2 = mysqli_fetch_assoc($sql2);
    35.             if($a1>1)
    36.             {echo "Вы вошли на сайт, как ".$_SESSION['login']."<br><a href='Публикации/start.htm'>ЛС КА</a>";}
    37.             if($a2>2)
    38.             {echo "Вы вошли на сайт, как ".$_SESSION['login']."<br><a href='Публикации/start.htm'>ИТС КА</a>";}
    39.        else {
    40.        //если пароли не сошлись
    41.        exit ("Извините, введённый вами логин или пароль неверный.");
    42.    
    43. }
    44. ?>
     
  14. Yudzhin_86

    Yudzhin_86 Новичок

    С нами с:
    23 окт 2020
    Сообщения:
    2
    Симпатии:
    0
    @igordata Добрый день! Помогите мне.
    Необходимо сделать так, чтобы после проверки логина и пароля, пользователю выводилась бы ссылка в соответствии с его паролем, который хранится в базе . Например, если пользователь имеет пароль в базе 1111, то ему выводятся одна ссылка -1, если пароль 2222 то ссылка -2.
    PHP:
    1. <?php
    2. session_start();// вся процедура работает на сессиях. Именно в ней хранятся данные пользователя, пока он находится на сайте. Очень важно запустить их в самом начале странички!!!
    3. if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} } //заносим введенный пользователем логин в переменную $login, если он пустой, то уничтожаем переменную
    4. if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} }
    5. //заносим введенный пользователем пароль в переменную $password, если он пустой, то уничтожаем переменную
    6. if (empty($login) or empty($password)) //если пользователь не ввел логин или пароль, то выдаем ошибку и останавливаем скрипт
    7. {
    8. exit ("Вы ввели не всю информацию, венитесь назад и заполните все поля!");
    9. }
    10. //если логин и пароль введены,то обрабатываем их, чтобы теги и скрипты не работали, мало ли что люди могут ввести
    11. $login = stripslashes($login);
    12. $login = htmlspecialchars($login);
    13. $password = stripslashes($password);
    14. $password = htmlspecialchars($password);
    15. //удаляем лишние пробелы
    16. $login = trim($login);
    17. $password = trim($password);
    18. // подключаемся к базе
    19. include ("bd.php");// файл bd.php должен быть в той же папке, что и все остальные, если это не так, то просто измените путь
    20. $result = mysqli_query($db, "SELECT * FROM users WHERE login='$login'"); //извлекаем из базы все данные о пользователе с введенным логином
    21. $myrow = mysqli_fetch_array($result);
    22. if (empty($myrow['password']))
    23. {
    24. //если пользователя с введенным логином не существует
    25. exit ("Извините, введённый вами логин или пароль неверный.");
    26. }
    27. else {
    28. //если существует, то сверяем пароли
    29.           if ($myrow['password']==$password) {
    30.           //если пароли совпадают, то запускаем пользователю сессию! Можете его поздравить, он вошел!
    31.             $sql1 = mysqli_query("SELECT * FROM users WHERE password ='1111'",$db);
    32.             $a1 = mysqli_fetch_assoc($sql1);
    33.             $sql2 = mysqli_query("SELECT * FROM users WHERE password ='2222'",$db);
    34.             $a2 = mysqli_fetch_assoc($sql2);
    35.             if($a1>1)
    36.             {echo "Вы вошли на сайт, как ".$_SESSION['login']."<br><a href='Публикации/start.htm'>ЛС КА</a>";}
    37.             if($a2>2)
    38.             {echo "Вы вошли на сайт, как ".$_SESSION['login']."<br><a href='Публикации/start.htm'>ИТС КА</a>";}
    39.        else {
    40.        //если пароли не сошлись
    41.        exit ("Извините, введённый вами логин или пароль неверный.");
    42.  
    43. }
    44. ?>