感谢您花时间阅读我的问题(我是 PHP 新手),并花一些时间尝试和学习该语言。 我正在尝试创建自己的民意调查,用户可以在 3 个不同的国家/地区中进行选择,他们认为这三个国家/地区将赢得特定的竞争。当用户单击提交时,将触发 isset 函数,该函数应从他单击的单选按钮中获取值,并显示迄今为止每个国家/地区的票数。
当我单击“提交团队是我的单选按钮中的名称”时,我收到错误“未定义索引团队”
我并不是要求有人帮我完成这个问题,只是为我指明了正确的方向。在我的教科书中,它说你可以使用 $_REQUEST 超全局来获取任何单选按钮的值,但显然我做错了什么。
代码如下:
<?PHP if(isset($_POST["submit"])) {
$selected_team = $_REQUEST['team'];
if($selected_team == 'NZ'){
$selected_team ='NZ';
}
else if($selected_team =='AUS')
{
$selected_team = 'AUS';
}
else if($selected_team =='SA'){
$selected_team = 'SA'
}
echo $selected_team;
$sql = "SELECT * FROM `votes`";
$result = mysql_query($sql)
or die($result."<br/><br/>".mysql_error());
while ($row = mysql_fetch_array($result)){
print "AUS: ".$row['AUS']."<br>";
print "NZ: ". $row['NZ']."<br>";
$row['SA']."<br>"; print "SA:";
}
else{
echo' <form name="poll" method="post"id="poll">
<label for="NZ">New Zealand</label>
<input type="radio" id="NZ" name="NZ" value="team" /> <br />
<label for="AUS" style="margin-left:25px">Australia</label>
<input type="radio" id="AUS"name="AUS" value="team" /> <br />
<label for="SA"style="margin-left:3px">South Africa</label>
<input type="radio"id="SA" name="SA" value="team" /> <br />
最佳答案
有很多问题。
您的问题之一是您为单选按钮分配了错误的值。 value
是单选按钮的值。所以你的表单应该是这样的:
echo' <form name="poll" method="post"id="poll" action="your_next_script.php">
<label for="NZ">New Zealand</label>
<input type="radio" id="NZ" name="team" value="NZ" /> <br />
<label for="AUS" style="margin-left:25px">Australia</label>
<input type="radio" id="AUS"name="team" value="AUS" /> <br />
<label for="SA"style="margin-left:3px">South Africa</label>
<input type="radio"id="SA" name="team" value="SA" /> <br />
<input type="submit" value="submit"/>
然后在下一页 your_next_script.php
中,您可以通过执行以下操作来处理表单:
$selected_team = $_POST['team'];
if($selected_team == 'NZ'){
$selected_team ='NZ';
}
else if($selected_team =='AUS')
{
$selected_team = 'AUS';
}
else if($selected_team =='SA'){
$selected_team = 'SA'
}
echo $selected_team;
你可以诚实地将其缩短为:
$selected_team = $_POST['team'];
echo $selected_team;
不需要 if/else 语句,因为您所做的只是输出 $selected_teams
的值。如果您计划处理数据,例如增加投票数,则需要 if/else
语句
您需要记住的一点是,PHP
是服务器端脚本,仅单击单选按钮不会触发操作。您必须提交表单,然后转到另一个页面来处理数据。如果您想在不提交表单的情况下处理数据,则需要使用 javascript,但如果您要进行民意调查,那么您将需要第二个页面。
关于php - 单击按钮时从单选按钮获取值 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21199493/