Как сделать html коды для сайта


Как сделать html коды для сайта

Как сделать html коды для сайта

Как сделать html коды для сайта



Иногда на сайте часть контента или скачивание каких-либо файлов нужно сделать доступным, только для зарегистрированных пользователей. И тут встает вопрос: «Как же осуществить регистрацию пользователей на сайте?». На самом деле все не так уж и сложно, как кажется. Вся работа будет состоять из двух шагов. В первой части мы сделаем регистрацию пользователей, а во второй осуществим вход зарегистрированных пользователей на сайт.
Для начала мы создадим главную страницу index.php, на которой у нас будет отображаться форма для входа (о ней поговорим чуть позже, пока просто ее создадим) и на ней будет ссылка на страницу регистрации нового пользователя:

Вход:
<br>
<br>
 
<form action="login.php" method="POST"><table>
<tr>
<td>Логин:</td>
<td><input type="text" name="login"></td>
</tr>
<tr>
<td>Пароль:</td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="Войти" name="submit"></td>
</tr>
</table></form>
<a href="registration.php">Регистрация</a>

При нажатии на ссылку Регистрация пользователь попадает на страницу registration.php, на которой будет находиться форма для ввода всех необходимых данных при регистрации и выглядеть она будет примерно так:

<form action="verification.php" method="POST">
<table>
<tr>
<td>Логин<font color="red"></font>:</td>
<td><input type="text" size="20" name="login"></td>
</tr>
<tr>
<td>Пароль<font color="red"></font>:</td>
<td><input type="password" size="20" maxlength="20" name="password"></td>
</tr>
<tr>
<td>Подтверждения пароля<font color="red"></font>:</td>
<td><input type="password" size="20" maxlength="20" name="password2"></td>
</tr>
<tr>
<td>E-mail<font color="red"></font>:</td>
<td><input type="text" size="20" name="email"></td>
</tr>
<tr>
<td>Имя:</td>
<td><input type="text" size="20" name="name"></td>
</tr>
<tr>
<td>Фамилия:</td>
<td><input type="text" size="20" name="lastname"></td>
</tr>
<tr>
<td></td>
<td colspan="2"><input type="submit" value="Зарегистроваться" name="submit">
</td>
</tr>
</table>
</form>
<br>Поля со значком <font color="red"></font> обязательны для заполнения

В этой форме пользователь вводит логин, пароль, email и при желании имя и фамилию, после чего все эти данные отправляются обработчику verification.php. В нем будет происходить проверки данных и в случае удачи заносится в базу данных. После этого пользователь будет считатся зарегистрированным. Теперь рассмотрим, как же устроен обработчик verification.php

<?php
include_once("bd.php");
if (isset($_POST['submit'])){
    if(empty($_POST['login']))  {
    echo '<br><font color="red"><img border="0" src="error.gif" alt="Введите логин"> Введите логин!</font>';
}
elseif (!preg_match("/^\w{3,}$/", $_POST['login'])) {
echo '<br><font color="red"><img border="0" src="error.gif" alt="В поле "Логин" введены недопустимые символы!">В поле "Логин" введены недопустимые символы! Только буквы, цифры и подчеркивание!</font>';
}
elseif(empty($_POST['password'])) {
echo '<br><font color="red"><img border="0" src="error.gif" alt="Введите пароль !">Введите пароль!</font>';
}
elseif (!preg_match("/\A(\w){6,20}\Z/", $_POST['password'])) {
echo '<br><font color="red"><img border="0" src="error.gif" alt="Пароль слишком короткий!">Пароль слишком короткий! Пароль должен быть не менее 6 символов! </font>';
}
elseif(empty($_POST['password2'])) {
echo '<br><font color="red"><img border="0" src="error.gif" alt="Введите подтверждение пароля!">Введите подтверждение пароля!</font>';
}
elseif($_POST['password'] != $_POST['password2']) {
echo '<br><font color="red"><img border="0" src="error.gif" alt="Введенные пароли не совпадают!">Введенные пароли не совпадают!</font>';
}
elseif(empty($_POST['email'])) {
echo '<br><font color="red"><img border="0" src="error.gif" alt="Введите E-mail!">Введите E-mail! </font>';
}
elseif (!preg_match("/^[a-zA-Z0-9_\.\-]+@([a-zA-Z0-9\-]+\.)+[a-zA-Z]{2,6}$/", $_POST['email'])) {
echo '<br><font color="red"><img border="0" src="error.gif" alt="E-mail имеет недопустимий формат!">E-mail имеет недопустимий формат! Например, ! </font>';
}
else{
$login = $_POST['login'];
$password = $_POST['password'];
$mdPassword = md5($password);
$password2 = $_POST['password2'];
$email = $_POST['email'];
$rdate = date("d-m-Y в H:i");
$name = $_POST['name'];
$lastname = $_POST['lastname']; 
$query = ("SELECT id FROM users WHERE login='$login'");
$sql = mysql_query($query) or die(mysql_error());
if (mysql_num_rows($sql) > 0) {
echo '<font color="red"><img border="0" src="error.gif" alt="Пользователь с таким логином зарегистрированый!">Пользователь с таким логином зарегистрирован!</font>';
}
else {
$query2 = ("SELECT id FROM users WHERE email='$email'");
$sql = mysql_query($query2) or die(mysql_error());
if (mysql_num_rows($sql) > 0){
echo '<font color="red"><img border="0" src="error.gif"  alt="Пользователь с таким e-mail зарегистрированый!">Пользователь с таким e-mail уже зарегистрирован!</font>';
}
else{
$query = "INSERT INTO users (login, password, email, reg_date, name_user, lastname )
VALUES ('$login', '$mdPassword', '$email', '$rdate', '$name', '$lastname')";
$result = mysql_query($query) or die(mysql_error());;
echo '<font color="green"><img border="0" src="ok.gif"  alt="Вы успешно зарегистрировались!">Вы успешно зарегистрировались!</font><br><a href="index.php">На главную</a>';
}
}
}
}
?>

В самом начале мы подключаем файл bd.php, содержащий подключение к базе данных.

mysql_connect ("localhost","user","password");
mysql_select_db ("reg");

Кстати забыл сказать, что подключать его надо на всех страницах в самом начале документа до начала какого-либо html кода. В дальнейшем мы его еще будем редактировать.

Теперь создадим таблицу users в нашей базе данных:

CREATE TABLE `users` (
`id` INT NOT NULL AUTO_INCREMENT ,
`login` VARCHAR( 20 ) NOT NULL ,
`password` VARCHAR( 35 ) NOT NULL ,
`email` VARCHAR( 50 ) NOT NULL ,
`reg_date` VARCHAR( 32 ) NOT NULL ,
`name_user` VARCHAR( 32 ) NOT NULL ,
`lastname` VARCHAR( 32 ) NOT NULL ,
PRIMARY KEY ( `id` )
);

Далее у нас осуществляется проверка введенных данных, если они не корректны, то выдается ошибка. Если все проходит удачно, то превращаем глобальные переменные в обычные, а так же шифруем пароль. Затем мы проверяем, нет ли у нас пользователя с таким же логином и email, если есть, то выдаем ошибку. Если эти проверки были пройдены успешно, заносим нового пользователя в базу данных и сообщаем об успешно регистрации.

Теперь, когда пользователь зарегистрировался ему нужно войти на сайт. Форму для ввода логина и пароля мы уже сделали в самом начале. При нажатии кнопки войти мы отправляем все наши данные файлу login.php, который проверяет есть ли такой пользователь.

<?php
if (isset($_POST['login'])){
    $login = $_POST['login'];
    if ($login == '') {
        unset($login);
        exit ("Введите пожалуйста логин!");
    }
}
if (isset($_POST['password'])){
    $password = $_POST['password'];
    if ($password == '') {
        unset($password);
        exit ("Введите пароль");
    }
}
$login = stripslashes($login);
$login = htmlspecialchars($login);
$password = stripslashes($password);
$password = htmlspecialchars($password);
 
$login = trim($login);
$password = trim($password);
$password = md5($password);//шифруем пароль
$user = mysql_query("SELECT id FROM users WHERE login='$login' AND password='$password'");
$id_user = mysql_fetch_array($user);
if (empty($id_user['id'])){
    exit ("Извините, введённый вами логин или пароль неверный.");
}
else {
    $_SESSION['password'] = $password;
    $_SESSION['login'] = $login;
    $_SESSION['id'] = $id_user['id'];
}
echo "<meta http-equiv='Refresh' content='0; URL=index.php'>";
?>

Этот файл проверяет нашего пользователя на существование и запускает для него сессию, т.к. весь вход построен именно на них. Эти переменные будут «висеть» в браузере до тех пор пока его не закроешь или их не уничтожишь (на этом основан выход). Теперь чтобы сессии работали нужно в файле bd.php дописать такую строчку session_start(); Для удобства использования переменных сессии будем присваивать их обычным переменным

$login = $_SESSION['login'];
$password = $_SESSION['password'];
$id_user = $_SESSION['id'];

Теперь чтобы вошедший пользователь мог видеть контент для зарегистрированных пользователей, мы создадим такое условие:

if(empty($login) and empty($password)){
echo "Вам необходимо зарегистрироваться, чтобы видеть этот контент";
}
else{
echo "Привет, ".$login." | <a href='exit.php'>Выход</a><br>Контент для зарегистрированных пользователей";
}

Ну и наконец, создадим файл exit.php, который позволит пользователю выйти с сайта. Все что для этого нужно это уничтожить переменные в сессиях:

unset($_SESSION['password']);
unset($_SESSION['login']);
unset($_SESSION['id']);

Ну вот мы сделали простейшую регистрацию, которую Вы можете использовать на своем сайте для ограничения доступа к вашему контенту.

Автор: Евгений Бочкарев и Кушнир Александр Урок добавлен: 30 Июля 2010 в 14:46 Просмотров: 174938



Источник: http://ajaxs.ru/lesson/php/38-sozdanie_registracii_polzovatelej_na_sajte.html


Как сделать html коды для сайта фото


Как сделать html коды для сайта

Как сделать html коды для сайта

Как сделать html коды для сайта

Как сделать html коды для сайта

Как сделать html коды для сайта

Как сделать html коды для сайта

Как сделать html коды для сайта

Далее: