0
我在來這裏之前已經徹底研究了我的主題,似乎無法找出我的問題。登錄和註冊頁面問題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功能來檢查提交的學生ID或電子郵件是否已存在於數據庫中,如果是,將返回到形式爲用戶再試一次:
<?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');
}
}
(我已刪除了我的數據庫信息,出於安全原因,但沒有連接問題)
我的主要問題是與第二,如果的其它部分聲明中,我的代碼不檢查學生ID是否已經存在,也不檢查我輸入到表單中的信息是否成立w進入數據庫。
我很困惑,希望有人能給我一個有效的答案,謝謝!
不能相信這是唯一的問題!謝謝:) – Arkadelic
@ user5459946這是一個很好的例子,爲什麼要使用隱藏這種實現的自定義DB管理器:-) –