За последние 24 часа нас посетил 17721 программист и 1655 роботов. Сейчас ищут 896 программистов ...

Как реализовать авторизацию с помощью базы данных

Тема в разделе "PHP и базы данных", создана пользователем Анастасия333, 1 май 2014.

  1. Анастасия333

    Анастасия333 Новичок

    С нами с:
    1 май 2014
    Сообщения:
    36
    Симпатии:
    0
    Здравствуйте!Для начала я создала базу данных в phpmyadmin. И таблицу,в которой у меня хранятся логин,пароль,имя пользователя. Написала систему авторизации.все прекрасно.Но как сделать привязку,чтобы я вводила логин и пароль и выводилась страница только с данными этого пользователя?Опять же считанной с этой базы данных.
    Код (Text):
    1.  
    2. <?
    3. $HOST = 'localhost';
    4. $USERS = 'root';
    5. $PASS = '';
    6. $DB = 'jornal';
    7. $NAME = $_POST['NAME'];
    8. $pass = $_POST['pass'];
    9. $db = mysql_connect ($HOST,$USERS,$PASS) or die ("NOT CONNECTED");
    10. mysql_select_db($DB);
    11. $sl = mysql_query("SELECT * FROM teacher WHERE loginTeacher=\"$NAME\" AND passwordTeacher=\"$pass\"");
    12. if(mysql_num_rows($sl)>0) {echo"Мы вошли в систему";}
    13. if(mysql_num_rows($sl)<1) {echo"Мы не вошли в систему";}
    14.  
    15. ?>
     
  2. jah

    jah Новичок

    С нами с:
    27 апр 2014
    Сообщения:
    5
    Симпатии:
    0
    если приведённое решение с привязкой пользовательских данных в базе данных к имени пользователя (пароль излишен, так как соединение идёт от имени root всегда, достаточно проверять является ли пользователь тем самым, а никем другим) не является решением, то вопрос не понятен
     
  3. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    А еще код уязвим для SQL-инъекций.
     
  4. Анастасия333

    Анастасия333 Новичок

    С нами с:
    1 май 2014
    Сообщения:
    36
    Симпатии:
    0
    jah, не поняла что вы хотели сказать. Просто у меня в базе имеется несколько пользователей.И у каждого пользователя будут свои данные ,которые после авторизации должны выводится.В данном моем примере ,после того как введен логин и пароль из базы,выводит
    Код (Text):
    1. {echo"Мы вошли в систему";}
    а как сделать чтобы он перебрасывал на страницу именно того пользователя.(Ведь информация у каждого своя) Просто пытаюсь реализовать электронный журнал преподавателя.
     
  5. jah

    jah Новичок

    С нами с:
    27 апр 2014
    Сообщения:
    5
    Симпатии:
    0
    да, я также до сих пор не понимаю о чём речь :)

    судя по коду и как правильно, пользователь один - root, пользовательские данные помечены в каждой строке - чьи (такого-то пользователя, id или его имя (лучше id)), проверили кто, отдали каждому своё

    что значит перебрасывал на страницу своего пользователя?
    если для каждого заведена своя страница, то достаточно проверить по логину и паролю кто это и дальше отдать свою страницу

    авторизовать пользователя, как, на мой взгляд, правильно посоветовали http://phpforum.ru/index.php?showtopic=81268 лучше один раз, и сохранять информацию об этом в сессии, далее уже не проверять через базу кто это, а брать информацию из переменных сессии
    так или иначе, проверять каждый раз кто это, всё равно придётся, проверка - сравнение присланных данных с теми, что уже сохранены, совпали - авторизован, то есть имеет права на такие-то действия