服务器端错误消息显示从PHP中的进程页面到索引页



我必须显示服务器端验证错误消息,如果我在单个页面上编写两个代码(HTML和PHP(,该消息正常工作。

现在我有index.php和process.php页面。我必须将服务器端验证错误消息从process.php传递到index.php。不使用Ajax。你会帮我吗?

index.php

<?php
include('../../db/connection.php');
$fname_error="";
$email_error="";
?>
<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
    <form action="process.php" method="post">
        <input type="text" name="fname" value="<?php if(isset($fname)){echo $fname;} ?>">
         <span class="error"><?php echo $fname_error;?></span>
        <input type="email" name="email" value="<?php if(isset($email)){echo $email;}?>">
        <span class="error"><?php echo $email_error;?></span>
        <input type="submit" name="submit">
    </form>
</body>
</html>

process.php

<?php
include('../../db/connection.php');
if (isset($_POST['submit'])) {
    $fname=trim($_POST['fname']);
    $email=trim($_POST['email']);
    if (empty($fname)) {
        $fname_error="Name is empty";
    }
    else
        {
        if ($fname<3) {
        $fname_error="Please enter minimum 3 character";
    }
}
    if (empty($email)) {
        $email_error="Email field is empty";
    }
    else
        {
        if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
          $email_error="Invalid email format"; 
    }
    }

    // insert code here
}
?>

使用会话来实现这一目标。尝试以下代码:

index.php

<?php
session_start();
include('../../db/connection.php');
$fname_error= $_SESSION['fname'];
$email_error= $_SESSION['email_error'];
?>
<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
    <form action="process.php" method="post">
        <input type="text" name="fname" value="<?php if(isset($fname)){echo $fname;} ?>">
         <span class="error"><?php echo $fname_error;?></span>
        <input type="email" name="email" value="<?php if(isset($email)){echo $email;}?>">
        <span class="error"><?php echo $email_error;?></span>
        <input type="submit" name="submit">
    </form>
</body>
</html>
<?php
    unset($_SESSION['fname']);
    unset($_SESSION['email_error']);
?>

process.php

<?php
session_start();
include('../../db/connection.php');
if (isset($_POST['submit'])) {
    $fname=trim($_POST['fname']);
    $email=trim($_POST['email']);
    if (empty($fname)) {
        $_SESSION['fname'] ="Name is empty";
        header('location:index.php');
    }
    else
        {
        if ($fname<3) {
        $_SESSION['fname'] ="Please enter minimum 3 character";
        header('location:index.php');
    }
}
    if (empty($email)) {
        $_SESSION['email_error'] ="Email field is empty";
        header('location:index.php');
    }
    else
        {
        if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
          $_SESSION['email_error']="Invalid email format"; 
          header('location:index.php');
    } 
}

    // insert code here
}
?>

相关内容

  • 没有找到相关文章

最新更新