用php(或者可能是其他东西,也就是AJAX)验证表单的正确方法


The proper way to validate a form with php (or possibly something else; aka AJAX)

这是怎么做到的。现在,让我详细介绍一下。从现在开始,我想为我的所有表格制定一种专业的或至少看起来专业的验证方法。我现在听到很多关于在用户离开页面之前使用AJAX来正确验证某些字段的消息,这让我很感兴趣

这是我的示例表格;

<form action="<?=$frontend['url']?>php/php-login-submission.php" method="post" id="loginForm">
    <table width="300px" border="0px" cellpadding="5">
    <tr>
        <td><label><b>Email:</b></label></td>
        <td align="right"><input name="email" type="text" id="email" placeholder="registered@email.co.uk" tabindex="1" title="email" size="30" /></td>
    </tr>
    <tr>
        <td><label><b>Password:</b></label></td>
        <td align="right"><input name="password" type="password" id="password" placeholder="********" tabindex="2" title="password" size="30" /></td>
    </tr>
    <tr>
        <td></td>
        <td align="right"><input type="submit" id="loginBtn" value="Login" /></td>
    </tr>
    </table>
</form>

使用AJAX和php,我如何正确验证这个表单。我不介意将数据发送到php/php-login-submission.php这样的中间页面,然后如果它们通过验证,它会将它们重定向到pages/members-area.php

到目前为止,我一直在使用这样的方法:;

if (!isset($_POST['email']))    $_SESSION['errortext'] = 'You must provide an email.';

然后在原始页面上打印$_SESSION['errortext']。这感觉有点混乱。

我对AJAX完全陌生,对Javascript也没有太大的信心。

顺便说一句,如果这是一个愚蠢的问题,请告诉我,我删除它没有问题。提前感谢,

亚历克斯。

我首先在客户端使用两种方法,我使用jQuery和jQuery验证插件,这样我就不会在服务器上做更多的工作,然后当我提交表单时,我会再次检查所有内容,以确保没有任何东西通过漏洞。但我就是这么做的,这可能不是的"最佳"方式