感谢您抽出宝贵时间阅读我对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 />
答案 0 :(得分:0)
有很多问题。
您的一个问题是您正在为单选按钮分配错误的值。 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,但是如果要进行民意调查,那么你将需要第二页。