php:表单上的动作不起作用 - 初学者

时间:2013-04-18 07:51:24

标签: php forms

我是php的初学者,所以在提交表单时我做了一个小问题

表单就像那样

<form name="form1" method="post" action="?flag=1"> 
  <input type="submit" name="button" id="button" value="Submit">
</form>

和php代码 - 在同一页面上 -

<?php

if ($flag) {echo "Helllllllllo";}
?>

并且它无效,我尝试在action="otherpage.php?flag=1"

等其他页面上执行操作

但也没用 任何帮助请问:)?

5 个答案:

答案 0 :(得分:3)

$_GET变量 - 您在查询字符串中看到的变量

$_POST个变量 - 您使用表单发送的变量method="post"

如果您只需要检查标志是否存在,请执行以下操作:

if(isset($_GET['flag'])){

如果没有isset,您可以获得未定义的索引通知

答案 1 :(得分:2)

尝试使用:

<?php
if ($_GET['flag']) {echo "Helllllllllo";}
?>

但是,您的表单配置不正确。纠正一个:

<?php
if (isset($_POST['flag'])) { echo "Helllllllllo ", $_POST['flag']; }
?>

<form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
  <input type="text" name="flag" value="1">
  <input type="submit" name="button" id="button" value="Submit">
</form>

存储在$_GET中的网址?之后的所有内容,$_POST中几乎所有内容(文件和其他特殊内容都有例外)。

答案 2 :(得分:0)

试试这个:

<?php

if (isset($_GET['flag'])) {echo "Helllllllllo";}
?>

修改
但问题是另一个问题,你提出了一个帖子请求并在GET中做了一个动作,试试这个目的:

<form name="form1" method="post" action=""> 
  <input type="hidden" name="flag" value="1">
  <input type="submit" name="button" id="button" value="Submit">
</form>

后:

<?php

if (isset($_POST['flag'])) {echo "Helllllllllo";}
?>

在此模式下,您将值为1的变量falg传递给您的oage,您可以使用$ _POST

检索它

答案 3 :(得分:0)

什么是$flag

Try $_SERVER["flag"]


<?php

if ($_SERVER["flag"]) {echo "Helllllllllo";}
?>

答案 4 :(得分:0)

您的表单错误,您需要将页面作为操作设置为同一页面或您要重定向到的其他页面,然后获取POST变量,转换为变量并用于if条件

<form name="form1" method="post" action="'.$_SERVER['PHP_SELF'].'"> 
  <input type="submit" name="button" id="button" value="Submit">
  <input type="hidden" name="flag" value="1">
</form>

$flag = $_POST['flag'];

if ($flag == '1') {echo "Helllllllllo";}