簡體   English   中英

表單提交上的空白白頁

[英]Blank white page on form submit

您好希望有人可以提供幫助。

我正在嘗試一個項目,這將是一個注冊頁面,當所有輸入都填寫完畢后,它可以工作並插入並進入新頁面主頁。php 但是在進行空字段檢查或 email 使用中檢查時,我得到的只是一個白頁,錯誤報告已打開,但沒有錯誤顯示。

謝謝。

if (isset($_POST["signup_submit"])) {

$email = mysqli_real_escape_string($conn, $_POST['email']);
$pwd = mysqli_real_escape_string($conn, $_POST["pwd"]);
$pwdRepeat = mysqli_real_escape_string($conn, $_POST["pwdRepeat"]);
$message = "";

if(empty($email) || empty($pwd) || empty($pwdRepeat)) {
  $message = "All fields are required!";
exit();
}

if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
 $message = "Please use a valid email!";
 exit();
}

if ($pwd !== $pwdRepeat) {
  $message = "Passwords do not match";
  exit();
}

$sql = "SELECT email FROM Accounts WHERE email = ?;"; 
$stmt = mysqli_stmt_init($conn);

if (!mysqli_stmt_prepare($stmt, $sql)) {
  $message = "stmt failed!";
  exit();
}
  
mysqli_stmt_bind_param($stmt, "s", $email);
mysqli_stmt_execute($stmt);
  
  $result = mysqli_stmt_get_result($stmt);
  $row = mysqli_num_rows($result);
  
if($row !== 0){
$message = "Email already used!";
exit();
}else{
    
$sql = "INSERT INTO Accounts (email, password, account_reg) VALUES (?, ?, ?);";
$stmt = mysqli_stmt_init($conn);

if (!mysqli_stmt_prepare($stmt, $sql)) {
$message = "stmt failed!";
exit();
}

$hashedPwd = password_hash($pwd, PASSWORD_DEFAULT);

mysqli_stmt_bind_param($stmt, "sss", $email, $hashedPwd, $time);
mysqli_stmt_execute($stmt);
mysqli_stmt_close($stmt);
header("location: home.php");
exit();

}
  
}

不要調用exit(); 方法。 它只是終止了進程,這就是您看到空白頁的原因。 如果要顯示錯誤消息然后終止進程,請使用die('Error message'); 反而。

您正在將$message設置為錯誤字符串,但您沒有顯示它,即echo $message;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM