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 :

inserer des données depuis un formulaire vers MYSQL [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 81
    Points : 46
    Points
    46
    Par défaut inserer des données depuis un formulaire vers MYSQL
    Bonjour,

    Voila mon problème : Alors j'ai crée un formulaire ou les gens doivent entrer des infos. Puis ce formulaire est connecté a un fichier php qui est lui même relié a mysql.
    Le problème est que lorsque j'appuie sur le bouton envoie de mon formulaire, les infos ne se mettent pas dans ma base de donnée. Rien ne se passe et aucune erreur est renvoyée.
    Donc je ne comprend pas. Pouvez-vous m'aidez??
    Merci

    Voici mon code 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
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    <?php
     
    //Inclusion du fichier contenant la connexion à la base
    include_once('connexion-PDO.php');
     
     
    $table="contact";
     
    $category=""; 
    if(!empty($_POST["category"]))
       $nom=addslashes($_POST["category"]);
     
    $nom=""; 
    if(!empty($_POST["nom"]))
       $nom=$_POST["nom"];
     
    $prenom=""; 
    if(!empty($_POST["prenoml"]))
       $email=$_POST["prenom"];
     
     
    $adresse=""; 
    if(!empty($_POST["adresse"]))
       $email=$_POST["adresse"];
     
    $code_postal=""; 
    if(!empty($_POST["code_postal"]))
       $nom=$_POST["code_postal"];
     
    $ville=""; 
    if(!empty($_POST["villel"]))
       $email=$_POST["ville"];
     
    $num_tel=""; 
    if(!empty($_POST["num_tel"]))
       $nom=$_POST["num_tel"];
     
    $email=""; 
    if(!empty($_POST["emaill"]))
       $email=$_POST["email"];
     
     
    // Ajoute la nouvelle fiche
    $query = "INSERT INTO $table(id,categorie, nom,prenom, adresse, code-postal, ville, num_tel, email)";
    $query .= " VALUES('','$category','$nom','$prenom','$adresse','$code_postal','$ville','$num_tel','$email')"; 
     
    $sth = $dbh->query($query);
     
    if ($dbh) {
    $dbh = NULL;}
    ?>
    Et le code de ma connexion mais elle fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?php
        $user = 'root';
     
        $pass = '';
        $dsn = 'mysql:host=localhost;dbname=greg';
        try{
            $dbh= new PDO($dsn, $user, $pass);
            //Utilisation de la connexion
        } catch (PDOException $e){
            print "Erreur ! :" . $e->getMessage() . "<br/>";
            die();
        }
    ?>
    Et le code de mon formulaire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    <html>
    <body>
     
    <form method="POST" action="gg.php">
     
    	<h2>Informations du contact a* ajouter</h2>
                    <label for="category">Categorie</label>
    		    <select name="category" id="category">
    			<option value="ami">ami</option>
    			<option value="connaissance">connaissance</option>
    			<option value="enseignant">enseignant</option>
    			<option value="famille">famille</option> 
                      </select>
                      </br>
                    <label for="nom">Nom</label><input name="nom" id="nom" type="text" /></br>
                    <label for="prenom">Prenom</label><input name="prenom" id="prenom" type="text" /></br>
    		<label for="adresse">adresse</label><input name="adresse" id="adresse" type="text" /></br>
                    <label for="code_postal">Code postal</label><input name="code_postal" id="code_postal" type="text" /></br>
                    <label for="ville">Ville</label><input name="ville" id="ville" type="text" /></br>
    		<label for="num_tel">Telphone</label><input name="num_tel" id="num_tel" type="text" /></br>
    		<label for="email">Email</label><input name="email" id="email" type="text" /></br>
     
    	<input type="submit" value="OK" />
     
    </form>
    </body>
    </html>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Je ne sais pas si c'est suffisant pour faire planter la requete mais il manque un espace apres la table.

    Sinon ajoute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    pour avoir les erreurs

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 81
    Points : 46
    Points
    46
    Par défaut
    Merci, pour cette petite ligne de code qui m'a bien aidé.

    Voici mon code corrigé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    <?php
     
    //Inclusion du fichier contenant la connexion à la base
    include_once('connexion-PDO.php');
     
     
    $table="contact";
     
    $category=""; 
    if(!empty($_POST["category"]))
       $category=$_POST["category"];
     
    $nom=""; 
    if(!empty($_POST["nom"]))
       $nom=$_POST["nom"];
     
    $prenom=""; 
    if(!empty($_POST["prenoml"]))
       $prenom=$_POST["prenom"];
     
     
    $adresse=""; 
    if(!empty($_POST["adresse"]))
       $adresse=$_POST["adresse"];
     
    $code_postal=""; 
    if(!empty($_POST["code_postal"]))
       $code_postal=$_POST["code_postal"];
     
    $ville=""; 
    if(!empty($_POST["ville"]))
       $ville=$_POST["ville"];
     
    $num_tel=""; 
    if(!empty($_POST["num_tel"]))
       $num_tel=$_POST["num_tel"];
     
    $email=""; 
    if(!empty($_POST["emaill"]))
       $email=$_POST["email"];
     
     
    // Ajoute la nouvelle fiche
    $query = "INSERT INTO $table(id, categorie, nom, prenom, adresse, code_postal, ville, num_tel, email)";
    $query .= " VALUES('','$category','$nom','$prenom','$adresse','$code_postal','$ville','$num_tel','$email')"; 
     
    $sth = $dbh->query($query);
     
    if ($dbh) {
    $dbh = NULL;}
    ?>
    Pouvez vous me dire ce que signifie cette erreur car je n'arrive pas a la rectifier:
    Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42S22]: Column not found: 1054 Champ 'ville' inconnu dans field list' in E:\EasyPHP5.2.10\www\gg.php:47 Stack trace: #0 E:\EasyPHP5.2.10\www\gg.php(47): PDO->query('INSERT INTO con...') #1 {main} thrown in E:\EasyPHP5.2.10\www\gg.php on line 47

    Merci.
    Je ne vois pas où est le problème avec ce champ ville

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    il n'y a visiblement pas de champ "ville" dans ta table

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 81
    Points : 46
    Points
    46
    Par défaut
    bahhh le petit problème c'est qu'il y en a un !!
    Alors pourquoi il ne le reconnait pas dans la table, ça doit être encore un bug.
    Bon bah je vais essayer de trouver pourquoi il ne reconnait pas ce champ mais c'est bizarre.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 81
    Points : 46
    Points
    46
    Par défaut
    Après quelques tests, j'ai modifié dans ma base de donné le type du champ ville.
    Au départ le type de ce champ était 'tinytext' et je l'ai remplacé par 'text'. Et ça marche depuis.
    Puis je viens de remettre comme type 'tinytext' et ça remarche également.
    Vu que j'ai modifié que ça, je ne sais pas vraiment où était l'erreur. Mais l'essentiel c'est que ça marche.

    Merci pour ton aide.

    Petite question pour avoir votre avis:
    Est ce que pour gérer une liste de contact (ajouter, supprimer ou modifier des contacts), vaut mieux passer par les bases de données comme MYSQL ou simplexml ?
    Je trouve que mysql est plus simple que simplexml.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/07/2015, 19h41
  2. Réponses: 11
    Dernier message: 12/05/2009, 17h17
  3. récuperer des données depuis un formulaire
    Par anaaa dans le forum Langage
    Réponses: 2
    Dernier message: 03/12/2007, 11h34
  4. Rediriger des données d'un formulaire vers deux pages différentes
    Par griese dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 11/12/2006, 11h30
  5. Transfert des données en langue arabe vers Mysql
    Par naoufal01 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 04/09/2006, 13h55

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