Php 从不同形式发布价值观

Php 从不同形式发布价值观,php,Php,我在index.php中有一个表单,它的值为name。在我的action.php中,我需要使用$\u POST['name']显示值。当我直接进入action.php时,名称显示得很好。然而,我在action.php中有另一个表单,当我提交该表单并刷新action.php时,显示的名称会显示一个未定义的索引错误 include('connect.php'); $name = $_POST['name']; echo $name; echo '<form method="get">

我在index.php中有一个表单,它的值为name。在我的action.php中,我需要使用$\u POST['name']显示值。当我直接进入action.php时,名称显示得很好。然而,我在action.php中有另一个表单,当我
提交该表单并刷新action.php时,显示的名称会显示一个未定义的索引错误

include('connect.php');

$name = $_POST['name'];
echo $name;

echo '<form  method="get">';
     //...
    echo '<p><input type="submit" name="submit" value="GO" />';
echo '</form>';'
include('connect.php');
$name=$_POST['name'];
echo$name;
回声';
//...
回声“”;
回音“;”

检查是否使用
isset()设置了
$\u POST['name']


您使用的是GET方法,而应该使用POST方法。
更改以下行:

echo '<form  method="get">';
echo';
致:

echo';

要从上一页的表单中调用$\u POST['name',您需要使用
form method=“GET”action=“targetpage.php”
使用$\u REQUEST[“name”]它适用于POST和GET请求

b、 t.w.您不应该直接回显输入数据!!这很容易被用来进行XSS攻击。在将输入直接回显到浏览器之前,请使用或类似的方法!否则,攻击者可能会使用类似警报(“hax0rt”)的东西;作为姓名;)

试试这个

include('connect.php');
$name = isset($_POST['name']) ? $_POST['name'] : '';
echo $name;


echo '<form  method="post">';
     //...
    echo '<input type="text" name="name"><br><p><input type="submit" name="submit" value="GO" />';
echo '</form>';'
include('connect.php');
$name=isset($\u POST['name'])$_帖子['name']:'';
echo$name;
回声';
//...
回音“
”; 回音“;”
您使用的是GET方法,而应该使用POST方法。第二个表单是否有
名称
字段?您只显示“提交”
按钮。@Barmar,即使我只有“提交”按钮,当它被单击时,错误仍然会发生。如果没有“名称”
字段,
$\u POST['name']
将不会被填充,您将得到一个错误。
$\u POST['name']
已设置。但是当我在display.php中提交表单时,它没有被设置。@user3384012:这就是为什么您要检查它,因为它没有被设置。当表单被提交时,它是当
name
未被设置或变为null时。
echo '<form  method="post">';
include('connect.php');
$name = isset($_POST['name']) ? $_POST['name'] : '';
echo $name;


echo '<form  method="post">';
     //...
    echo '<input type="text" name="name"><br><p><input type="submit" name="submit" value="GO" />';
echo '</form>';'