Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
浏览器刷新后尝试保留在PHP表单文本字段中输入的值时出错_Php_Forms_Submit - Fatal编程技术网

浏览器刷新后尝试保留在PHP表单文本字段中输入的值时出错

浏览器刷新后尝试保留在PHP表单文本字段中输入的值时出错,php,forms,submit,Php,Forms,Submit,我正在尝试运行一个小的PHP脚本。当我尝试运行这个小PHP行时,我遇到了一个错误: 在html代码中。根据我的教程指南,value元素中的这一行应该可以确保即使在刷新浏览器后,我也会保留输入到文本字段中的任何输入文本,但事实并非如此!出现以下错误消息: 注意:未定义变量:C:\wamp\www\pages\basicForm.php中的姓氏 第27行调用堆栈#TimeMemoryFunctionLocation 10.0007366504{main}( )..\basicForm.php:0“N

我正在尝试运行一个小的PHP脚本。当我尝试运行这个小PHP行时,我遇到了一个错误: 在html代码中。根据我的教程指南,value元素中的这一行应该可以确保即使在刷新浏览器后,我也会保留输入到文本字段中的任何输入文本,但事实并非如此!出现以下错误消息:

注意:未定义变量:C:\wamp\www\pages\basicForm.php中的姓氏 第27行调用堆栈#TimeMemoryFunctionLocation 10.0007366504{main}( )..\basicForm.php:0“NAME=”姓氏“>

为什么?

以及守则:

<!DOCTYPE html>
<html>
<head>
    <title></title>
        <?PHP
        if (!empty($_POST)) {
            $firstname = $_POST['firstname'];
            $surname = $_POST['surname'];
            print($firstname);
            print($surname);
        }
        else {

        } print( 'welcomes');
    ?>
</head>
<body>
<Form name ="form1" Method ="POST" Action ="basicForm.php">
    <label>


    <INPUT TYPE = 'TEXT' Name ='firstname' VALUE="<?PHP print $firstname ; ?>">
    </label>

    <p>
        <label>
            <INPUT TYPE="TEXT" VALUE="<?PHP print($surname); ?>" NAME="surname">
        </label>

    <p>
        <Input Type = "Submit" Name = "Submit1" Value = "Login">
</FORM>


</body>
</html>


所有您需要分配的初始值如下

$firstname = '';
$surname = '';
依赖未初始化变量的默认值是 在将一个文件包含到另一个使用 相同的变量名。这也是 寄存器\u全局已打开。如果出现错误,将发出E\u通知级别错误 使用未初始化的变量,但在 将元素追加到未初始化的array.isset()语言 构造可用于检测变量是否已被删除 初始化


阅读更多详细信息:

$namel
最初未设置:

<INPUT TYPE="TEXT" VALUE="<?PHP print($surname);

如果
$\u POST
变量为空,则不会创建
$姓氏

1、预定义变量:

$firstname = '';
$surname = '';
if (!empty($_POST)) {
    $firstname = $_POST['firstname'];
    $surname = $_POST['surname'];
}else {

}
2、使用三元语法:

$firstname = isset($_POST['firstname']) ? $_POST['firstname'] : ''; 
$surname = isset($_POST['surname']) ? $_POST['surname'] : '';
两者都将确保在打印变量之前创建变量

根据我的教程指南,value元素中的这一行应确保即使在刷新浏览器后,仍保留输入到文本字段中的任何输入文本

您似乎误解了您的教程。
服务器端技术在您实际向服务器发送某些内容之前无法提供帮助。
所以,看起来您只是在输入值并在提交之前刷新页面。虽然一些浏览器可能会根据自己的意愿保留输入的值,但服务器端PHP与此无关


另一个故事是,如果你用服务器上已有的值填充表单,这种填充表单将持续存在,甚至刷新。

是的,这是有效的-在html代码执行之前,我只是在顶部的PHP代码中声明了变量。谢谢.p.s我希望我的教程指南能更好地通知我。我能找到你我猜是我的错误。是的,很好的一点,我将在脚本顶部PHP代码的开头声明变量