PHP在验证错误后保留输入的值

时间:2015-10-22 08:51:55

标签: php validation error-handling

我有一个需要验证的简单表单。
我使用empty()函数执行此操作。如果验证未通过,则会向用户发出警报。创建此警报后,所有输入的值都将消失。

我想保留它们。

这就是我所做的:

<form id="" name="" action="<?php echo get_permalink(); ?>" method="post">
    <table>
        <tr>
            <td>
                Name:<input type="text" id="name" name="name">
            </td>
        </tr>
        <tr>
            <td>
                <input class="submit-button" type="submit" value="Send" name="submit">
            </td>
        </tr>
    </table>
</form>
<?php
    if($_POST["submit"]){
        if (!empty ($_POST["name"])){
          // do something
        }else{
            ?>
            <script type="text/javascript">
                alert('U heeft niet alle velden ingevuld. Graag een volledig ingevuld formulier versturen');
            </script>
            <?php
        }
?>  

4 个答案:

答案 0 :(得分:5)

将输入的值作为默认值传递给输入:

from scrapy.spiders import Rule


rules = (

    Rule(CustomLinkExtractor(canonicalize=False, allow=[('^https?\:\/\/example\.com\/something\/.*'),]), callback='parse_item', follow=True),

  )

答案 1 :(得分:2)

对于每个输入字段,最简单的方法是:

<input type="text" id="name" name="name" value="<?= isset($_POST['name']) ? $_POST['name'] : ''; ?>">

它检查您是否已经提交过一次表单,如果是,则将值放在文本框中。

答案 2 :(得分:2)

奇怪的是,我碰巧正在做类似的事情,并且一直在使用以下内容确保表单数据在提交表单后可用。它使用会话变量来存储POST的结果,并用作表单字段中的值。

total 124
drwxr-xr-x  5 malameng malameng  4096 2015-10-22 02:52 .
drwxr-xr-x 18 malameng nobody    4096 2015-10-22 03:04 ..
drwxr-xr-x 13 malameng malameng  4096 2015-03-20 05:54 app
-rw-r--r--  1 malameng malameng  2452 2015-03-17 09:44 artisan
drwxr-xr-x  2 malameng malameng  4096 2015-03-20 05:55 bootstrap
-rw-r--r--  1 malameng malameng   798 2015-03-17 09:44 composer.json
-rw-r--r--  1 malameng malameng 68065 2015-03-17 09:44 composer.lock
-rw-r--r--  1 malameng malameng   146 2015-03-17 09:44 CONTRIBUTING.md
-rw-r--r--  1 malameng malameng   606 2015-10-21 09:25 error_log
-rw-r--r--  1 malameng malameng    12 2015-03-17 09:44 .gitattributes
-rw-r--r--  1 malameng malameng   100 2015-03-17 09:44 .gitignore
-rw-r--r--  1 malameng malameng   567 2015-03-17 09:44 phpunit.xml
-rw-r--r--  1 malameng malameng  2051 2015-03-17 09:44 readme.md
-rw-r--r--  1 malameng malameng   519 2015-03-17 09:44 server.php
drwxr-xr-x 24 malameng malameng  4096 2015-03-20 05:54 vendor

答案 3 :(得分:-1)

我尝试了最后一个选项,但是由于某种原因,它对我而言没有用。也许我做错了,但是我只是在联系表格的html文件中添加了上面的行。