не знаю почему при регистраций пользователя по емэйлу не добавляется в бд вроде все написал без ошибок: перенаправление после регистраций на эту же стр <?php if (isset($_POST['reg'])) { $email = htmlspecialchars($_POST['email']); $bad = false; session_start(); unset($_SESSION['error_email']); unset($_SESSION['index_succes']); if (strlen($email) < 3 || strlen($email) > 32) { $_SESSION['error_email'] = 1; $bad = true; } if (!$bad) { $mysqli = new mysqli("localhost", "root", "", "test.user"); $mysqli->query("INSERT INTO regemail('email')VALUES('$email')"); $mysqli->close(); $_SESSION['index_succes'] = 1; header("Location: " . $_SERVER["REQUEST_URI"]); } } ?> <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <form action="" method="post"> Зарегистрироватся:<input type="email" name="email"/> <input type="submit" name="reg" value="ok"> </form> </body> </html>
Оформи код через кнопочку </> в верхнем левом углу. Это зачем? А если я в e-mail имя, фамилию, отчество, дату рождения прописью и день рождение дедушки записал? 32 символа.... Не защищено от инъекций. А так, выведи этот запрос, скопипасть в phpMyAdmin и посмотри, что mysql тебе на это скажет. Хотя, уже знаю. Надо в обратные апострофы имена полей заключать, а не в обычные. Обратный апостроф - там где буковка Ё на клавиатуре
Последнее время все новички заливают код без оформления, мне кажется нужно админам придумать какойнить запрет на вставку кода без оформления. а если по делу то сверху тебе ответили проверь запрос свой на работоспособность PHP: $mysqli->query("INSERT INTO `regemail` (`email`)VALUES('$email')"); Вроде так