Я тщательно изучил свою тему перед тем, как приехать сюда, и, похоже, не может понять, что я делаю.проблемы с регистрацией и страницей регистрации php
У меня есть HTML-страницу:
<form role="form" action="register.php" method="POST">
<div class="form-group">
<label>First Name:</label>
<input type="text" name="first_name">
</div>
<div class="form-group">
<label>Last Name:</label>
<input type="text" name="last_name">
</div>
<div class="form-group">
<label>Student ID:</label>
<input type="number" name="student_id">
</div>
<div class="form-group">
<label>Email address:</label>
<input type="email" name="email">
</div>
<button type="submit" name="register" value="register">Register</button>
</form>
<form role="form" action="login.php" method="POST">
<div class="form-group">
<label>Email address:</label>
<input type="email" name="email">
</div>
<button type="submit" name="login" value="login">Login</button>
</form>
Эти функции и общается отлично с моей страницы входа написано в PHP, он проверяет, является ли представленный адрес электронной почты уже существует в базе данных MySQL. Затем он укажет пользователя на страницу профиля, и код выйдет сам.
Моя проблема связана с моей страницей регистрации, я использую те же функции MySQL SELECT, которые я выполняю на своей странице входа, чтобы проверить, есть ли уже предоставленный идентификатор или адрес студента в базе данных, и если это так, вернется назад к форме для пользователя, чтобы попробовать еще раз:
<?php
$servername = "";
$username = "";
$password = "";
$dbname = "";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$student_id = $_POST['student_id'];
$email = $_POST['email'];
if (isset($_POST['register'])) {
register($conn, $first_name, $last_name, $student_id, $email);
}
function register($conn, $first_name, $last_name, $student_id, $email) {
$Ssql = "SELECT student_id FROM AidenLocke where student_id = '$student_id'";
$Sresult = mysqli_query($conn, $sql);
if (mysqli_num_rows($Sresult) > 0) {
header('Location: form.html');
} else {
$sql = "INSERT INTO AidenLocke (first_name, last_name, email, student_id)
VALUES ('$first_name', '$last_name', '$email', '$student_id')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br />" . $conn->error;
}
header('Location: profile.php');
}
}
(я удалил свою информацию из базы данных по соображениям безопасности, но нет никаких проблем с подключением)
Моя главная проблема с секцией еще второго, если , мой код не проверяет, существует ли уже идентификатор студента, и независимо от того, какую информацию я вхожу в форму, w вход в базу данных.
Я совершенно смущен и надеюсь, что кто-то может дать мне верный ответ, спасибо!
не могу поверить, что это был единственный вопрос! Спасибо :) – Arkadelic
@ user5459946 Это хороший пример, почему использовать пользовательских менеджеров баз данных, которые скрывают такую реализацию :-) –