首页 > 解决方案 > 在 PHP 中使用 GET 和 POST 回显表单数据和操作

问题描述

实际上我需要回显表单并在同一个php页面中获取表单数据或发送到另一个php页面,准备了一个伪代码,因为我不能在这里发布我的原始代码。

  <?php echo "<html><body>";
  if(isset($_POST['submit']))
{
    $name = $_POST['firstname'];
    echo "User Has submitted the form and entered this name : <b> $name </b>";
}
echo"<form action=$_SERVER['PHP_SELF']>
    First name:<br>
    <input type='text' name='firstname' value='John'><br>
    Last name:<br>
    <input type='text' name='lastname' value='Rambo'><br><br>
    <input type='submit' value='Submit'>
    </form></body></html>";
?>

php页面被调用/加载成功加载。表单也在 工作。form action=$_SERVER['PHP_SELF']但是不能正常工作,下面的代码也不能正常工作。

 if(isset($_POST['submit']))
{
    $name = $_POST['firstname'];
    echo "User Has submitted the form and entered this name : <b> $name </b>";
}

标签: phphtmlformsecho

解决方案


这是经过测试的代码。类似于你想要的。

将 $_SERVER['PHP_SELF'] 更改为 #

<?php
error_reporting(E_ERROR );
$first = '';
$last = '';
if (intval($_POST['sub'])){
  $first = $_POST['firstname'];
  $last = $_POST['lastname'];
}

echo <<<EOT
<html><head></head><body>
<form action="#" method="post">
    First name:<br>
    <input type='text' name='firstname' value="$first"><br>
    Last name:<br>
    <input type='text' name='lastname'  value="$last"><br><br>
    <input type='submit' value='Submit'/>
    <input type="hidden" name="sub" value=1/> 
    </form></body></html>
EOT;
?>

推荐阅读