2015-08-17 61 views
0

我想從選中的單選按鈕獲取一個值並將其插入到MySQL中。從單選按鈕獲取一個選定的值並將其插入到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"); 
} 

回聲$ _ POST [ '導師']返回此 'mentormentormentormentor'

+2

如果可以的話,你應該[停止使用'mysql_ *'函數](http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php)。他們不再被維護,並[正式棄用](https://wiki.php.net/rfc/mysql_deprecation)。瞭解[準備](http://en.wikipedia.org/wiki/Prepared_statement)[聲明](http://php.net/manual/en/pdo.prepared-statements.php),並考慮使用PDO ,[這真的不難](http://jayblanchard.net/demystifying_php_pdo.html)。 –

+2

[你的腳本存在SQL注入攻擊風險](http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php) –

+0

什麼是echo $ _POST [ '導師'];'返回? – Lal

回答

1

你目前它寫(<input type="radio" value="mentor" name="mentor"/>)的方式,所有的單選按鈕將具有相同的值:"mentor"。您需要設置的值等於導師的名字,像這樣:

<input type="radio" value="<?php echo $row['mentorName']?>" name="mentor"/> 

然後,在doRegisCourse.php,你實際上並沒有從$ _ POST拉伸所選導師。您正在檢查是否設置了$_POST['mentor'],但您的INSERTmembercourse的導師的值取自另一個mysql查詢,而不是來自發布的值。

這可能是你的想法,但讓人們爲導師選擇一個價值然後不真正使用它似乎很奇怪。

+1

當你檢查它是否被設置時,你可以得到它:'$ _POST ['導師']'。你可以在你的查詢中使用這個值,而不是'$ arr ['mentorName']',如果這是你想要的值。我希望我能給出更好的建議,但是我對'msmentor'的SELECT *有點困惑,所以我實際上並不完全確定你的代碼的總體目標是什麼。 –

+0

Okaay.Thanks您的幫助!這是非常有幫助的 –

+0

不客氣。 –

相關問題