Xwab
Форумыnavigate_nextПрограммирование на PHP

Ошибочка
Сообщения
Istsam

Страница reg.php

<?php
include'system/core.php';
include'system/head.php';
echo '<div class="name">Регистрация пользователя</div>
      <form method="post" action="regok.php">
      <div class="login">
      Логин:<br />
      <input type="text" name="login" value="" /><br />
      Ваш E-mail:<br />
      <input type="text" name="mail" value="" /><br />
      Ваш пол:<br />
      <select name="pol">
      <option value="1">Мужской</option>
      <option value="0">Женский</option>
      </select><br />
      Пароль:<br />
      <input type="password" name="pass" /><br />
      Повторите пароль:<br />
      <input type="password" name="pass2" /><br />
     Капча: <img src="data/captcha.php" /><br/>
     Введите капчу: <input type="text" name="captcha" value="" size=6><br/>
     <input type="submit" name="reg" value="Регистрировать" />
      </div>
      </form>';
include'system/foot.php';
?>

Страница regok.php

<?php
include'system/core.php';
include'system/head.php';
  $login = input($_POST['login']);
  if (empty($login)){echo'<div class="name">Не введен логин</div>';include'system/foot.php';}
  if (strlens($login)>32){echo'<div class="name">Длина логина превышает 32 символа</div>';include'system/foot.php';}
  if (strlens($login)<3){echo'<div class="name">Длина логина меньше 3 символов</div>';include'system/foot.php';}
  if (!preg_match("#^([A-zА-я0-9\-\_\ ])+$#ui", $login)){echo'<div class="menu">В логине присутствуют запрещенные символы</div>';include'system/foot.php';}
  if (mysql_result(mysql_query("SELECT COUNT(*) FROM `users` WHERE `login` = '$login'"), 0) != 0){echo'<div class="name">Выбраный логин занят</div>';include'system/foot.php';}
 
  $pass = input($_POST['pass']);
  if (empty($pass)){echo'<div class="name">Не введен пароль</div>';include'system/foot.php';}
  if (strlens($pass)>64){echo'<div class="name">Длина пароля превышает 64 символа</div>';include'system/foot.php';}
  if (strlens($pass)<5){echo'<div class="name">Длина пароля меньше 5 символов</div>';include'system/foot.php';}
   
  $pass2 = input($_POST['pass2']);
  if (empty($pass2)){echo'<div class="name">Не введен повторный пароль</div>';include'system/foot.php';}
  if ($pass != $pass2){echo'<div class="name">Пароли не совпадают</div>';include'system/foot.php';}
   
  $mail = input($_POST['mail']);
  if (empty($mail)){echo'<div class="name">Не введен E-Mail</div>';include'system/foot.php';}
  if (strlen($mail)>72){echo'<div class="name">Длина E-Mail превышает 72 символа</div>';include'system/foot.php';}
  if (strlen($mail)<5){echo'<div class="name">Длина E-Mail меньше 5 символов</div>';include'system/foot.php';}
  if (!preg_match('|^([a-z0-9_\.\-]{1,20})@([a-z0-9\.\-]{1,20})\.([a-z]{2,4})$|ius', $mail)){echo'<div class="name">Неверный формат E-Mail</div>';include'system/foot.php';}
  if (mysql_result(mysql_query("SELECT COUNT(*) FROM `users` WHERE `mail` = '$mail'"), 0) != 0){echo'<div class="name">Выбранный E-Mail занят</div>';include'system/foot.php';}
   
  $pol = num($_POST['pol']);
  $captcha = input($_POST['captcha']);
  $string = file_get_contents('data/cap.dat');
  if($captcha==$string)
  {
  $date = time();
  mysql_query("INSERT INTO `users` (`login`,`pass`, `mail`, `pol`, `status`, `access`, `date_last`, `date_reg`, `ank`) VALUES ('". mysql_real_escape_string($login) ."', '". md5(md5($pass)) ."', '". mysql_real_escape_string($mail) ."', '". $pol ."', 'user', '0', '". time() ."', '". time() ."', '1')");
   mail($mail, '=?utf-8?B?'.base64_encode('Регистрация на '. $_SERVER['HTTP_HOST']).'?=', 'Это письмо отправлено с сайта <a href="http://'. $_SERVER['HTTP_HOST'] .'">http://'. $_SERVER['HTTP_HOST'] .'</a><br />Вы получили это письмо, так как этот e-mail адрес был использован при регистрации на сайте. Если Вы не регистрировались на этом сайте, просто проигнорируйте это письмо и удалите его. Вы больше не получите такого письма.<br />------------------------------------------------<br />Ваш логин и пароль на сайте:<br />------------------------------------------------<br />Логин: '. $login .'<br />Пароль: '. $pass .'<br /><br />Благодарим Вас за регистрацию. Рекомендуем сохранить это письмо с данными от аккаунта.<br /><br />С уважением,<br />Администрация <a href="http://'. $_SERVER['HTTP_HOST'] .'">http://'. $_SERVER['HTTP_HOST'] .'</a><br /><br />P.S. Данное письмо сгенерированно автоматически, отвечать на него не нужно.', "From: \"system@$_SERVER[HTTP_HOST]\" <system@$_SERVER[HTTP_HOST]>\nContent-Type: text/html; charset=utf-8\n");

  $f=@fopen('data/cap.dat', 'w+');
  $text = rand('111','1111111');
  @fputs($f, $text);
  @fclose($f);
  echo '<div class="title">Завершение регистрации</div>
              <div class="menu">
              Благодарим Вас за регистрацию. Ваш аккаунт на сайте успешно создан. Письмо с Вашими данными, для входа на сайт, отправленно на указанный Вами e-mail. Мы настоятельно рекомендуем Вам сохранить это письмо с данными.<br /><b>Желаем приятного общения!</b>
              </div>';
        include'system/foot.php';
      }
      else
      {
      echo'<div class="name">Капча введена не верно</div>';include'system/foot.php';
      }
?>

Изменил


__________
посл.ред. 28 Фев 2011, 14:15; всего 1 раз 28 Фев 2011, 13:52
Istsam

Если данные ввожу, то страницы обновляется.
Если формы ввода пустые, то пишет логин не введён

28 Фев 2011, 13:55
M0rbid

Istsam,

}
else
{


}

это что? тут должно быть чтото типа "каптча введена неверно"

28 Фев 2011, 13:59
DarveL

ппц гк

28 Фев 2011, 14:01
Istsam

M0rbid, да

28 Фев 2011, 14:04
Istsam

DarveL, да ладно уж.
Я учусь тока
Лучше подскажите как привести в рабочее состояние

28 Фев 2011, 14:05
mazaHELL

абанамать....

зачем собаки??

28 Фев 2011, 14:07
M0rbid

Istsam, ну так и зделай так. оно и выдаст тебе что капчу не по людски ввел вместо обновления страницы

28 Фев 2011, 14:08
M0rbid

mazaHELL, это dcms-style. зачем вобще dcms?

28 Фев 2011, 14:09
mazaHELL

M0rbid, я откуда знаю?? я сроду ни одного чужого двига не использовал в своих целях..

28 Фев 2011, 14:09
Ответить на тему