Le registre PHP ne soumet pas les données du formulaire

la programmation


Pour une raison quelconque, cela ne fonctionnera pas et ne soumettra rien à ma base de données. Quelqu’un peut-il indiquer quel est le problème dans le code ?

Ce que j’ai essayé :

[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!";

?>

Solution 1

(1)
Dans votre instruction SQL, votre liste de champs commence par

SQL
(id, ename,

et vos valeurs commencent par

SQL
values('$eventname',

Je suppose que vous disposez d’un champ d’identification généré automatiquement ; si c’est le cas, vous ne devez pas le spécifier dans la liste des champs ; cette liste doit correspondre à la liste de valeurs !

(2)
Votre code INSERT n’a eu aucune gestion des erreurs, il suppose qu’il réussira toujours ; vous avez déjà prouvé que non. Vous devriez vérifier la valeur renvoyée par mysqli_query (ou toute autre méthode que vous utiliseriez) et signaler une erreur dès qu’elle se produit ; il existe des fonctions spéciales pour obtenir des informations détaillées sur ce qui n’a pas fonctionné, telles que mysqli_error().

🙂

コメント

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