[英]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.