2017-02-22 1 views
0

フォームを送信すると、テキスト領域が空白の場合、データベースのドロップダウンメニューの変数をアップロードできません。私はコーディングに新しいです、そして、私がこれまでに見つけたすべての情報は、私を助けることができませんでした。学生姓と名が提出されて罰金、私はちょうど今、自分の成績を処理する必要が<option>値がデータベースに0として表示されます

これらは対象になります

English<br> 
<select name="Grade"> 
    <option value="-">-</option> 
    <option value="A*">A*</option> 
    <option value="A">A</option> 
    <option value="B">B</option> 
    <option value="C">C</option> 
    <option value="Fail">Fail</option> 
    </select><br> 
Maths<br> 
<select name="Grade2"> 
    <option value="-">-</option> 
    <option value="A*">A*</option> 
    <option value="A">A</option> 
    <option value="B">B</option> 
    <option value="C">C</option> 
    <option value="Fail">Fail</option> 
    </select><br> 
Science<br> 
<select name="Grade3"> 
    <option value="-">-</option> 
    <option value="A*">A*</option> 
    <option value="A">A</option> 
    <option value="B">B</option> 
    <option value="C">C</option> 
    <option value="Fail">Fail</option> 
    </select><br> 

私はここにアップロードする必要があります。

$DB_HOST = "localhost"; 
$DB_USERNAME = "admin"; 
$DB_PASSWORD = "chichester"; 
$DB_NAME = "results"; 

$fname = $_POST["fname"]; 
$lname = $_POST["lname"]; 
$examboard = $_POST["examboard"]; 
$grade = $_POST["grade"]; 
$grade2 = $_POST["grade2"]; 
$grade3 = $_POST["grade3"]; 
$additionalcomments = $_POST["Additional Comments"]; 

$conn = new mysqli($DB_HOST, $DB_USERNAME, $DB_PASSWORD, $DB_NAME); 

if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

$sql = "INSERT INTO studentresults (Name,lastname,examboard,additionalcomments) VALUES ('$fname','$lname','$examboard','$grade','$grade2','$grade3','$additionalcomments')"; 

$sql = "INSERT INTO studentresults (grade, grade2, grade3) VALUES ('$grade','$grade2','$grade3')"; 

if ($conn->query($sql) === TRUE) { 
echo "Student exam results have been successfully submitted. "; 
} else { 
    echo "Error, please try again later. : " . $sql . "<br>" . $conn->error; 
} 

//close connection 
$conn->close(); 

今どのように私はこれを克服するか、スクリプトとデータベースはエラーを表示しません。私がしなければならないことは、一連の試験結果を処理し、これをデータベースに表示することだけです。タグは混乱しているようだ。

+0

PHPエラーが現在ログファイルに書き込まれている可能性があるため、これらのエラーが表示されるようにします。表示を有効にするには、 'ini_set( 'display_errors'、1);を追加します。ini_set( 'display_startup_errors'、1); error_reporting(E_ALL); 'スクリプトの先頭に –

+1

グレード!==グレード – Armin

答えて

0

1)挿入クエリを更新しています。

2)与えられた値の数と異なる数の列があるため、あなたが作成したクエリは間違っています。

3)$_POST["Additional Comments"];配列キーにはスペースを入れることができないため、これは機能しません。

+0

これらの変更を加えたので、データベースに情報が表示されますか? – Zed

+0

これを最初に修正してみましょう他に何が来るかを見てみましょう –

+0

注意:未定義のインデックス:/Applications/MAMP/htdocs/Assignment/MySQL.phpの15行目で未定義インデックス: 注意:/ Applications/MAMP/htdocsの未定義インデックス:grade2 /Assignment/MySQL.php on line 16 注意:未定義のインデックス:/Applications/MAMP/htdocs/Assignment/MySQL.php in line 17 注意:未定義のインデックス:/ Applications/MAMP/htdocs/Assignmentの追加のコメント/MySQL.php 18行目 – Zed

0

なぜ2つの$ sql挿入文がありますか? 1つだけを使用してください。

INSERT INTO ___ (col1,col2) VALUES ('data1','data2'); 

$ _POST ['']にスペースを入れることはできません。変数。

+0

配列インデックスにスペースを入れることはできません。 – miken32

関連する問題