php - 我的表单未提交

标签 php mysql

在我填写了必要的内容后,表单仍然无法提交(或重定向到我创建的“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>

请帮忙!

最佳答案

我们的 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 攻击。

关于php - 我的表单未提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36739898/

相关文章:

php - zii.widgets.CDetailView 格式化日期

mysql - 玛丽亚数据库 : Alter a field to a PERSISTENT Calculated

mysql - 从 Apache Spark 访问带有文本列的 MySql 表

javascript - Wordpress update_user_meta onclick 使用 Ajax

MySQL 内部自连接不返回值

php mysql 如何连接两个表

java - hibernate 映射

php IntlDateFormatter 在我的 docker 容器中不起作用

php - 如何防止 PHP 中的 SQL 注入(inject)?

php - 使用 php 从子目录中获取 azure blob 文件