2016-09-11 20 views
0

私は最近、私の大学のプロジェクトのためにw3schools.comから自分でPHPを学習し始めました。 PHPとMySQLフォームを使用する場合、始めにデータベースへの入力を保存するのに成功しましたが、突然私は次のエラーを受け取ってスタードしました。インターネット上のソリューションを検索しましたが、PHPフォームの未定義インデックス

お知らせ(!):未定義のインデックス:Cでflight_id:\ WAMP \ WWW \ alpha_airlinesライン上のadmin.php \ 64

お知らせ(!):未定義のインデックス:Cでflight_time:\ WAMP \ www \ alpha_airlines \ admin.php on line 65

すべての入力に同じです。ここで

私のコードを行く:

//HTML FORM 
 

 
<table align="center"> 
 
     <tr><td colspan="2" align="center"><h2>Add a Flight</h2></td></tr> 
 
     <form name="add-flight" method="post"> 
 
     <tr> 
 
     \t <td>Flight ID: </td><td><input type="text" class="textbox" name="flight_id" maxlength="7"></td> 
 
     </tr> 
 
     <tr> 
 
      \t <td>Flight Time: </td><td><input type="time" class="textbox" name="flight_time"> </td> 
 
     </tr> 
 
      <tr> 
 
      \t <td>Flight Date: </td><td><input type="date" class="textbox" name="flight_date"> </td> 
 
     </tr> 
 
      <tr> 
 
      \t <td>Flight From: </td><td><input type="number" class="textbox" name="flight_from" maxlength="2"> </td> 
 
     </tr> 
 
     <tr> 
 
      \t <td>Flight To: </td><td><input type="number" class="textbox" name="flight_to" maxlength="2"> </td> 
 
     </tr> 
 
     <tr> 
 
      \t <td>Airplane ID: </td><td><input type="text" class="textbox" name="plane_id" maxlength="5"> </td> 
 
     </tr> 
 
     <tr> 
 
      \t <td colspan="2" align="right"><input type="submit" value="Add Flight" class="button" name="submit_flight"> </td> 
 
     </tr> 
 
     </form> 
 
     </table> 
 
//PHP CODE 
 

 
<?php 
 

 
$flightid = $_POST['flight_id']; 
 
$flighttime = $_POST['flight_time']; 
 
$flightdate = $_POST['flight_date']; 
 
$flightfrom = $_POST['flight_from']; 
 
$flightto = $_POST['flight_to']; 
 
$planeid = $_POST['plane_id']; 
 

 
$sql = "INSERT INTO flight (Flight_ID, Flight_Time, Flight_date, Flight_From, Flight_To, Airplane_ID) 
 
VALUES ('$flightid', '$flighttime', '$flightdate' , '$flightfrom' , '$flightto' , '$planeid')"; 
 

 
if (mysqli_query($conn, $sql)) { 
 
    echo "New flight created successfully"; 
 
} else { 
 
    echo "Error: " . $sql . "<br>" . mysqli_error($conn); 
 
} 
 

 
mysqli_close($conn); 
 
?>

答えて

0

あなたが空かない$_POSTをチェックする必要があります。

初めて$_POSTロードされ、そのページが空で、あなたがこの場合

この

if(!empty($_POST['flight_id'])){ 
    $flightid = $_POST['flight_id']; 
    $flighttime = $_POST['flight_time']; 
    $flightdate = $_POST['flight_date']; 
    $flightfrom = $_POST['flight_from']; 
    $flightto = $_POST['flight_to']; 
    $planeid = $_POST['plane_id']; 

    $sql = "INSERT INTO flight (Flight_ID, Flight_Time, Flight_date, Flight_From, Flight_To, Airplane_ID) 
    VALUES ('$flightid', '$flighttime', '$flightdate' , '$flightfrom' , '$flightto' , '$planeid')"; 

    if (mysqli_query($conn, $sql)) { 
     echo "New flight created successfully"; 
    } else { 
     echo "Error: " . $sql . "<br>" . mysqli_error($conn); 
    } 

    mysqli_close($conn); 
} 
+0

ありがとうございました。問題は解決しました。 :) – SobanSA

+0

この回答が正しい場合は、それを受け入れてください(この投稿の下にあるチェックマークをクリックしてください)。 – ashkufaraz

0

のように、flight_idflight_time$_POSTセット、... Add Flight上クリックでフォームを送信する場合、入力の検証を行う必要があります。

変数に値を割り当てる前に、各POST変数をisset()関数でラップしてみてください。

ので、同じように:

$flightid = isset($_POST['flight_id']); 
0

あなたは送信ボタンが件のデータを取得beoreクリックされていることを確認する必要があります。あなたはこのエラーに直面するでしょう。

error_reporting(0)を指定した場合、エラーは表示されません。

<?php 
if(isset($_POST['submit_flight'])) 
{ 

$flightid = $_POST['flight_id']; 
$flighttime = $_POST['flight_time']; 
$flightdate = $_POST['flight_date']; 
$flightfrom = $_POST['flight_from']; 
$flightto = $_POST['flight_to']; 
$planeid = $_POST['plane_id']; 

$sql = "INSERT INTO flight (`Flight_ID`, `Flight_Time`, `Flight_date`, `Flight_From`, `Flight_To`, `Airplane_ID`) 
VALUES ('".$flightid."', '".$flighttime."', '".$flightdate."' , '".$flightfrom."' , '".$flightto."' , '".$planeid."')"; 

if (mysqli_query($conn, $sql)) { 
    echo "New flight created successfully"; 
} else { 
    echo "Error: " . $sql . "<br>" . mysqli_error($conn); 
} 
mysqli_close($conn); 
} 
?> 
関連する問題