簡體   English   中英

PHP登錄和注冊表單錯誤處理

[英]PHP login and registration form error handling

我想在PHP和HTML中做一個很好的錯誤消息,就像我們在bootstrap代碼中做的那樣,而不是在echo()中顯示消息。 但我不想使用任何功能來制作它。

<?php 
include 'condb.php';


if (isset($_POST['sub'])) {

$name = $_POST['name'];
$lname =$_POST['lname'];
$email =$_POST['email']; 
$pass1 =$_POST['pass1'];
$pass2 =$_POST['pass2'];
if (empty($name) || empty($lname) || empty($email) || empty($pass1) || 
empty($pass2)) {
    echo "<p class='alert alert-danger'> must fill all </p>";
}else{

if (empty($pass1) || empty($pass2)) {
echo "you must fill password";

 }
else{

if ($pass1 == $pass2) {
    $hashpass = md5($pass1);

    $query="insert into users values (null, '$name', '$lname', '$email', 
'$hashpass')";
    $result=mysqli_query($conn,$query);

    echo "success";

}else{
    echo "passwords must be same";
}

}
}
}

?>

將消息存儲在session變量中,如$_SESSION["errormsg"]='you must fill password';

現在你可以在HTML中回顯會話變量的內容了

<div id='alert_msg'><?php if(isset($_SESSION["errormsg"])){ echo $_SESSION["errormsg"]; }?></div> 

不要忘記在腳本開頭包含session_start()並在打印內容后取消設置會話,否則它會反復顯示完全相同的內容。

// remove all session variables
 session_unset(); 

 // destroy the session 
 session_destroy(); 

如果你在不同的頁面工作,一個是純PHP而另一個是嵌入HTML,你在php頁面中創建會話並在會話中保存你的值並在html頁面中使用會話。

<?php 
include 'condb.php';
session_start();
if (isset($_POST['sub'])) {

$name = $_POST['name'];
$lname =$_POST['lname'];
$email =$_POST['email']; 
$pass1 =$_POST['pass1'];
$pass2 =$_POST['pass2'];
if (empty($name) || empty($lname) || empty($email) || empty($pass1) || 
empty($pass2)) {
    $_SESSION["errormsg"]='you must fill password';
}else{

if (empty($pass1) || empty($pass2)) {
 $_SESSION["errormsg"] = "you must fill password";
 }
else{

if ($pass1 == $pass2) {
    $hashpass = md5($pass1);

    $query="insert into users values (null, '$name', '$lname', '$email', 
'$hashpass')";
    $result=mysqli_query($conn,$query);

    echo "success";

}else{
    $_SESSION["errormsg"] = "passwords must be same";
}

}
}
}

?>

在您的HTML代碼中使用上面的會話。

<div id='alert_msg'><?php if(isset($_SESSION["errormsg"])){ echo $_SESSION["errormsg"]; }?></div> 

創建一個像messages.php這樣的單獨文件,並將其包含在您的代碼中,如header.php或您想要的單獨頁面中。

現在在該message.php文件中,您可以定義所需的所有消息,以后更容易更改和更新它們。 更容易在任何地方使用它們

define("ADVANCE_ADDED","Advance detail has been added successfully.");
define("ADVANCE_UPDATED","Advance detail has been updated successfully.");
define("ADVANCE_REMOVED","Advance detail has been removed successfully.");
define("APPROVE_LV_MSG","Are you sure you want to approve this leave?");
define("LV_APPROVED","You have approved the leave successfully.");
define("LV_REJECTED","You have rejected the leave successfully.");

暫無
暫無

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

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