Просмотров: 75171

Как сделать страницу с логином и паролем

Закрыть ... [X]

@BoyStyle

7 / 7 / 1

Регистрация: 24.02.2014

Сообщений: 306

Завершенные тесты: 1

12.05.2015, 11:06 #10 Принцип работы скрипта изображен ниже.
Как сделать при входе на сайт запрос логина и пароля?
1. Начнем с создания таблички users в базе. Она будет содержать данные пользователя (логин и пароль). Зайдем в phpmyadmin (если вы создаете базу на своем ПК http://localhost/phpmyadmin/). Создаем таблицу users, в ней будет 3 поля.
Название: 444.gif Просмотров: 217 Размер: 5.4 Кб
Далее устанавливаем значения, как на рисунке:
Как сделать при входе на сайт запрос логина и пароля?
Нажимаем "сохранить". Итак, таблица у нас есть.
2. Необходимо соединение с этой таблицей. Давайте создадим файл bd.php. Его содержание:
PHP 1 2 3 4 <?php $db = mysql_connect ("ваш MySQL сервер","логин к этому серверу","пароль к этому серверу"); mysql_select_db ("имя базы, к которой подключаемся",$db); ?> Теперь можно приступать к созданию странички, на которой пользователи будут оставлять свои данные.
3. Создаем файл reg.php с содержанием (все комментарии внутри):
PHP 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 <html> <head> <title>Регистрация</title> </head> <body> <h2>Регистрация</h2> <form action="save_user.php" method="post"> <!-- save_user.php - это адрес обработчика. То есть, после нажатия на кнопку "Зарегистрироваться", данные из полей отправятся на страничку save_user.php методом "post" --> <p> <label>Ваш логин:<br></label> <input name="login" type="text" size="15" maxlength="15"> </p> <!-- В текстовое поле (name="login" type="text") пользователь вводит свой логин --> <p> <label>Ваш пароль:<br></label> <input name="password" type="password" size="15" maxlength="15"> </p> <!-- В поле для паролей (name="password" type="password") пользователь вводит свой пароль --> <p> <input type="submit" name="submit" value="Зарегистрироваться"> <!-- Кнопочка (type="submit") отправляет данные на страничку save_user.php --> </p></form> </body> </html> 4. Создаем файл, который будет заносить данные в базу и сохранять пользователя. save_user.php(комментарии внутри):
PHP 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 <?php if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} } //заносим введенный пользователем логин в переменную $login, если он пустой, то уничтожаем переменную if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} } //заносим введенный пользователем пароль в переменную $password, если он пустой, то уничтожаем переменную if (empty($login) or empty($password)) //если пользователь не ввел логин или пароль, то выдаем ошибку и останавливаем скрипт { exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!"); } //если логин и пароль введены, то обрабатываем их, чтобы теги и скрипты не работали, мало ли что люди могут ввести $login = stripslashes($login); $login = htmlspecialchars($login); $password = stripslashes($password); $password = htmlspecialchars($password); //удаляем лишние пробелы $login = trim($login); $password = trim($password); // подключаемся к базе include ("bd.php");// файл bd.php должен быть в той же папке, что и все остальные, если это не так, то просто измените путь // проверка на существование пользователя с таким же логином $result = mysql_query("SELECT id FROM users WHERE login='$login'",$db); $myrow = mysql_fetch_array($result); if (!empty($myrow['id'])) { exit ("Извините, введённый вами логин уже зарегистрирован. Введите другой логин."); } // если такого нет, то сохраняем данные $result2 = mysql_query ("INSERT INTO users (login,password) VALUES('$login','$password')"); // Проверяем, есть ли ошибки if ($result2=='TRUE') { echo "Вы успешно зарегистрированы! Теперь вы можете зайти на сайт. <a href='index.php'>Главная страница</a>"; } else { echo "Ошибка! Вы не зарегистрированы."; } ?> 5. Теперь наши пользователи могут регистрироваться! Далее необходимо сделать "дверь" для входа на сайт уже зарегистрированным пользователям. index.php (комментарии внутри) :
PHP 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 <?php // вся процедура работает на сессиях. Именно в ней хранятся данные пользователя, пока он находится на сайте. Очень важно запустить их в самом начале странички!!! session_start(); ?> <html> <head> <title>Главная страница</title> </head> <body> <h2>Главная страница</h2> <form action="testreg.php" method="post"> <!-- testreg.php - это адрес обработчика. То есть, после нажатия на кнопку "Войти", данные из полей отправятся на страничку testreg.php методом "post" --> <p> <label>Ваш логин:<br></label> <input name="login" type="text" size="15" maxlength="15"> </p> <!-- В текстовое поле (name="login" type="text") пользователь вводит свой логин --> <p> <label>Ваш пароль:<br></label> <input name="password" type="password" size="15" maxlength="15"> </p> <!-- В поле для паролей (name="password" type="password") пользователь вводит свой пароль --> <p> <input type="submit" name="submit" value="Войти"> <!-- Кнопочка (type="submit") отправляет данные на страничку testreg.php --> <br> <!-- ссылка на регистрацию, ведь как-то же должны гости туда попадать --> <a href="reg.php">Зарегистрироваться</a> </p></form> <br> <?php // Проверяем, пусты ли переменные логина и id пользователя if (empty($_SESSION['login']) or empty($_SESSION['id'])) { // Если пусты, то мы не выводим ссылку echo "Вы вошли на сайт, как гость<br><a href='#'>Эта ссылка доступна только зарегистрированным пользователям</a>"; } else { // Если не пусты, то мы выводим ссылку echo "Вы вошли на сайт, как ".$_SESSION['login']."<br><a href='http://tvpavlovsk.sk6.ru/'>Эта ссылка доступна только зарегистрированным пользователям</a>"; } ?> </body> </html> В файле index.php мы выведем ссылочку, которая будет открыта только для зарегистрированных пользователей. В этом и заключается вся суть скрипта - ограничить доступ к каким-либо данным.
6. Остался файл с проверкой введенного логина и пароля. testreg.php (комментарии внутри):
PHP 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 <?php session_start();// вся процедура работает на сессиях. Именно в ней хранятся данные пользователя, пока он находится на сайте. Очень важно запустить их в самом начале странички!!! if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} } //заносим введенный пользователем логин в переменную $login, если он пустой, то уничтожаем переменную if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} } //заносим введенный пользователем пароль в переменную $password, если он пустой, то уничтожаем переменную if (empty($login) or empty($password)) //если пользователь не ввел логин или пароль, то выдаем ошибку и останавливаем скрипт { exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!"); } //если логин и пароль введены,то обрабатываем их, чтобы теги и скрипты не работали, мало ли что люди могут ввести $login = stripslashes($login); $login = htmlspecialchars($login); $password = stripslashes($password); $password = htmlspecialchars($password); //удаляем лишние пробелы $login = trim($login); $password = trim($password); // подключаемся к базе include ("bd.php");// файл bd.php должен быть в той же папке, что и все остальные, если это не так, то просто измените путь $result = mysql_query("SELECT FROM users WHERE login='$login'",$db); //извлекаем из базы все данные о пользователе с введенным логином $myrow = mysql_fetch_array($result); if (empty($myrow['password'])) { //если пользователя с введенным логином не существует exit ("Извините, введённый вами login или пароль неверный."); } else { //если существует, то сверяем пароли if ($myrow['password']==$password) { //если пароли совпадают, то запускаем пользователю сессию! Можете его поздравить, он вошел! $_SESSION['login']=$myrow['login']; $_SESSION['id']=$myrow['id'];//эти данные очень часто используются, вот их и будет "носить с собой" вошедший пользователь echo "Вы успешно вошли на сайт! <a href='index.php'>Главная страница</a>"; } else { //если пароли не сошлись exit ("Извините, введённый вами login или пароль неверный."); } } ?> Собственно всё.
Информация взята с какого-то сайта в интернете. Автором не являюсь! (с)

1


Источник: http://www.cyberforum.ru/php-beginners/thread1443800.html

Похожие новости


Как сделать и выложить его в ютуб
Метро самодельное
Рисовать лицо человека карандашом поэтапно для начинающих
Фурункул лечение в домашних условиях
Как сделать все оригами в мире
Как сделали революцию 1917
Заточка для ножей своими руками чертежи и размеры
Чем поднять кровяное давление в домашних условиях



ШОКИРУЮЩИЕ НОВОСТИ