2017-08-05 28 views
0

我很难过。我已经在Stackoverflow上查看了多个答案,但无法得到它。也许我只是没有看到什么。PHP Form Post并插入多行

我正在制作Family Feud游戏,并使用PHP和MySQL数据库存储和检索信息。对于Fast Money Round,我有一个名为“FastMoney1”的表格数据库我使用HTML5表单和PHP将表格中的数据发布到该表格,该表格有两列:答案和分数

I通过for循环运行我的查询,但它没有发布任何东西到表中。我想知道我做错了什么。

HTML:

<form method="post" class="form-horizontal"> 
    <div class="form-group"> 
     <div class="col-xs-9"> 
      <input type="text" class="form-control" id="question1answer" name="answer[0]" placeholder="Question 1"> 
     </div> 
     <div class="col-xs-3"> 
      <input type="number" class="form-control" id="question1score" name="score[0]" placeholder="0"> 
     </div> 
    </div> 
    <div class="form-group"> 
     <div class="col-xs-9"> 
      <input type="text" class="form-control" id="question1answer" name="answer[1]" placeholder="Question 2"> 
     </div> 
     <div class="col-xs-3"> 
      <input type="number" class="form-control" id="question1score" name="score[1]" placeholder="0"> 
     </div> 
    </div> 
    <div class="col-xs-4 col-xs-offset-4" align="center"> 
     <input type="submit" class="btn btn-success" name="Submit" /> 
    </div> 
</form> 

PHP:

<?php 

    if(isset($_POST['submit'])){ 

     require "config.php"; 

     for ($i = 0; $i<count($_POST); $i++){ 
      $answer = $_POST['answer'][$i]; 
      $score = $_POST['score'][$i]; 
      $sql = "INSERT INTO `fastMoney1`(`answer`, `score`) VALUES ('$answer','$score')"; 
      if ($conn->query($sql) === TRUE) { 
       echo ""; 
      } else { 
       echo $conn->error; 
      } 
     } 

     $conn->close(); 
     echo "<meta http-equiv='refresh' content='0'>"; 

    } 

?> 

所有这一切都生活在同一个PHP页面,这就是为什么我没有连接到形式的行动。

的config.php文件是一个包括调用主机,用户名,密码和数据库,并打开

+0

,能得到任何错误? –

+0

不,我不是... – Murphy1976

回答

2

请记住,PHP变量作为区分大小写,你已经在表单中命名为Submit,而在php中,你正在检查if(isset($_POST['submit'])){,它永远不会成为真实。 将其更改为

if(isset($_POST['Submit'])){ //<----- S in upper case 

编辑 您还需要你的循环改变

for ($i = 0; $i<count($_POST['answer']); $i++){ 
+0

我实际上总共有6对字段,答案和分数 - 但提交只发布前3数据库,不是全部六个。 – Murphy1976

+0

检查编辑答案。 :) –

+0

做到了。谢谢。 – Murphy1976

-1
<input type="submit" class="btn btn-success" name="submit" /> 

我改变了连接

name="Submit" 

name="submit" 

“提交“到”提交“-----”S“到”s“

和正常工作

+0

我说明了为什么在这个问题上。因为我有isset($ _ POST ['submit'])和PHP和html生活在同一页 – Murphy1976

-1

看到你的SQL语句,你并不需要在表名和列名的符号INSERT INTO fastMoney1answerscore)VALUES( '$答案', '$得分')