2016-04-20 39 views
0

我填寫完必要的東西后,表格仍然不會提交(或者重定向到我創建的「voted.php」,以幫助我連接到數據庫)。單選按鈕正確點擊,但不僅僅是重定向。我的表格沒有提交

這是我的代碼:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Vote</title> 
</head> 

<body> 

<h1>Please note that you only get to vote one time. Look carefully and make a wise choice.</h1> 

<form method="post" action="vote_process.php" > 

<div class="section"> 
<strong>Matriculation Number:</strong> 
    <input type="text" size="30" maxlength="16" name="Reg_Num" /><br /> 
</div> 
<p><p></p></p> 



<div class="section"> 
    <form> 
    <h3><strong>President:</strong></h3> 
    <input type="radio" name="radio_array[]" value="Presi_1" name="President_1" />President 1 
    <input type="radio" name="radio_array[]" value="Presi 2" name="President_2" />President 2 
    </form> 
</div> 

<p></p><p></p> 
<div class="section"> 
    <form> 
    <h3><strong>Vice President:</strong></h3> 
    <input type="radio" name="radio_array[]" value="VP1" name="Vice_President_1" />Vice President 1 
    <input type="radio" name="radio_array[]" value="VP2" name="Vice_President_2" />Vice President 2 
    </form> 
</div> 



<p></p><p></p> 
<div class="section"> 
    <form> 
    <h3><strong>Secretary General:</strong></h3> 
    <input type="radio" name="radio_array[]" value="SecGen1" name="Secretary_General_1" />Secretary General 1 
    <input type="radio" name="radio_array[]" value="SecGen2" name="Secretary_General_2" />Secretary General 2 
    </form> 
</div> 


<p></p><p></p> 
<div class="section"> 
    <form> 
    <h3>Director of Finance:</h3> 
    <input type="radio" name="radio_array[]" value="FinSec1" name="Finance_1" />Director of Finance 1 
    <input type="radio" name="radio_array[]" value="FinSec2" name="Finance_2" />Director of Finance 2 
    </form> 
</div> 


<p></p><p></p> 
<div class="section"> 
    <form> 
    <h3>Director of Software:</h3> 
    <input type="radio" name="radio_array[]" value="Software1" name="Software_1" />Director of Software 1 
    <input type="radio" name="radio_array[]" value="Software2" name="Software_2" />Director of Software 2 
    </form> 
</div> 


<p></p><p></p> 
<div class="section"> 
    <form> 
    <h3>Assistant Secretary General:</h3> 
    <input type="radio" name="radio_array[]" value="AssSecGen1" name="Assist_Sec_Gen_1" />Assistant Secretary General 1 
    <input type="radio" name="radio_array[]" value="AssSecGen2" name="Assist_Sec_Gen_2" />Assistant Secretary General 2 
    </form> 
</div> 


<p></p><p></p> 
<div class="section"> 
    <form> 
    <h3>Director of Information:</h3> 
    <input type="radio" name="radio_array[]" value="Info1" name="Info_1" />Director of Information 1 
    <input type="radio" name="radio_array[]" value="Info2" name="Info_2" />Director of Information 2 
    </form> 
</div> 


<p></p><p></p> 
<div class="section"> 
    <form> 
    <h3>Director of Welfare:</h3> 
    <input type="radio" name="radio_array[]" value="Welfare1" name="Welfare_1" />Director of Welfare 1 
    <input type="radio" name="radio_array[]" value="Welfare2" name="Welfare_2" />Director of Welfare 2 
    </form> 
</div> 

<p></p><p></p> 
<div class="section"> 
    <form> 
    <h3>Director of Sports:</h3> 
    <input type="radio" name="radio_array[]" value="Sport1" name="Sports_1" />Director of Sport 1 
    <input type="radio" name="radio_array[]" value="Sport2" name="Sports_2" />Director of Sport 2 
    </form> 
</div> 


<p></p><p></p> 
<div class="section"> 
    <form> 
    <h3>Director of protocol:</h3> 
    <input type="radio" name="radio_array[]" value="Protocol1" name="Protocol_1" />Director of Protocol 1 
    <input type="radio" name="radio_array[]" value="Protocol2" name="Protocol_2" />Director of Protocol 2 
    </form> 
</div> 



<p></p><p></p> 
<div class="section"> 
    <form> 
    <h3>Financial Secretary</h3> 
    <input type="radio" name="radio_array[]" value="FinSec1" name="Fin_Sec_1" />Financial Secretary 1 
    <input type="radio" name="radio_array[]" value="FinSec2" name="Fin_Sec_2" />Financial Secretary 2 
    </form> 
</div> 

</div> 
<p></p> 
<input type="submit" name="submit" /> 

</body> 

</html> 

數據庫連接器:

<?php 
$servername = "localhost"; 
$username = "root"; 
$password = "5050"; 
$dbname = "election"; 

// Create connection 
$conn = mysqli_connect($servername, $username, $password, $dbname); 

// Check connection 
if (!$conn) { 
die("Connection failed: " . mysqli_connect_error()); 
} 


$sqli = "INSERT INTO `election`.`voted` (`Reg_Num`, `President_1`, `President_2`, `Vice_President_1`, `Vice_President_2`, `Secretary_General_1`, `Secretary_General_2`, `Finance_1`, `Finance_2`, `Software_1`, `Software_2`, `Assist_Sec_Gen_1`, `Assist_Sec_Gen_2`, `Info_1`, `Info_2`, `Welfare_1`, `Welfare_2`, `Sports_1`, `Sports_2`, `Protocol_1`, `Protocol_2`, `Fin_Sec_1`, `Fin_Sec_2`) 
VALUES 
('$_POST[Reg_Num]', '$_POST[President_1]', '$_POST[President_2]', '$_POST[Vice_President_1]', '$_POST[Vice_President_2]', '$_POST[Secretary_General_1]', '$_POST[Secretary_General_2]', '$_POST[Finance_1]', '$_POST[Finance_2]', '$_POST[Software_1]', '$_POST[Software_2]', '$_POST[Assist_Sec_Gen_1]', '$_POST[Assist_Sec_Gen_2]', '$_POST[Info_1]', '$_POST[Info_2]', '$_POST[Welfare_1]', '$_POST[Welfare_2]', '$_POST[Sports_1]', '$_POST[Sports_2]', '$_POST[Protocol_1]', '$_POST[Protocol_2]', '$_POST[Fin_Sec_1]', '$_POST[Fin_Sec_2]');"; 

if ($conn->query($sqli) === TRUE) { 
    echo "Voted Successfully"; 
} else { 
    echo "Error: " . $conn->error; 
} 

?> 


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Form</title> 
</head> 
<body> 
<title>Form Submitted</title> 
<p></p> 
<p>Thanks for Voting.</p> 
<p></p> 
<p>Please note that you cannot vote two times</p> 
<p></p> 
<a href="registration.php">Another Voter</a><br /> 
</body> 
</html> 

請幫幫忙!

+0

刪除額外

標籤。 – RJParikh

+0

我很困惑..爲什麼你有這麼多的表單標籤?此外,你永遠不會關閉第一種形式。嘗試刪除所有其他表單標記並在呈現所有輸入字段後關閉第一個表單。 –

回答

0

您的表單元素有兩個名稱屬性...刪除第1名的屬性,它是NAME = 「radio_array []」

更新你的插入查詢:

$sqli = "INSERT INTO `election`.`voted` (`Reg_Num`, `President_1`, `President_2`, `Vice_President_1`, `Vice_President_2`, `Secretary_General_1`, `Secretary_General_2`, `Finance_1`, `Finance_2`, `Software_1`, `Software_2`, `Assist_Sec_Gen_1`, `Assist_Sec_Gen_2`, `Info_1`, `Info_2`, `Welfare_1`, `Welfare_2`, `Sports_1`, `Sports_2`, `Protocol_1`, `Protocol_2`, `Fin_Sec_1`, `Fin_Sec_2`) 
VALUES 
('".$_POST['Reg_Num']."', '".$_POST["President_1"]."', '".$_POST["President_2]."', '".$_POST["Vice_President_1"]'"......"; 

這樣.... 你也應該注意sql注入

+0

問題是表單沒有提交。用戶在插入查詢中沒有問題。 – RJParikh

0

大聲笑,你的input type="submit"按鈕是在form的外面.....它應該在form標籤內。除了不想一次提交所有輸入字段以外,還可以只使用一種形式而不是100種形式。

請記住,每個表單都需要提交按鈕。否則它不會提交任何內容。

Read this

<form method="post" action="vote_process.php" > 

<div class="section"> 
<strong>Matriculation Number:</strong> 
    <input type="text" size="30" maxlength="16" name="Reg_Num" /><br /> 
</div> 
<p><p></p></p> 

<div class="section"> 
    <h3><strong>President:</strong></h3> 
    <input type="radio" name="radio_array[]" value="Presi_1" name="President_1" />President 1 
    <input type="radio" name="radio_array[]" value="Presi 2" name="President_2" />President 2 
</div> 

<p></p><p></p> 
<div class="section"> 
    <h3><strong>Vice President:</strong></h3> 
    <input type="radio" name="radio_array[]" value="VP1" name="Vice_President_1" />Vice President 1 
    <input type="radio" name="radio_array[]" value="VP2" name="Vice_President_2" />Vice President 2 
</div> 

<p></p><p></p> 
<div class="section"> 
    <h3><strong>Secretary General:</strong></h3> 
    <input type="radio" name="radio_array[]" value="SecGen1" name="Secretary_General_1" />Secretary General 1 
    <input type="radio" name="radio_array[]" value="SecGen2" name="Secretary_General_2" />Secretary General 2 
</div> 

<p></p><p></p> 
<div class="section"> 
    <h3>Director of Finance:</h3> 
    <input type="radio" name="radio_array[]" value="FinSec1" name="Finance_1" />Director of Finance 1 
    <input type="radio" name="radio_array[]" value="FinSec2" name="Finance_2" />Director of Finance 2 
</div> 

<p></p><p></p> 
<div class="section"> 
    <h3>Director of Software:</h3> 
    <input type="radio" name="radio_array[]" value="Software1" name="Software_1" />Director of Software 1 
    <input type="radio" name="radio_array[]" value="Software2" name="Software_2" />Director of Software 2 
</div> 

<p></p><p></p> 
<div class="section"> 
    <h3>Assistant Secretary General:</h3> 
    <input type="radio" name="radio_array[]" value="AssSecGen1" name="Assist_Sec_Gen_1" />Assistant Secretary General 1 
    <input type="radio" name="radio_array[]" value="AssSecGen2" name="Assist_Sec_Gen_2" />Assistant Secretary General 2 
</div> 

<p></p><p></p> 
<div class="section"> 
    <h3>Director of Information:</h3> 
    <input type="radio" name="radio_array[]" value="Info1" name="Info_1" />Director of Information 1 
    <input type="radio" name="radio_array[]" value="Info2" name="Info_2" />Director of Information 2 
</div> 

<p></p><p></p> 
<div class="section"> 
    <h3>Director of Welfare:</h3> 
    <input type="radio" name="radio_array[]" value="Welfare1" name="Welfare_1" />Director of Welfare 1 
    <input type="radio" name="radio_array[]" value="Welfare2" name="Welfare_2" />Director of Welfare 2 
</div> 

<p></p><p></p> 
<div class="section"> 
    <h3>Director of Sports:</h3> 
    <input type="radio" name="radio_array[]" value="Sport1" name="Sports_1" />Director of Sport 1 
    <input type="radio" name="radio_array[]" value="Sport2" name="Sports_2" />Director of Sport 2 
</div> 

<p></p><p></p> 
<div class="section"> 
    <h3>Director of protocol:</h3> 
    <input type="radio" name="radio_array[]" value="Protocol1" name="Protocol_1" />Director of Protocol 1 
    <input type="radio" name="radio_array[]" value="Protocol2" name="Protocol_2" />Director of Protocol 2 
</div> 

<p></p><p></p> 
<div class="section"> 
    <h3>Financial Secretary</h3> 
    <input type="radio" name="radio_array[]" value="FinSec1" name="Fin_Sec_1" />Financial Secretary 1 
    <input type="radio" name="radio_array[]" value="FinSec2" name="Fin_Sec_2" />Financial Secretary 2 
</div> 

</div> 
<p></p> 
<input type="submit" name="submit" /> 
</form> <-- close it here 
1

我們的HTML代碼有點borked那裏,這應該有助於解決它。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Vote</title> 
</head> 

<body> 

<h1>Please note that you only get to vote one time. Look carefully and make a wise choice.</h1> 

<form method="post" action="vote_process.php" > 

<div class="section"> 
<strong>Matriculation Number:</strong> 
    <input type="text" size="30" maxlength="16" name="Reg_Num" /><br /> 
</div> 
<p><p></p></p> 



<div class="section"> 

    <h3><strong>President:</strong></h3> 
    <input type="radio" value="Presi_1" name="President_1" />President 1 
    <input type="radio" value="Presi_2" name="President_2" />President 2 

</div> 

<p></p><p></p> 
<div class="section"> 

    <h3><strong>Vice President:</strong></h3> 
    <input type="radio" value="VP1" name="Vice_President_1" />Vice President 1 
    <input type="radio" value="VP2" name="Vice_President_2" />Vice President 2 

</div> 



<p></p><p></p> 
<div class="section"> 

    <h3><strong>Secretary General:</strong></h3> 
    <input type="radio" value="SecGen1" name="Secretary_General_1" />Secretary General 1 
    <input type="radio" value="SecGen2" name="Secretary_General_2" />Secretary General 2 

</div> 


<p></p><p></p> 
<div class="section"> 

    <h3>Director of Finance:</h3> 
    <input type="radio" value="FinSec1" name="Finance_1" />Director of Finance 1 
    <input type="radio" value="FinSec2" name="Finance_2" />Director of Finance 2 

</div> 


<p></p><p></p> 
<div class="section"> 

    <h3>Director of Software:</h3> 
    <input type="radio" value="Software1" name="Software_1" />Director of Software 1 
    <input type="radio" value="Software2" name="Software_2" />Director of Software 2 

</div> 


<p></p><p></p> 
<div class="section"> 

    <h3>Assistant Secretary General:</h3> 
    <input type="radio" value="AssSecGen1" name="Assist_Sec_Gen_1" />Assistant Secretary General 1 
    <input type="radio" value="AssSecGen2" name="Assist_Sec_Gen_2" />Assistant Secretary General 2 

</div> 


<p></p><p></p> 
<div class="section"> 

    <h3>Director of Information:</h3> 
    <input type="radio" value="Info1" name="Info_1" />Director of Information 1 
    <input type="radio" value="Info2" name="Info_2" />Director of Information 2 

</div> 


<p></p><p></p> 
<div class="section"> 

    <h3>Director of Welfare:</h3> 
    <input type="radio" value="Welfare1" name="Welfare_1" />Director of Welfare 1 
    <input type="radio" value="Welfare2" name="Welfare_2" />Director of Welfare 2 

</div> 

<p></p><p></p> 
<div class="section"> 

    <h3>Director of Sports:</h3> 
    <input type="radio" value="Sport1" name="Sports_1" />Director of Sport 1 
    <input type="radio" value="Sport2" name="Sports_2" />Director of Sport 2 

</div> 


<p></p><p></p> 
<div class="section"> 

    <h3>Director of protocol:</h3> 
    <input type="radio" value="Protocol1" name="Protocol_1" />Director of Protocol 1 
    <input type="radio" value="Protocol2" name="Protocol_2" />Director of Protocol 2 

</div> 



<p></p><p></p> 
<div class="section"> 

    <h3>Financial Secretary</h3> 
    <input type="radio" value="FinSec1" name="Fin_Sec_1" />Financial Secretary 1 
    <input type="radio" value="FinSec2" name="Fin_Sec_2" />Financial Secretary 2 

</div> 

</div> 
<p></p> 
<input type="submit" name="submit" /> 
</form> 
</body> 

</html> 

正如你已經表明你只能投票一次,我建議增加一些措施,以防止提交兩次相同的表單。

此外,爲了幫助你在PHP腳本調試發佈的數據,這個代碼下位通常有助於檢查什麼被張貼:

<?php 
echo "<pre>"; 
print_r($_POST); 
echo "</pre>; 
?> 

你要mysqli_real_escape_string和準備POST數據也可以在插入之前幫助防止MYSQL攻擊。