PHP粘性表单

PHP粘性表单,php,html,forms,sticky,Php,Html,Forms,Sticky,我一直在为php做一个关于粘滞键的项目。这很直截了当。但是我得到了一些错误。。。我用的是代码龙虾 有人能帮我找到这方面的错误吗? 我已经找了2个小时了,我试过调试,但我真的不知道如何在这里使用它 非常感谢你。任何帮助都将不胜感激 这就是我得到的: 输出应如下所示: 空字段 验证输入 请您检查一下这个代码:- 空旷的田野 验证输入 我尝试修改您的代码,有很多问题需要解决。 首先,您需要将$\u POST['name']和$\u POST['phone']保持在变量中,以便在每个函数中使用。 像

我一直在为php做一个关于粘滞键的项目。这很直截了当。但是我得到了一些错误。。。我用的是代码龙虾

有人能帮我找到这方面的错误吗? 我已经找了2个小时了,我试过调试,但我真的不知道如何在这里使用它

非常感谢你。任何帮助都将不胜感激

这就是我得到的:

输出应如下所示:

空字段
验证输入
请您检查一下这个代码:-
空旷的田野
验证输入

我尝试修改您的代码,有很多问题需要解决。
首先,您需要将$\u POST['name']和$\u POST['phone']保持在变量中,以便在每个函数中使用。 像这样,

$name = (isset($_POST['name']) ? $_POST['name'] : '');
$phone = (isset($_POST['phone']) ? $_POST['phone'] : '');
您还需要将下面的代码添加到需要使用此变量的函数的第一行

global $name;
global $phone;
在函数显示表单中,在打印(回显)行之前,需要检查$errors['name']和$errors['name']是否为空

if (isset($errors['name'])) echo $errors['name'];
if (isset($errors['phone'])) echo $errors['phone'];
最后,代码应该如下所示,我尝试了这段代码,没有错误

<html>
<head><title>Empty Fields</title>
<body>
<div align="center">
    <h2>Validating Input</h2>
    <?php
        $errors = array();

        $name = (isset($_POST['name']) ? $_POST['name'] : '');
        $phone = (isset($_POST['phone']) ? $_POST['phone'] : '');

        if(isset($_POST['submit']))
        {
            validate_input();

            if(count($errors) != 0)
            {
                display_form();
            }
            else
            {
                echo "<b>OK! Go ahead and Process the form!</b><br/>";
            }

        }
        else
        {
            display_form();
        }

        function validate_input(){
            global $errors;
            global $name;
            global $phone;

            if($name == '')
            {
                $errors['name'] = "<font color='red'>***Your name?***</font>";
            }

            if($phone == '')
            {
                $errors['phone'] = "<font color='red'>***Your phone?</font>";
            }
        }

        function display_form(){
            global $errors;
            global $name;
            global $phone;
    ?>
            <b>
            <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
                What is your name?<br/>
                <input type="text" name="name" value="<?php echo $name; ?>" /><br/>
                <?php if (isset($errors['name'])) echo $errors['name']; ?><br/>
                What is your phone number?<br/>
                <input type="text" name="phone" value="<?php echo $phone; ?>" /><br/>
                <?php if (isset($errors['phone'])) echo $errors['phone']; ?><br/>
                <input type="reset" />
                <input type="submit" name="submit" /><br/>
            </form></b>
    <?php
        }
    ?>
    </div>
</body>
</html>

空旷的田野
验证输入
只需使用isset($var);为了避免未定义的索引:php上的EROOR

echo isset($_POST['name']); echo isset($_POST['phone'])


无论您需要在哪里。

错误是什么?你能显示一些错误的图像吗?你需要添加isset条件,或者空条件,不管你想使用哪个,问题是,页面显示的通知都不是错误。
if (isset($errors['name'])) echo $errors['name'];
if (isset($errors['phone'])) echo $errors['phone'];
<html>
<head><title>Empty Fields</title>
<body>
<div align="center">
    <h2>Validating Input</h2>
    <?php
        $errors = array();

        $name = (isset($_POST['name']) ? $_POST['name'] : '');
        $phone = (isset($_POST['phone']) ? $_POST['phone'] : '');

        if(isset($_POST['submit']))
        {
            validate_input();

            if(count($errors) != 0)
            {
                display_form();
            }
            else
            {
                echo "<b>OK! Go ahead and Process the form!</b><br/>";
            }

        }
        else
        {
            display_form();
        }

        function validate_input(){
            global $errors;
            global $name;
            global $phone;

            if($name == '')
            {
                $errors['name'] = "<font color='red'>***Your name?***</font>";
            }

            if($phone == '')
            {
                $errors['phone'] = "<font color='red'>***Your phone?</font>";
            }
        }

        function display_form(){
            global $errors;
            global $name;
            global $phone;
    ?>
            <b>
            <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
                What is your name?<br/>
                <input type="text" name="name" value="<?php echo $name; ?>" /><br/>
                <?php if (isset($errors['name'])) echo $errors['name']; ?><br/>
                What is your phone number?<br/>
                <input type="text" name="phone" value="<?php echo $phone; ?>" /><br/>
                <?php if (isset($errors['phone'])) echo $errors['phone']; ?><br/>
                <input type="reset" />
                <input type="submit" name="submit" /><br/>
            </form></b>
    <?php
        }
    ?>
    </div>
</body>
</html>