我想在提交数据时从单选按钮获取数据,但是我不知道为什么我不能从无线电中得到它的价值。
我的代码
<?php
$choice = $_GET['choice'];
?>
<html>
<head>
</head>
<body>
<form action="index.php" method="POST">
<table align="center">
<tr><td>Please select</td></tr>
<tr><td><input type="radio" name="choice" value="0">aaaa</td></tr>
<tr><td><input type="radio" name="choice" value="1">bbbb</td></tr>
<tr><td><input type="radio" name="choice" value="2">cccc</td></tr>
<tr><td><input type="radio" name="choice" value="3">dddd</td></tr>
<tr><td><input type="submit" value="submit"></td></tr>
</table>
<?php echo"$choice";?>
</form>
</body>
</html>
使用$_POST
而不是$_GET
从表单中获取数据。或者也可以使用$_REQUEST
。用$_POST['choice']
或$_REQUEST['choice'].
替换$_GET['choice']
您使用的是$_GET
,但表单已发布。使用$choice = $_POST['choice']
。
您的表单是POST
,但您正在$_GET[]
中查找它。请在$_POST['choice']
中查找它。
表单元素的method
应该与您为表单数据访问的变量匹配:
<form method="post">
// Need to use the $_POST[] array to access values
<form method="get">
// Use the $_GET[] array to access values
$_GET通常用于url字符串。通常,您希望表单的方法为post
。
如果表单的属性方法设置为POST,则应该使用像这样的_POST全局数组-<?php $choice = $_POST['choice']; ?>