【解決方法】PHP登録がフォームデータを送信しない


何らかの理由で、これは機能せず、データベースに何も送信されません。 誰かがコードの問題を指摘できますか?

私が試したこと:

[FORM.HTML]

HTML
<title>Periples Business Form
<div class="container">
<center>

<h1 style="margin: 0; padding: 0">Event Registration Form</h1></center>


<hr>

<h3>Event Details.</h3>
Event Name: 


Event Type:  

  Virtual
  Live


  Event Date:  


<br>
Set Up Date: 

    Clean Up Date: 


Event Description:  <br>


Target Audience: 

  
Crowd Number: 


<hr>

<h3>Others.</h3>

Are you availing our service?
Yes
No
<br>
<br>
<br>
Foods /  Drinks
Yes
No
<br>
If yes, please enter the name of the provider: 

<br>
Audio / Visual Equipment
Yes
No
<br>
If yes, please enter the name of the provider: 


<hr>
<h3>Customer Details.</h3>
First Name: 

   
Middle Name: 


Last Name: 

   
Suffix: 


Address:  <br>


City: 

   
Province: 

<br>
Postal / Zip Code: 


Contact Number: 


Email: 


Are you an existing member?
Yes
No

<hr>

<center>

</center>

</div>

[REGISTER.PHP]

PHP
";
echo "Event Type : " .$eventtype;
echo "<br>";
echo "Event Date : " .$eventdate;
echo "<br>";
echo "Set Up Date : " .$setupdate;
echo "<br>";
echo "Clean Up Date : ".$cleanupdate;
echo "<br>";
echo "Event Description : " .$eventdesc;
echo "<br>";
echo "Target Audience : " .$targetaud;
echo "<br>";
echo "Estimated Crowd Number : " .$crowdnum;
echo "<br>";
echo "Availing Service? " .$avservice;
echo "<br>";
echo "Availing Food or Drinks? " .$avfodr;
echo "<br>";
echo "Availing Food or Drinks? " .$avequip;
echo "<br>";
echo "Provider 1 : " .$prov1;
echo "<br>";
echo "Provider 2 : " .$prov2;
echo "<br>";
echo "Customer Details!"
echo "<br>";
echo "First Name : " .$fname;
echo "<br>";
echo "Middle Name : " .$mname;
echo "<br>";
echo "Last Name : " .$lname;
echo "<br>";
echo "Suffix : " .$suffix;
echo "<br>";
echo "Address : " .$address;
echo "<br>";
echo "City : " .$city;
echo "<br>";
echo "Province : " .$province;
echo "<br>";
echo "Postal : " .$postal;
echo "<br>";
echo "Phone Number : " .$phone;
echo "<br>";
echo "Email : " .$email;
echo "<br>";
echo "Member? " .$member;

$host = "localhost";
$user = "root";
$password = "";
$database = "zsomydb1";

$con = mysqli_connect($host,$user,$password,$database);

$sql = "insert into
user_accounts(id, ename, etype, edate, setupdate, cleanupdate, edesc, targetaud, crowdnum, avservice, avfod, avequip, fname, mname, lname, suffix, address, city, province, postal, phonenum, email, member)
values('$eventname', '$eventtype', '$eventdate', '$setupdate', '$cleanupdate', '$eventdesc', '$targetaud', '$crowdnum', '$avservice', '$avfodr', '$avequip', '$prov1', '$prov2', '$fname', '$mname', '$lname', '$suffix', '$address', '$city', '$province', '$postal',  '$phone', '$email', '$member')";

mysqli_query($con, $sql);

echo "<br> Connection is now open.";
echo "<br> Record has been saved!";

?>

解決策 1

(1)
あなたのSQLステートメントでは、フィールドリストはで始まります

SQL
(id, ename,

そしてあなたの価値観は

SQL
values('$eventname',

自動生成された id フィールドがあると仮定します。 その場合は、フィールド リストで指定しないでください。 そのリストは値リストと一致する必要があります!

(2)
INSERT コードにはエラー処理がありませんでした。常に成功すると想定しています。 そうでないことはすでに証明されています。 によって返される値を確認する必要があります。 mysqli_query (または使用する他の方法)、エラーが発生するとすぐに通知します。 何がうまくいかなかったのかに関する詳細情報を取得するための特別な機能があります。 mysqli_error().

🙂

コメント

タイトルとURLをコピーしました