如何在不带锚标记的不同页面中回显php变量(在一个页面中定义)

时间:2018-05-15 11:51:14

标签: php login

我在library.php中定义了一个带字符串值的变量,我想在另一个页面client-login.php中使用它,而不使用锚标记。

library.php:

if(isset($_POST['client-login-submit'])){
$username = trim($_POST['username']);
$password = trim($_POST['password']);

if($username == ""){
    $login_error_message = 'Username field is required!';


}else if($password == ""){
    $login_error_message = 'Password field is required!';


}else{
    $id = Login($username, $password);
    if($id > 0){
        $_SESSION['id'] = $id; // Set Session
        header("location: ../../main.php");
    }else{
        $login_error_message = 'Invalid login details!';
        }
    }
}

客户端的login.php:

<form action="inc/lib/library.php" method="post">

        <h1>LOG IN</h1>
        <input placeholder="Username" type="text" name="username" id="username">
        <input placeholder="Password" type="password" name="password" id="password">
        <input type="submit" name="client-login-submit" value="LOG IN">
        <p>Forget Your Password? <a href="#">RESET</a></p>
        <p><a href="client-sign-up.php">SIGN UP</a></p>
        <?php
        if ($login_error_message != "") {
            echo '<p style="color: red;"><strong>Error: </strong> ' .$login_error_message. '</p>';
        }
        ?>
    </form>

这是我在出现错误后必须显示$ login_error_message的地方出现的错误......:

Notice: Undefined variable: login_error_message in C:\xampp\htdocs\fashion\client-login.php on line 54

在提交表单后如果有错误则必须显示,但上面的错误已经显示,甚至在点击之前......当我点击提交按钮时,它会转到library.php页面,这是空白的。

请问如何在client-login.php中使用$ login_error_message?提前谢谢......

1 个答案:

答案 0 :(得分:0)

您可以将变量设置为Session变量并将其访问到其他页面。

In library.php:
$_SESSION['login_error_msg'] = 'your msg';

In client-login.php:
if(isset($_SESSION['login_error_msg']))
{
    echo '<p style="color: red;"><strong>Error: </strong> ' .$_SESSION['login_error_msg']. '</p>';
}