Espace membres

Bonjour Anonyme

Inscription

Email :
Mot de passe :

Mot de passe oublié ?

Nos scripts

MySpeach

MySpeach est un chat php sans base de donnée, rapide, léger et facile à prendre en main. DEMO

MyPHPUpload

MyPHPUpload est un script d'upload sécurisé écrit en PHP. DEMO

GrapAgenda

Agenda PHP et MySQL avec comptes utilisateurs et administration. DEMO

Livre PHP

Insertion MySQL rapide avec FOREACH

Portion de code ajouté par sky le 21-03-2005

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.


Le formulaire
<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>


Le code PHP
<?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());
    }
}
?>

Commentaires

Aucun commentaire. Soyez le premier !

Pseudo
Email
Commentaire

Merci d'écrire le code ici :