0

我是 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"

但它也没有任何帮助请:)?

4

5 回答 5

3

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

$_POST变量- 随表单发送的变量 ifmethod="post"

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

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

没有isset你可以获得未定义索引通知

于 2013-04-18T07:57:33.870 回答
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>

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

于 2013-04-18T07:52:30.750 回答
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 检索它

于 2013-04-18T07:52:46.220 回答
0

什么是$flag

Try $_SERVER["flag"]


<?php

if ($_SERVER["flag"]) {echo "Helllllllllo";}
?>
于 2013-04-18T07:53:51.163 回答
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";}
于 2013-04-18T07:55:44.693 回答