[英]form action is another page(php code) how to validate the form and display error message in view page
[英]How to display error message in view page using PHP
我需要使用php顯示錯誤消息。我在下面解釋我的代碼。
addcomplain.php:
<div style="color:#F00; text-align:center;"><?php echo $error?></div>
<form name="billdata" id="billdata" enctype="multipart/form-data" method="POST" onSubmit="javascript:return checkForm();" action="complain.php">
</form>
假設我有一個像上面的表格,當我提交下面的文件時被調用。
抱怨.php:
$sql="SELECT * FROM medilink_complain WHERE email='".$email."'";
$selres = mysqli_query($con,$sql);
if(mysqli_num_rows($selres ) > 0)
{
$error = "Email Id already exists!";
}
當出現上述錯誤時,我需要將其顯示在表格上方。就我而言,我什么也沒收到。請幫助我解決此問題。
嘗試這個
addcomplain.php:
<?php
if(isset($_SESSION["error"])){
echo '<div style="color:#F00; text-align:center;">'. $_SESSION["error"] .'</div>';;
unset($_SESSION["error"]);
} ?>
抱怨.php:
session_start();
$sql="SELECT * FROM medilink_complain WHERE email='".$email."'";
$selres = mysqli_query($con,$sql);
if(mysqli_num_rows($selres ) > 0)
{
$_SESSION["error"] = "Email Id already exists!";
}
您不需要會話。
將您的代碼合並為1個文件。 如果他不為null ,則僅顯示$error
,如下所示:
<?php
$error = null;
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$sql="SELECT * FROM medilink_complain WHERE email='".$email."'";
$selres = mysqli_query($con,$sql);
if(mysqli_num_rows($selres ) > 0) {
$error = "Email Id already exists!";
}
}
?>
<div style="color:#F00; text-align:center;"><?= (!is_null($error) ? $error : ''); ?></div>
<form name="billdata" id="billdata" enctype="multipart/form-data" method="POST" onSubmit="javascript:return checkForm();" action="complain.php">
</form>
</div>
嘗試這樣:
抱怨.php:
$sql="SELECT * FROM medilink_complain WHERE email='".$email."'";
$selres = mysqli_query($con,$sql);
if(mysqli_num_rows($selres ) > 0)
{
$_SESSION["error"] = "Email Id already exists!";
}
在addcomplain.php中:
$error = $_SESSION["error"];
unset($_SESSION["error"]);
<div style="color:#F00; text-align:center;"><?php echo $error?></div>
<form name="billdata" id="billdata" enctype="multipart/form-data" method="POST" onSubmit="javascript:return checkForm();" action="complain.php">
</form>
您可以編寫一些函數來簡化操作:
function setMessage($message){
$_SESSION['msg'] = $message;
}
function showMessage(){
echo $_SESSION['msg'];
unset($_SESSION['msg']);
}
抱怨.php:
if(mysqli_num_rows($selres ) > 0)
{
$error = "Email Id already exists!";
setMessage($error);
}
addcomplain.php:
<div style="color:#F00; text-align:center;"><?php echo showMessage(); ?></div>
注意:請使用頁面頂部的session_start()
確保已啟動會話。
為此使用Session對象。
$sql="SELECT * FROM medilink_complain WHERE email='".$email."'";
$selres = mysqli_query($con,$sql);
if(mysqli_num_rows($selres ) > 0)
{
$_SESSION['error'] = "Email Id already exists!";
}
這樣的顯示。
<?php
$error = "";
if(isset($_SESSION['error']))
{
$error = $_SESSION['error'];
unset($_SESSION['error']);
}
?>
<div style="color:#F00; text-align:center;">
<?php echo $error; ?>
</div>
<form name="billdata" id="billdata" enctype="multipart/form-data" method="POST" onSubmit="javascript:return checkForm();" action="complain.php">
</form>
<?php
$sql="SELECT * FROM medilink_complain WHERE email='".$email."'";
$selres = mysqli_query($con,$sql);
if(mysqli_num_rows($selres ) > 0)
{
$error = "Email Id already exists!";
} else {
$error = '';
}
include 'addcomplain.php'; // <----
?>
<html>
<body>
<div style="color:#F00; text-align:center;"><?php echo $error?></div>
<form name="billdata" id="billdata" enctype="multipart/form-data" method="POST" onSubmit="javascript:return checkForm();" action="complain.php">
<input value="test" />
</form>
</body>
</html>
...為我工作! 無需會話變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.