在我填写必要的东西之后,表单仍然不会提交(或重定向到我创建的“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 :(得分:1)
我们的HTML代码有点笨拙,这应该有助于解决它。
<!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攻击。
答案 1 :(得分:0)
您的表单元素有两个名称属性...删除第一个名称属性,即name =&#34; radio_array []&#34;
更新您的插入查询:
$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注入
答案 2 :(得分:0)
lol,您的input type="submit"
按钮位于form
的外部.....它应位于form
标记内。除了不想一次提交所有输入字段外,还可以只创建一个表单而不是100个。
请记住,每个表单都需要一个提交按钮。否则它不会提交任何内容。
<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