php - 单击按钮时从单选按钮获取值 PHP

标签 php html mysql

感谢您花时间阅读我的问题(我是 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/

相关文章:

php - 在 Underscore 模板中格式化日期

php - 从查询字符串中删除冗余变量

python - 更改 difflib.make_file() HTML 表的宽度?

php - 当我将数据输入到进行 php 更新查询的 html 文件时,如何获取更新的数据以反射(reflect)?

php - 将变量的日期与 MySQL 日期进行比较

php - Symfony2 Sonata Media Bundle 自定义图像裁剪

php - 根据购物车页面中的属性值和产品数量在 WooCommerce 中添加到购物车验证

jquery - 如何使用链接的动画CSS?

mysql - 两个非常相似的查询返回不同的结果,为什么?

Android sqlite 查询给出列不存在的错误,而实际上该列确实存在