我正在為課堂創建一個網路應用程式。登錄頁面作業正常。我有一個帶有 action="login.php" method="post" 的表單。Login.php 頁面有 php 腳本,基本上說如果表單沒有填寫,退出并出現錯誤。
我對 createaccount.php 頁面使用了相同的腳本,即使填寫了表單,它也會以錯誤退出而不是繼續腳本的其余部分?
我覺得這是我錯過的非常明顯的事情,但我花了太多時間在這個哈哈上。
表單 HTML
<form class="form form_hidden" id="createAccount" action="createaccount.php" method="post">
<h1 class="form_title">Create Account</h1>
<div class="form_text error_message"></div>
<input class="" type="text" placeholder="First Name" name="fname" id="fname" required />
<div class="form_text input_error_message"></div>
<input class="" type="text" placeholder="Last Name" name="lname" id="lname" required />
<div class="form_text input_error_message"></div>
<input class="" type="email" placeholder="Email Address" name="email" id="email" required />
<div class="form_text input_error_message"></div>
<input class="" type="tel" placeholder="(123) 456-7890" name="mobile_number" id="mobile_number" required />
<div class="form_text input_error_message"></div>
<input class="" type="password" placeholder="Password" name="password" id="password" required />
<div class="form_text input_error_message"></div>
<input class="" type="password" placeholder="Confirm Password" name="confirm_password" id="confirm_password" required />
<div class="form_text input_error_message"></div>
<button type="submit">Continue</button>
<p class="form_text">
Already have an account? <a href="./" id="linkLogin">Sign in!</a>
</p>
</form>
PHP腳本
session_start();
require_once "config.php";
// file needs to be accessed via form submission
if (!isset($_POST['fname'], $_POST['lname'], $_POST['email'], $_POST['mobile_number'], $_POST['password'], $_POST['confirm_password'])) {
exit ('Please fill in all fields.');
}
// sql statement
if ($stmt = $db->prepare('INSERT INTO accounts (fname, lname, email, mobile_number, password) VALUES (?, ?, ?, ?, ?)')) {
mysqli_stmt_bind_param($stmt, "ss", $param_email, $param_password, $param_fname, $param_lname, $param_mobile_number);
// set parameters
$param_email = $email;
$param_password = password_hash($password, PASSWORD_DEFAULT);
$param_fname = $fname;
$param_lname = $lname;
$param_mobile_number = $mobile_number;
if(mysqli_stmt_execute($stmt)) {
// redirect to login page
header ("Location: index.php");
} else {
echo "Oops! Something went wrong! Please try again later.";
}
}
mysqli_stmt_close($stmt);
*/
?>
uj5u.com熱心網友回復:
嘗試像這樣使用 empty()
if(!(!empty($_POST['fname']) && !empty($_POST['lname']) && !empty($_POST['email']) && !empty($_POST['mobile_number']) && !empty($_POST['password']) && !empty($_POST['confirm_password']))){{
exit ('Please fill in all fields.');
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/329697.html
