Проблема в том, что если пользователь вводит что то не правильно, выходит сообщение об ошибке. НО запись в базу данных все равно идет.
Например если пользователь ввел email без @, то такой емел все равно попадает в таблицу базы данных. Как это исправить ?
CODE (htmlphp):
скопировать код в буфер обмена
скопировать код в буфер обмена
- <?php
- header('Content-Type: text/html; charset=utf-8');
- require_once("connectbase.php");
- echo $email;
- if (isset($_POST["submit"])) {
- $Email = htmlspecialchars ($_POST["email"]);
- $login = htmlspecialchars ($_POST["login"]);
- $password = htmlspecialchars ($_POST["password"]);
- $r_password = htmlspecialchars ($_POST["r_password"]);
- $_SESSION["email"] = $Email;
- $_SESSION["login"] = $login;
- $error_email = "";
- $error_login = "";
- $error_password = "";
- $error_r_password = "";
- $error = false;
- if ($Email == "" || !preg_match ("/@/", $Email)) {
- $error_email= "Введите корректный email!";
- $error = true;
- }
- if ($login == "") {
- $error_login = "Введите логин!";
- $error = true;
- }
- if ($password == "") {
- $error_password = "Ввведите пароль!";
- $error - true;
- }
- if ($r_password == "") {
- $error_r_password = "Введите пароль еще раз!";
- $error = true;
- }
- if ($password == $r_password) {
- $password = md5($password);
- $query = mysql_query ("INSERT INTO users VALUES ('','$Email','$password')") or die (mysql_error ());
- }
- else {
- echo "ВВЕДЕНЫЕ ПАРОЛИ НЕ СОВПАДАЮТ, ВВЕДИТЕ ПАРОЛИ ЗАНОВО!";
- }
- if (!$error) {
- echo "Вы ЗАРЕГЕСТРИРОВАНЫ!";
- }
- }
- mysql_close ();
- ?>
- <!DOCTYPE html>
- <html>
- <head>
- <title> Hello world </title>
- </head>
- <body>
- <center>
- <h2> Регистрация пользователя </h2>
- <form name="reg" method="POST" action="">
- <input type="text" name="email" required placeholder="Email" VALUE="<?= $_SESSION["email"]?>"/><br>
- <span style="color:red"> <?= $error_email ?> <br> </span>
- <input type="password" name="password" required placeholder="Пароль"/><br>
- <span style="color:red"> <?= $error_password ?> <br> </span>
- <input type="password" name="r_password" required placeholder="Пароль еще раз"/><br>
- <span style="color:red"> <?= $error_r_password ?> <br> </span>
- <input type="submit" name="submit" VALUE="Зарегистрироваться"/><br>
- </form>
- </center>
- </body>
- </html>