我的代码中的$ _GET可能有什么问题?

时间:2017-09-02 20:45:20

标签: php html

<html>
<body>

// GET方法

Welcome <?php echo $_GET["name"]; ?><br>
Your email address is: <?php echo $_GET["email"]; ?>

</body>
</html>`enter code here`
<html>
<body>

//表格html代码

<form action="welcome_get.php" method="get">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>

</body>
</html>

错误

Notice: Undefined index: name in C:\wamp64\www\FMS\welcome.php on line 4 
Notice: Undefined index: email in C:\wamp64\www\FMS\welcome.php on line 5 

2 个答案:

答案 0 :(得分:2)

如果这一切都在同一页面上,并且它看起来像是,那么你需要检查那些$ _GET变量实际存在,然后才能回显它们:

Welcome <?php echo isset( $_GET["name"] ) ? $_GET["name"] : 'Nameless One'; ?><br>
Your email address is: <?php echo isset( $_GET["email"] ) ? $_GET["email"] : 'non-existent'; ?>

答案 1 :(得分:1)

PHP告诉你'{1}}超级全局数组中不存在'name'的键,因为尚未填充它,因为表单尚未提交。

如果你有一个带有表单的页面,我们称之为welcome.php,它包含以下代码。

file.,txt

然后表单操作告诉服务器让welcome_get.php处理表单。如果这是你想要的,那么你需要在welcome.php所在的文件夹中使用welcome_get.php,并将此代码放在welcome_get.php中

$_GET

如果您希望表单脚本welcome.php自行处理并显示消息,请将表单的操作类型更改为#like this。以下代码仅在用户提交表单后显示欢迎,欢迎文本显示在表单下方。这可以防止错误

<html>
    <body>
     <form action="welcome_get.php" method="get">
        Name: <input type="text" name="name"><br>
        E-mail: <input type="text" name="email"><br>
        <input type="submit">
        </form>
    </body>
    </html>