Voici une petite technique pour enregistré le contenu d'un formulaire sans devoir connaitre tous les champs utilisé.
Il teste pour voir si tous les champs sont bien différent de vide, puis, contruit la requête MySQL, puis, exécute la requête.
Vous pouvez bien sur modifier le nom du bouton, la liste des champs non obligatoire.
<b>Formulaire</b><br />
<form name="aform" id="aform" method="post" action="">
Nom : <input name="Nom" type="text"> <br />
Prenom : <input name="prenom" type="text"> <br />
Email : <input name="email" type="text"> <br />
Téléphone : <input name="telephone" type="text"> <br />
Adresse : <textarea name="adresse"></textarea> <br />
Suite de l'adresse : <textarea name="adresse2"></textarea>
<input type="submit" name="Submit" value="Ajouter cette annonce">
</form>
<?php
if ($_POST)
{
$bouton = 'Submit'; //Mettre ici le nom de votre Bouton envoyer (Submit en general)
//definition des variables utilent.
$recu = $_POST;
$erreurVide = "";
$pasObligatoire = array('adresse2', 'telephone');
//construction de la variable de test pour voir si elle est vide ou non
foreach ($recu as $titre => $contenu)
{
$contenu = trim($contenu);
if ($titre != $bouton && !in_array($titre, $pasObligatoire)) {
if ($contenu == "")
$erreurVide .= "Le champ <b>$titre</b> doit être rempli ! <br />";
}
}
//Est ce que certain sont vide ?
if ($erreurVide != "") {
echo '<h2>Vous n\'avez pas rempli tous les champs</h2> '.$erreurVide.' ';
exit();
//Si on a detecte aucune erreur, on peut continué enregistré
}
else
{
//On initialise les variables.
$recu=$_POST; $titre=""; $contenu=""; $reqComplete="";
//on construit la requete ici
foreach ($recu as $titre => $contenu) {
$contenu=trim(addslashes($contenu));
if($titre!=$bouton AND $contenu!="")
$reqComplete.=$titre."='$contenu', ";
}
//On enleve le derniuer ", ". (virgule espace)
$reqComplete = rtrim($reqComplete, ", ");
//la requete devrai etre ok. On l'execute .
include("./mysql_connexion.php");
$requete = "INSERT INTO UNETABLE SET $reqComplete";
$resultat = mysql_query($requete) or die("Requête invalide : <br /> " . mysql_error());
}
}
?>