我想从选中的单选按钮获取一个值并将其插入MySQL。
我已经使用了isset(),但是当我检查结果时,我无法获得所选的单选按钮。
有人可以帮助我吗?
<form method="post" class="input" action="doRegisCourse.php">
<table>
<?php
while($row=mysql_fetch_array($query)){
?>
<tr>
<td><input type="radio" value="mentor" name="mentor"/></td>
<td><?php echo $row['mentorName']?></td>
<td><?php echo $row['course']?></td>
<td><?php echo $row['nim']?></td>
<td><?php echo $row['email']?></td>
</tr>
<?php } ?>
</table>
<input type="submit" value="Next" name="submit">
</form>
doRegisCourse.php
<?php
include "connect.php";
$name = $_POST['fullname'];
$name2 = $_POST['fullname2'];
$name3 = $_POST['fullname3'];
$course = $_POST['course'];
$mentor = mysql_query("SELECT * from msmentor");
$i = 1;
while ($arr = mysql_fetch_array($mentor)) {
if (isset($_POST['mentor'])) {
$query = "INSERT INTO membercourse(memberGroup,courseName,mentorName)
VALUES ('".$name."','".$course."','".$arr['mentorName']."'),('".$name2."','".$course."','".$arr['mentorName']."'),
('".$name3."','".$course."','".$arr['mentorName']."')";
echo $_POST['mentor'];
}
$i++;
}
if (mysql_query($query)) {
header("location:indexLogin.php");
}
echo $ _POST ['mentor']返回此信息 'mentormentormentormentor'
答案 0 :(得分:1)
您当前编写的方式(<input type="radio" value="mentor" name="mentor"/>
),所有单选按钮都具有相同的值:"mentor"
。您需要将值设置为指导者的名称,如下所示:
<input type="radio" value="<?php echo $row['mentorName']?>" name="mentor"/>
然后,在doRegisCourse.php
中,您实际上并没有从$ _POST中拉出选定的导师。您正在检查是否设置了$_POST['mentor']
,但您INSERT
进入membercourse
的指导者的值是从另一个mysql查询中获取的,而不是来自发布的值。
这可能就是你的想法,但让人们为导师挑选价值而不是真正使用它似乎很奇怪。