El registro de PHP no envía datos del formulario

programación

[ad_1]

Por alguna razón, esto no funcionará y no enviará nada a mi base de datos. ¿Alguien puede señalar cuál es el problema en el código?

Lo que he probado:

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

?>

Solución 1

(1)
En su declaración SQL, su lista de campos comienza con

SQL
(id, ename,

y tus valores comienzan con

SQL
values('$eventname',

Supongo que tienes un campo de identificación que se genera automáticamente; si es así, no deberías especificarlo en la lista de campos; ¡Esa lista debe coincidir con la lista de valores!

(2)
Su código INSERT no tuvo manejo de errores, se supone que siempre tendrá éxito; ya has demostrado que no es así. Debes comprobar el valor devuelto por mysqli_query (o cualquier otro método que utilizaría) y señalar un error tan pronto como ocurra; Hay funciones especiales para obtener información detallada sobre lo que salió mal, como mysqli_error().

🙂

[ad_2]

コメント

Título y URL copiados