2017-08-05 10 views
0

私は困惑しています。私はStackoverflowの複数の答えでこれを見てきましたが、それを得ることはできません。たぶん私は何かを見ていないだけかもしれない。PHPフォーム投稿と複数の行に挿入

私はFamily Feudゲームを作っており、PHPとMySQLデータベースを使って情報を保存したり取得したりしています。ファーストマネーラウンドでは、 "FastMoney1"というテーブルを持つデータベースがあります。HTML5フォームとPHPを使用してフォームのデータを2つの列に投稿しています。回答とスコア

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のは、私が「

name="submit" 

name="Submit" 

を変えホスト、ユーザ名、パスワード、データベースを呼び出し、接続

+0

にあなたのループを変更する必要が

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

EDIT へ 変更、それはあなたが任意のエラーを取得していますか? –

+0

いいえ、私はそうではありません... – Murphy1976

答えて

2

PHP変数は、大文字と小文字を区別してフォームに名前Submitを与えたことを覚えておいてください。if(isset($_POST['submit'])){は決して真にならないことを確認しています。あなたはまた、

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

私は実際にフィールド、回答、得点の合計6組を持っていますが、データベースではなく、すべての6。 – Murphy1976

+0

編集した回答を確認してください。 :) –

+0

でした。ありがとうございました。 – Murphy1976

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

を開くことなどがあります「提出する」に「提出する」----->「S」から「s」

それはfastMoney1answerscore)VALUES( '$の答え'、 '$スコア')。INSERT INTOテーブル名やカラム名でこれらのアンパサンドを必要としないSQL文を参照してください細かい

+0

私はなぜ問題で述べましたか。私にはisset($ _ POST ['submit'])があり、PHPとhtmlは同じページにあります。 – Murphy1976

-1

を作品

関連する問題