获取表单不传递值 php

get form not passing value php

我已经搜索并试图找出我的代码有什么问题已经有一段时间了,如果我仍然不知道我的代码有什么问题,我就不会问这个了。 本质上,我是在回应一个获取表单,其中包含一个 php 脚本,因为它的操作是这样的:

<?php
//Add a team list and list members to each team.
$memq = "SELECT members.id, teams.team_name, teams.stage, teams.points, members.member1 FROM members INNER JOIN teams ON teams.team_name=members.team_name";
$memres = mysql_query($memq) or die ('Couldnt display members'.mysql_error());
echo "<br> Teams, Stage & Members: <br>";
while ($memrow = mysql_fetch_assoc($memres))
{
 $team_name = $memrow['team_name'];
 echo "<form method='get' action='addOne.php'><input type='hidden' name='team_name' value='$team_name'><input type ='submit' name='team_name' value='+1'></form> ";
 echo "<form method='get' action='addTwo.php?team_name=$team_name' value='<?php echo $team_name;?>'><button type ='submit'>+2</button></form> ";
 echo "<form method='get' action='addTen.php?team_name=$team_name' value='<?php echo $team_name;?>'><button type ='submit'>+10</button></form> ";
 echo $memrow['id'] . " | " . $memrow['team_name'] . " | " . $memrow['stage'] . " | " . $memrow['member1'] . " | " . $memrow['points'] . "<br>";
 
}
?>

我一直在玩弄它并尝试了很多事情(在表单声明中有 value = 字段等),但本质上当我在浏览器中检查检查器时它说这个:

<form method="get" action="addOne.php?team_name=asda">
  <input type="hidden" value="asda">
  <input type="submit" value="+1"></form>

所以你可以看到这个值确实被设置了,但是表单提交肯定不起作用,因为 addOne.php ( if (isset($_GET['team_name'])) ) 中的 if 语句总是返回 false。

我是不是漏掉了一些非常简单的东西?帮助表示赞赏,在此先感谢。 :)

您需要将属性 name 放在输入标签中,如下所示

<input type="hidden" name="var_1" value="asda" />

然后,cecibe 值如下:

$var_1 = $_REQUEST['var_1']; //REQUEST, GET or POST

问题是您在表单的操作 属性 中使用了 GET 变量。如果您在那里设置 method='get' 和带有获取变量的操作,它们将被删除并被表单中的变量覆盖。它应该遵循 HTML:

<form method="get" action="addOne.php">
    <input type="hidden" name="team_name" value="asda">
    <input type="submit" value="+1">
</form>

和 PHP 应该是这样的:

$team_name = $memrow['team_name'];
echo "<form method='get' action='addOne.php'><input type='hidden' name='team_name' value='$team_name'><input type ='submit' value='+1'></form> ";