Php 从不同形式发布价值观
我在index.php中有一个表单,它的值为name。在我的action.php中,我需要使用$\u POST['name']显示值。当我直接进入action.php时,名称显示得很好。然而,我在action.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">
提交该表单并刷新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>';'