获取表单不传递值 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> ";
我已经搜索并试图找出我的代码有什么问题已经有一段时间了,如果我仍然不知道我的代码有什么问题,我就不会问这个了。 本质上,我是在回应一个获取表单,其中包含一个 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> ";