Задание:
Регистрация на сайте файл reg.php
if($_POST['submit']=="Регистрация"){ if($_POST['pass']==$_POST['pass2']){ $pass=md5($_POST['pass']); } else{ $msg="Введенные пароли не совпадают"; } if($pass!=0){ $res=mysql_query("SELECT * from `users` where `email`='{$_POST['email']}'"); $data=mysql_fetch_assoc($res); if($data['id']){ $msg="Пользователь с таким email уже зарегистрирован"; } else{ $insert=mysql_query("insert into `users` (`name`,`email`,`pass`) values ('{$_POST['name']}', '{$_POST['email']}','{$pass}')"); } if ($insert=='TRUE'){ $select=mysql_query("SELECT * from `users` where `email`='{$_POST['email']}'"); $data1=mysql_fetch_array($select); $auth=md5($_POST['email']).md5($data1['id']); /*Отправка email*/ $to=$_POST['email']; $subject="Подтверждение регистрации"; $body="Для завершения регистрации пройдите по <a href='".$_SERVER['DOCUMENT_ROOT']."/11/aktiv.php?email=".$email."&auth=".$auth."'>ссылке </a>"; require "sendmail.php"; /********/ $email=$_POST['email']; echo "/aktiv.php?email=".$email."&auth=".$auth; $msg="Для завершения регистрации проверьте почту!"; } } } ?> <meta charset="utf-8"> <link rel="stylesheet" href="style.css"> <div id="content"> <div class="center"> <div class="row"> <?echo $msg;?> <h1>Регистрация</h1> <form method="post"> <p><input required type="text" name="name" placeholder="Имя"></p> <p><input required type="email" name="email" placeholder="email"></p> <p><input required type="password" name="pass" placeholder="пароль"></p> <p><input type="password" name="pass2" placeholder="повторите пароль"></p> <p><input type="submit" name="submit" value="Регистрация"></p> </form> <p><a href="login.php">Войти</a></p> </div> </div></div>
Подтверждение регистрации activ.php
$res=mysql_query("SELECT * from `users` where `email`='{$_GET['email']}'"); $data=mysql_fetch_array($res); if($data['id']){ $auth=md5($_GET['email']).md5($data['id']); echo $auth . "<br>"; if($auth==$_GET['auth']){ $upd=mysql_query("update `users` set `auth`='1' where`email`='{$_GET['email']}'"); if($upd='TRUE'){ echo 'Поздравляем, регистрация прошла успешно!'; } } else {echo 'Возникла ошибка, попробуйте зарегистрироваться заново!';} }
2. По нажатию кнопки Добавить — создать сессию и куки с вашим именем, и по нажатию кнопки Удалить — удалить сессию и куки с вашим именем.
Данные получить из формы.
<? session_start(); if(isset($_POST['submit_add'])) { /* создать сессию и куки с вашим именем */ } elseif(isset($_POST['submit_del'])) { /* удалить сессию и куки с вашим именем */ } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Сессии и Куки</title> </head> <body> <form action="index.php" method="post"> <input type="text" name="name" placeholder="Напишите сюда ваше имя"><br> <input type="submit" value="Добавить" name="submit_add"> <input type="submit" value="Удалить" name="submit_del"> </form> </body> </html>
[spoiler title=»Решение»]
<? session_start(); if(isset($_POST['submit_add'])) { // обрабатываем полученную строку, очищаем ее от лишних пробелов и удаляем теги если имеются $name = strip_tags(trim($_POST['name'])); if(!isset($_COOKIE['name'])) { setcookie('name', $name); echo "Куки успешно сохранены, Хорошая работа " . $name . "<br>"; } else { echo 'Здравствуй ' . $_COOKIE['name'] . ' Куки уже были сохранены, необходимо их удалить. <br>'; } if(!isset($_SESSION['name'])) { $_SESSION['name'] = $name; echo "Сессия успешно создана, Хорошая работа " . $_SESSION['name'] . "<br>"; } else { echo 'Здравствуй ' . $_SESSION['name'] . ' Сессия уже была создана, необходимо ее удалить. <br>'; } } elseif(isset($_POST['submit_del'])) { if(isset($_SESSION['name']) or isset($_COOKIE['name'])) {$name = $_SESSION['name'] or $_COOKIE['name'];} setcookie('name', ''); unset($_SESSION['name']); echo "Все данные были успешно удалены...<br>Хорошая работа $name"; } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Сессии и Куки</title> </head> <body> <form action="index.php" method="post"> <input type="text" name="name" placeholder="Напишите сюда ваше имя"><br> <input type="submit" value="Добавить" name="submit_add"> <input type="submit" value="Удалить" name="submit_del"> </form> </body> </html>
[/spoiler]