php 得到 post 不工作

php get post not working

我坚持要创建一个系统来收集用户的名字和第二个名字。我创建了两个页面,htest1.php 和 htest2.php。 htest1.php 包含供用户输入详细信息的表单。第二页 htest2.php 有一个脚本来查找使用表单发送的数据,并且 return 该数据显示在第一页中。

出于某种原因,当我在浏览器中执行时,它无法正常工作并出现两个输入框。

这是我的 htest1.php 代码:

<?php
    if(isset($_GET['submit'])){
        echo "Hello".$_GET['fname'];
        echo "Hello".$_GET['sname'];

    }
?>

<form method="post" action= "htest2.php"
    <label for="firstname" Enter your name</label>
    <input type="text" id="firstname" name="firstname" />
    <input type="text" id="surname" name="surname" />
    <inout type="submit" id="submit" name="submit" value="Send" />
</form>

htest2.php 的代码:

    <?php
$fname = $_POST['firstname'];
$sname = $_POST['surname'];
header ("Location: htest1.php?fname=$fname&sname=$sname");
    ?>

谁能找出错误?

您没有关闭表单,您的提交按钮和标签也有类型错误 ('inout')。试试这个:

<form method="post" action="htest2.php">
  <label for="firstname">Enter your name</label>
  <input type="text" id="firstname" name="firstname" />
  <input type="text" id="surname" name="surname" />
  <input type="submit" id="submit" name="submit" value="Send" />
</form>

没有名为 <inout /> 的 html 标签。 表单动作很好,但更好的方法是将动作属性设置为 htest1.php,将方法设置为 post。你还忘记了 action 属性后面的 >

<?php
    if(isset($_GET['submit'])){
        echo "Hello".$_GET['fname'];
        echo "Hello".$_GET['sname'];
    }
?>

<form method="get" action="htest1.php">
    <label for="firstname">Enter your name</label>
    <input type="text" id="firstname" name="firstname" />
    <input type="text" id="surname" name="surname" />
    <input type="submit" id="submit" name="submit" value="Send" />
</form>

当您再次重定向到第一页时,未设置 $_GET['submit']。尝试

<?php
    if(isset($_GET['fname']) && isset($_GET['lname'])){
        echo "Hello".$_GET['fname'];
        echo "Hello".$_GET['sname'];

    }
?>