IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Insérer des données à partir d'un formulaire [Fait] [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 49
    Points : 41
    Points
    41
    Par défaut Insérer des données à partir d'un formulaire
    Bonjour,
    Je suis débutant en php et j'aimerais bien que vous m'indiquer comment insérer des données à partir d'un formulaire html dans une BD mysql,
    en plus comment charger des données d'une table sur une liste déroulante et merci bien de votre aide.

  2. #2
    Membre régulier Avatar de Jiraiya42
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    671
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 671
    Points : 114
    Points
    114
    Par défaut
    Salut,

    Pour utiliser un formulaire afin d'insérer les données dans une base MySQL il faut:

    - Une page HTML (ex: form.php) contenant le code de ton formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Ex :
    <form name="Formulaire" method="post" action="FuncInsert.php">
      Nom : <input type="text" name="nom">
      <br />
      Prénom : <input type="text" name="prenom">
      <br />
      <input type="reset" value="Annuler">
      <input type="submit" value="Envoyer">
    </form>
    Les balises "form" définissent le début et la fin de ton formulaire. Le "name" est le nom de ton formulaire (sans blague ?), le "method" définit que l'envoie des données à ta fonction se fera par la méthode POST et "action" désigne le fichier qui recevra les données du formulaire.

    Un input de type "text" est un champ texte (logique ), un de type "submit" est un bouton d'envoi et un reset efface le contenu du formulaire. Chaque champ est identifié par l'attribut "name". Tu auras besoin de cet identifiant dans ta fonction PHP

    - Un fichier contenant ta fonction PHP (ex: FuncInsert.php)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Ex :
    // On récupère les données passées en POST
    $nom = $_POST['nom'];
    $prenom = $_POST['prenom'];
     
    // Connexion à la base (remplacer SERVEUR, NOM, PASSE, BASE)
    mysql_connect (SERVEUR, NOM, PASSE) or die(mysql_error);
    mysql_select_db (BASE) or die(mysql_error);
     
    // On insère les champs
    $ins_int = mysql_query("INSERT INTO internaute "
                         . "VALUES (NULL,'$nom','$prenom');")
    		     or die('Erreur SQL FuncInsert.php : '.mysql_error());
    Il est important de noter que ce n'est qu'un exemple, il y a le strict minimum. Tu as juste à remplacer les champs concernés dans la requête SQL et adapter en fonction de ton formulaire.

    J'espère que ça t'aidera
    "Vous qui entrez ici, abandonnez toute espérance." Dante

  3. #3
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Je vous invite également à consulter les tutoriaux suivant afin d'approfondir le sujet :


    @Jiraiya42 : il manque l'aspect sécurité, application de la fonction mysql_real_escape_string sur les variables POST pour commencer

  4. #4
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 49
    Points : 41
    Points
    41
    Par défaut Insérer des données à partir d'un formulaire
    Merci pour vos réponse mais j'ai encore des problèmes , voici mon code d'insertion:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    if(isset($_POST[valider]))
    {
    	if(isset($_POST['code_entre']) && isset($_POST['raison']) && isset($_POST['nomResp']) && isset($_POST['preResp']) && isset($_POST['dateCreation']) && isset($_POST['effectifGlobal']) && isset($_POST['adresse']) && isset($_POST['siegeSocial']))
    		{
    		$request = "INSERT INTO ENTREPRISE (MATRICULE_ENTR,FICHE_ENTR ,RAISON_SOCIALE ,NOM_EMPL ,PRENOM_EMPL ,DATE_CREATION ,EFFECTIF_TOTAL ,ADRESSE_ENTREPRISE ,SIEGE_SOCIAL) VALUES("",".$_POST['code_entre'].",".$_POST['raison'].",".$_POST['nomResp'].",
    						".$_POST['preResp'].",".$_POST['dateCreation'].",".$_POST['effectifGlobal'].",".$_POST['adresse'].",
    						".$_POST['siegeSocial'].")";
    						mysql_query("request").or die('Erreur SQL'.mysql_error());
    		}
    }
    ?>
    mais il me donne une erreur :

    Parse error: parse error in c:\program files\easyphp1-8\www\gestion de visites\entreprise.php on line 75
    Est-ce que vous avez une idée et merci bien.

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Il s'agit probablement du point entre mysql_query et le or qui est de trop.

    Je peux également vous dire que votre requête est erronée puisque les chaînes en SQL nécessitent d'être quotées et que vous ne l'exécutez pas ensuite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $request = sprinf(
        "INSERT INTO ENTREPRISE (MATRICULE_ENTR,FICHE_ENTR ,RAISON_SOCIALE ,NOM_EMPL ,PRENOM_EMPL ,DATE_CREATION ,EFFECTIF_TOTAL ,ADRESSE_ENTREPRISE ,SIEGE_SOCIAL) VALUES("", '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')",
        mysql_real_escape_string($_POST['code_entre']),
        mysql_real_escape_string($_POST['raison']),
        mysql_real_escape_string($_POST['nomResp']),
        mysql_real_escape_string($_POST['preResp']),
        mysql_real_escape_string($_POST['dateCreation']),
        mysql_real_escape_string($_POST['effectifGlobal']),
        mysql_real_escape_string($_POST['adresse']),
        mysql_real_escape_string($_POST['siegeSocial'])
    );
    mysql_query($request) or die('Erreur SQL'.mysql_error());

  6. #6
    Membre régulier Avatar de Jiraiya42
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    671
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 671
    Points : 114
    Points
    114
    Par défaut
    Citation Envoyé par julp Voir le message
    @Jiraiya42 : il manque l'aspect sécurité, application de la fonction mysql_real_escape_string sur les variables POST pour commencer
    Il est important de noter que ce n'est qu'un exemple, il y a le strict minimum.
    "Vous qui entrez ici, abandonnez toute espérance." Dante

  7. #7
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 49
    Points : 41
    Points
    41
    Par défaut Insérer des données à partir d'un formulaire
    merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] Insérer des données à partir d'un formulaire basé sur une requête sélection
    Par xdevel dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 17/10/2014, 13h38
  2. [AC-2007] Ajouter des données à partir d'un formulaire
    Par Jerem38 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 22/01/2010, 22h24
  3. Réponses: 1
    Dernier message: 21/09/2007, 12h10
  4. Réponses: 5
    Dernier message: 12/12/2006, 16h24
  5. [MySQL] Insérer des données à partir d'une db mysql dans un textarea
    Par minogttao dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 17/11/2006, 21h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo