簡體   English   中英

如何使用PHP在視圖頁面中顯示錯誤消息

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

    <?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'; // <----
    ?>

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.

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