我在回显用户输入时创建了一个表单,当我从index.php转到second.php时,它的工作非常完美
但是当我尝试在同一个index.php中回显我的帖子时,它给了我一个错误?我很困惑为什么。语法是100%正确其他明智它不会在第2页工作,我也看了w3schools
抱歉,我试过YouTubing和谷歌搜索,但每个信息都转移到第二页<html>
<body>
<form method="post">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>
<?php echo $_POST['name']; ?>
<?php echo $_POST['email']; ?>
</body>
</html>
答案 0 :(得分:1)
您遇到的问题是,在您发布(提交表单)之后,变量中的信息仅可用,因此在发布之前,$ _POST数组为空。你可以这样做来检查两种可能性:
<?php
if (isset($_POST['name'])) {
$name = $_POST['name'];
} else {
$name = '';
};
if (isset($_POST['email'])) {
$email = $_POST['email'];
} else {
$email = '';
};
?>
<html>
<body>
<form method="post">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>
<?php echo $name; ?>
<?php echo $email; ?>
</body>
</html>
答案 1 :(得分:1)
您必须将页面绑定到自身,当您单击“提交”按钮时,它将使用以下代码将文件重新发送到浏览器:action=""
这样您就可以根据需要回显变量。
<?php
if (isset($_POST['name'])) {
$name = $_POST['name'];
} else {
$name = '';
}
if (isset($_POST['email'])) {
$email = $_POST['email'];
} else {
$email = '';
}
?>
<html>
<body>
<form action="" method="post">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>
<?php echo $name; ?>
<?php echo $email; ?>
</body>
</html>
NB:如果您计划在两个单独的页面中使用此答案中的整个代码,则可以将表单的操作设置为action="nameofthefile.php"
,使用PHP并将该文件命名为{{ 1}}
答案 2 :(得分:0)
当您加载index.php文件时,服务器会读取文件中存在的PHP,如何检查$_POST
是否有值,然后尝试回显值。