Добрый вечер, помогите решить проблему, когда перехожу на страницу регистрации сразу же весит ошибка, о том, что " Вы ввели не всю информацию, вернитесь назад и заполните все поля!", как сделать, чтобы ошибка появлялась после отправки формы? з.ы заранее спасибо!
@Yuriy124, иначе говоря, сначала надо определиться, в какой момент показывается форма... либо "первый раз", либо после её заполнения пользователем. Во втором варианте можно проверить параметры, приведённые в сообщениях 2 и 3. --- Добавлено --- И в дополнение к тому, что написано в сообщении 2 - также надо каким-либо способом проверить наличие данных в массиве $_POST по индексу 'submit' (предполагается, что кнопка с type='submit' имеет атрибут name='submit')
Sali, я не понимаю как это осуществить <?php if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == ''){ unset($login);} } if (isset($_POST['email'])) { $email = $_POST['email']; if ($email == ''){ unset($email);} } if (isset($_POST['password'])) { $password = $_POST['password']; if ($password == '') { unset($password);} } if (isset($_POST['password2'])) { $password2 = $_POST['password2']; if ($password2 == '') { unset($password2);} if ($password==$password2) { $password=md5($password); } else { die('Пароль не совпадает'); } } if (empty($login) or empty($email) or empty($password) or empty($password2)) { exit("<div class=\"sts4\">Вы ввели не всю информацию, вернитесь назад и заполните все поля!</div>"); } //если логин и пароль введены, то обрабатываем их, чтобы теги и скриптыне работали, мало ли что люди могут ввести $login = stripslashes($login); $login = htmlspecialchars($login); $email = stripslashes($email); $email = htmlspecialchars($email); $password = stripslashes($password); $password = htmlspecialchars($password); $password2 = stripslashes($password2); $password2 = htmlspecialchars($password2); //удаляем лишние пробелы $login = trim($login); $email = trim($email); $password = trim($password); $password2 = trim($password2); // подключаемся к базе include ("bd.php");// файл bd.php должен быть в той же папке, что и всеостальные, если это не так, то просто измените путь // проверка на существование пользователя с таким же логином $result = mysqli_query($db, "SELECT id FROM `users` WHERE login='$login'"); $myrow = mysqli_fetch_array($result); if (!empty($myrow['id'])) { exit ("<div class=\"sts3\">Извините, введённый вами логин уже зарегистрирован. Введите другой логин.</div>"); } // если такого нет, то сохраняем данные $result2 = mysqli_query ($db, "INSERT INTO users (login,email,password) VALUES('$login','$email','$password')"); // Проверяем, есть ли ошибки if ($result2=='TRUE') { echo "<div class=\"sts2\">Вы успешно зарегистрированы! Теперь вы можете зайти на сайт. <a href='index.php'>Главная страница</a></div>"; header('Refresh: 5; URL=index.php'); exit ("<div class=\"sts5\">Через 5 сек. вы будете перенаправлены на новую страницу.</div>"); } else { echo "Ошибка! Вы не зарегистрированы."; } ?>
if (isset($_POST['sumbit']){ if (empty($login) or empty($email) or empty($password) or empty($password2)) { exit("<div class=\"sts4\">Вы ввели не всю информацию, вернитесь назад и заполните все поля!</div>"); все равно не получается
<form action="" method="post"> <div class="firstname"> <label for="firstname">Логин:</label> <input type="text" name="login" value> </div> <div class="email"> <label for="email">E-Mail:</label> <input type="email" name="email" value> </div> <div class="password"> <label for="password">Пароль:</label> <input type="password" name="password" value> </div> <div class="password2"> <label for="password2">Подтверждение пароля:</label> <input type="password" name="password2" value> </div> <hr align="left" width="498" size="2" color="f2f2f2" /> <div class="prodol"> <input type="submit" value="Зарегистироваться" class="btn-orange"> </div> </form> </div> <?php if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == ''){ unset($login);} } if (isset($_POST['email'])) { $email = $_POST['email']; if ($email == ''){ unset($email);} } if (isset($_POST['password'])) { $password = $_POST['password']; if ($password == '') { unset($password);} } if (isset($_POST['password2'])) { $password2 = $_POST['password2']; if ($password2 == '') { unset($password2);} if ($_POST['password']==$_POST['password2']) { $_POST['password']=md5($_POST['password']); } else { die('Пароль не совпадает'); } } if (isset($_POST['sumbit']) { if (empty($login) or empty($email) or empty($password) or empty($password2)) { exit("<div class=\"sts4\">Вы ввели не всю информацию, вернитесь назад и заполните все поля!</div>"); } //если логин и пароль введены, то обрабатываем их, чтобы теги и скриптыне работали, мало ли что люди могут ввести $login = stripslashes($login); $login = htmlspecialchars($login); $email = stripslashes($email); $email = htmlspecialchars($email); $password = stripslashes($password); $password = htmlspecialchars($password); $password2 = stripslashes($password2); $password2 = htmlspecialchars($password2); //удаляем лишние пробелы $login = trim($login); $email = trim($email); $password = trim($password); $password2 = trim($password2); // подключаемся к базе include ("bd.php");// файл bd.php должен быть в той же папке, что и всеостальные, если это не так, то просто измените путь // проверка на существование пользователя с таким же логином $result = mysqli_query($db, "SELECT id FROM `users` WHERE login='$login'"); $myrow = mysqli_fetch_array($result); if (!empty($myrow['id'])) { exit ("<div class=\"sts3\">Извините, введённый вами логин уже зарегистрирован. Введите другой логин.</div>"); } // если такого нет, то сохраняем данные $result2 = mysqli_query ($db, "INSERT INTO users (login,email,password) VALUES('$login','$email','$password')"); // Проверяем, есть ли ошибки if ($result2=='TRUE') { echo "<div class=\"sts2\">Вы успешно зарегистрированы! Теперь вы можете зайти на сайт. <a href='index.php'>Главная страница</a></div>"; header('Refresh: 5; URL=index.php'); exit ("<div class=\"sts5\">Через 5 сек. вы будете перенаправлены на новую страницу.</div>"); } else { echo "Ошибка! Вы не зарегистрированы."; } ?>
сегодня на работе открыл твои исходники, db.php не было. Весь код нужно переписывать с нуля для единой точки, на php7 --- Добавлено --- Спойлер: Не читать слабонервным Это просто пи3да... просто xуй в трубочку приятного аппетита. --- Добавлено --- **** https://php.ru/forum/threads/registracija.70728/#post-569832
Да. Сравнимо с "Жена тебе изменила в твое же день рождения" --- Добавлено --- ну и пофуй, пиво будем пить ? ведь же работает ну и куй с ним