php - 如何从过程文件发送回数据? (例如错误)

标签 php forms login error-handling

我正在使用登录系统,我想知道如何将错误发送回表单?
我将在我的项目中亲自使用AJAX,所以这并不是一个真正的问题,但我很好奇知道纯PHP怎么可能。

这是表格...在login.php或其他页面上:

<form method="post" action="proccessLogin.php">
    <label for="username">Username: </label>
    <input type="text" name="username" />
    <label for="password">Password: </label>
    <input type="password" name="password" />

    <input type="submit" name="submit" value="Go!" />
</form>
processLogin.php:
<?php
    $username = $_POST['username'];
    $password = $_POST['password'];

    if(password is incorrect){
        // send error or add to an error array and then send it.
    }

    etc...
?>

这只是我刚刚编写的一段代码,因此显然还不完整。

谢谢!

最佳答案

使用 session 设置错误。请参阅下面的修改代码。

login.php

<?php
session_start();
?>
<form method="post" action="proccessLogin.php">
    <label for="username">Username: </label>
    <input type="text" name="username" />
    <?php if($_SESSION['u_name_error']) { echo $_SESSION['u_name_error']; unset($_SESSION['u_name_error']); }
    <label for="password">Password: </label>
    <input type="password" name="password" />
    <?php if($_SESSION['pass_error']) { echo $_SESSION['pass_error']; unset($_SESSION['pass_error']); }
    <input type="submit" name="submit" value="Go!" />
</form>

==============
proccessLogin.php
<?php
session_start();

    $username = $_POST['username'];
    $password = $_POST['password'];

    if(password is incorrect){
        // send error or add to an error array and then send it.
    }else{

        //set errors in session..
        $_SESSION['pass_error']= 'error message';
        $_SESSION['u_name_error']= 'error message';
        header("Location: login.php");
        die;
    }

?>

关于php - 如何从过程文件发送回数据? (例如错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11391947/

相关文章:

php - 如果 _GET 不存在,如何使用一个查询;如果 _GET 存在,如何使用其他查询?

php - PHP 中使用 LIKE 和 WHERE 查询进行选择

PHP move_uploaded_file 到 SQL

javascript - Ajax不会向php表单发起POST请求

c# - 登录错误消息对象引用

javascript - 表单发送没有改变任何东西的值

forms - XSS 注入(inject) php 表单 firefox

django - 具有多重上传的 django 形式的多个图像

authentication - 登录 : Background Details

api - 有哪些 'Login as a service' 服务?