2017-11-24 4 views
-1

現在、データベースを作成してHTMLとPHPを使用してフォームベースのクエリを作成するクラスのプロジェクトに取り組んでいます。私はMAMPでデータベースを作成し、フォームを表示しましたが、処理される情報を入力すると、「ページが機能していません」というエラーメッセージが表示されます。 PHPとHTMLのかなり新しいものです。私は、フォームを作成して処理するためのさまざまな方法を見てきました。私はそれらのいずれかを動かすことはできません。私は2日間それを見て、私はまだ私の問題がどこに不明です。誰かがそれを修正する正しい方向に私を指すことができますか?PHPで処理されたHTMLフォームの難易度

コードはHTMLのため、次のとおりです。

<form action="AddCustomer.php" method="POST"> 
     <input name="C_ID" type="text" placeholder="Customer's ID" /> 
     <input name="Fname" type ="text" placeholder="First name" /> 
     <input name="Lname" type ="text" placeholder="Last name" /> 
     <input name="PNum" type="text" placeholder="Phone number" /> 
     <input name="Add" type="text" placeholder="Address" /> 
     <input name="D_O_B" type="text" placeholder="Date of birth" /> 
     <input name="Email" type="email" placeholder="Email" /> 
     <input name="Username" type="text" placeholder="Username" /> 
     <input name="Password" type="text" placeholder="Password" /> 
     <input name="CreatedDate" type="text" placeholder="Created On" /> 
     <input type="submit" value="submit"/> 
    </form> 

そして、私のPHP用:

<?php 
    DEFINE('DB_USERNAME', 'root'); 
    DEFINE('DB_PASSWORD', ''); 
    DEFINE('DB_HOST', 'localhost'); 
    DEFINE('DB_DATABASE', 'food_ordering'); 

    $conn = new mysqli(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_DATABASE); 
    if($conn->connect_error){ 
    die("Connection failed: " . $conn->connect_error); 
    } 

    $c_id='$_POST[C_ID]'; 
    $f_n='$_POST[Fname]'; 
    $l_n='$_POST[Lname]'; 
    $p_n='$_POST[PNum]'; 
    $ad='$_POST[Add]'; 
    $dob='$_POST[D_O_B]'; 
    $email='$_POST[Email]'; 
    $u_n='$_POST[Username]'; 
    $p_w='$_POST[Password]'; 
    $c_d='$_POST[CreatedDate]'; 

    $sql = "INSERT INTO Customer (Cust_ID, First_Name, Last_Name, Phone_num, Address, DOB, Email, Username, Password, CreatedDate) 
    VALUES ('$c_id', '$f_n', '$p_n', '$ad', '$dob', '$email', '$u_n', '$p_w', '$c_d'); 

    if($conn->query($sql) == TRUE){ 
    echo "New record created sucessfully"; 
    } 
    else{ 
    echo "Error: " . $sql . "<br>" . $conn->error; 
    } 

    $conn->close(); 
?> 
+1

それぞれの '$ _POST'の外側にある一重引用符を削除する – Emerald

+0

あなたは時間とGoogleの" phpでフォームを処理する方法 "を保存できました。この例には十分な例があります – Akintunde007

+0

エラー500は通常、構文エラーを意味し、はい、持っています。 –

答えて

0

あなたのPHPコードのいくつかのミスを持っているすべてのまあ最初:

あなたは、あなたの$_POST変数を文字列として読み込みます。外側の引用符は自身に入れてください:

  • などです。あなたはまた、適切にあなたのSQLクエリ($sql)を閉鎖されていません$_POST['C_ID']

'$_POST[C_ID]'になります。これがIF/ELSE文のPHPコードが文字列として表示される理由です。最後の挿入値を閉じると、次のようになります。");。だから、これを変更:この中へ

$sql = "INSERT INTO Customer (Cust_ID, First_Name, Last_Name, Phone_num, Address, DOB, Email, Username, Password, CreatedDate) VALUES ('$c_id', '$f_n', '$p_n', '$ad', '$dob', '$email', '$u_n', '$p_w', '$c_d'); 

$sql = "INSERT INTO Customer (Cust_ID, First_Name, Last_Name, Phone_num, Address, DOB, Email, Username, Password, CreatedDate) VALUES ('$c_id', '$f_n', '$p_n', '$ad', '$dob', '$email', '$u_n', '$p_w', '$c_d')"; 

あなたの他のコードのすべてが(あなたのテーブル名が正しいと仮定して)私に行くことによさそうです。がんばろう!

+0

ありがとうございました。むしろ単純化された質問のためにお詫びしますが、私は人々が答える時間を感謝します – Dingusamingus