我完全惊呆了,似乎找不到解决方案。您是否应该做一些额外的事情来创建一个简单的php表单?
php代码:
<?php
$name = $_GET['name'];
$age = $_GET['age'];
echo "Hello $name. Congratulations on being $age years old!";
?>
表单html:
<form action="get.php" method="get">
<p>What's your name?</br><input type="text" name="name"></p>
<p>How old are you?</br><input type="text" name="age"></p>
<p><input type="submit" value="Skicka"></p>
</form>
正手谢谢!祝你们今天愉快。
首先,空间根本不重要。
"未定义索引"意味着您很可能将输入字段留空。在这种情况下,浏览器不会发送它,PHP会发出通知,说您正在访问一个未初始化的变量
如果两个代码段都在同一页上,那么"未定义索引"将始终在第一页加载时抛出,因为没有提交的数据,也没有填充的$_GET数组。
正确的方法是检查是否有提交的数据,例如:
<?php
if (isset($_GET['name']) || isset($_GET['age'])) {
// ...
}
?>
此外,在尝试获取每个索引的值之前,最好先检查其是否存在,例如:
<?php
// check variables with isset() before accessing them
$name = isset($_GET['name']) ? $_GET['name'] : '';
$age = isset($_GET['age']) ? $_GET['age'] : '';
?>
如果你不熟悉什么?:(或者如果没有设置变量,则希望有一个特殊的处理),上面的代码与此相同:
<?php
// check variables with isset() before accessing them
if (isset($_GET['name'])) {
$name = $_GET['name'];
} else {
$name = '';
}
if (isset($_GET['age'])) {
$age = $_GET['age'];
} else {
$age = '';
}
?>
最后,正如Daniel Ferrans建议的那样,我总是对表单数据使用$_POST。这就是它的真正意义。
我会使用post而不是Get。(我不会在生产中使用get,因为表单的所有信息都在URL中)
不过,因为看起来你是在做测试,所以我要对以下内容进行说明。1) 在根文件夹中,您有表单和get.php
我会通过打开一个url来测试getphp脚本:
Ex。http://localhost/get.php?name=TESTNAME&年龄=xx
在php中,我会有以下代码
<?php
$name = $_GET['name'];
$age = $_GET ['age'];
echo "Hello $name. Congratulations on being $age years old!";
?>
这应该会输出一些东西。让我知道它是否工作
只测试一个文件中的所有内容,如下所示:test.php
<?php
$name = $_GET['name'];
$age = $_GET ['age'];
echo "Hello $name. Congratulations on being $age years old!";
?>
<form action="test.php" method="get">
<p>What's your name?</br><input type="text" name="name"></p>
<p>How old are you?</br><input type="text" name="age"></p>
<p><input type="submit" value="Skicka"></p>
</form>
它对我有用。
或者像这样更好:
<?php
if (isset($_GET['name']) && isset($_GET['age'])){
$name = $_GET['name'];
$age = $_GET ['age'];
echo "Hello $name. Congratulations on being $age years old!";
}else{
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get">
<p>What's your name?</br><input type="text" name="name"></p>
<p>How old are you?</br><input type="text" name="age"></p>
<p><input type="submit" value="Skicka"></p>
</form>
<?php
}
?>
像这样,你可以把这个代码粘贴到任何你喜欢的地方,它将在不修改的情况下工作。。。
这是get.php
:的正确形式
<?php
$name = $_GET['name'];
$age = $_GET ['age'];
echo "Hello ".$name." Congratulations on being ".$age." years old!";
?>