Задание к уроку 6 php. Сессии и Куки

Автор: | 11.09.2015

Задание:

Регистрация на сайте файл 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]