sql — переменные сеанса с подготовленными операторами и параметризованными запросами

Я пытался написать регистрационную форму. По представлению это предполагает:

  • Получите данные из входных данных в базу данных sql — в виде строки в таблице.
  • Добавьте адрес электронной почты пользователя в качестве переменной сеанса.
  • Перенаправляет их на вторую страницу.

Это все происходит, но добавляет два одинаковых ряда вместо одного.

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

PHP:

<?php
ob_start();
session_start();

if($_POST) {
$email = $_POST['email'];
$password = $_POST['password'];
$name = $_POST['name'];
$error = "";
$link = mysqli_connect("xx", "xx", "xx", "xx");
if (mysqli_connect_error()) {
die("the connection was failed");
}
if ($email || $password || $name) {
$stmt = $link->prepare("INSERT INTO `Family` (email, password, name) VALUES (?, ?, ?)");
$stmt->bind_param("sss", $email, $password, $name);
$stmt->execute();
if($stmt->execute()) {
$_SESSION['email'] = $email;
header("Location: session.php");
$stmt->close();
} else {
echo "it failed";
}
}
}

HTML:

<html>
<head>
</head>
<body>
<h1>Registration Form</h1>
<form method="post">
<p>Email:</p>
<input type="email" name="email">
<p>Password:</p>
<input type="password" name="password">
<p>Name:</p>
<input type="text" name="name">
<br><br><br>
<button type="submit">Submit</button>
</form>
</body>
</html>

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]