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 :

Formulaire php qui renvoie une erreur a l'envoie dans la bdd


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Homme Profil pro
    debutant html / css / php / sql
    Inscrit en
    Avril 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : debutant html / css / php / sql

    Informations forums :
    Inscription : Avril 2014
    Messages : 9
    Points : 4
    Points
    4
    Par défaut Formulaire php qui renvoie une erreur a l'envoie dans la bdd
    Bonjour, voila je débute dans la php et le sql et j'aurai aimer créer un formulaire ou l'on note les renseignements prévu et qu'il enregistre tout sa dans la bdd, mais problème quand je fait enregistrer il me note :

    ERREURUnknown column '$nom' in 'field list'
    Je vous met le code voir ou j'ai pu rater quelque chose mais la je voit pas, au début il m'enregistrer la partie age sans pb mais depuis ce matin plus rien.

    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
    <html>
          <head>
    	        <title>connection a bd</title>
    	  </head>
    	  <body>
    	      <center><form method="post" action="essai.php">
    			      Nom : <input type="text" name="nom"/><br><br>
    			      Prénom : <input type="text" name="prenom"/><br><br>
    			      Age : <input type="text" name="age"/><br><br>
    				  <input type="submit" name="enregistrer" value="enregistrer"/><br><br>
    			</form></center>
    	  </body>
    <?php
         $con=mysql_connect("localhost","root","");
    	 if(!$con)
    	{
    	      die("Erreur de connection".mysql_error());
    	}
        mysql_select_db('test',$con);
    // Si tout va bien, on peut continuer et on va creer les variables qui vont porter les infos de formulaire
     
            $nom=$_POST["nom"];
        	$prenom=$_POST["prenom"];
    		$age=$_POST["age"];
     
    		//le stockage dans la base de donnees
    	$sql='INSERT INTO essai SET nom=$nom, prenom=$prenom, age=$age';
        if(!mysql_query($sql,$con)){
    	die("ERREUR" .mysql_error()); //die dans le php joue de le role de echo ou print
    }	
    echo "<center>les infos sont bien stockés !</center>";
    ?>
    </html>
    ma table est bien créer avec les bons champs.

    Merci bcp de bien vouloir essayer de m'aider

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 496
    Points : 585
    Points
    585
    Par défaut
    Salut,

    les guillemets simples n'interprètent pas les variables php, tu dois faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql='INSERT INTO essai SET nom=' . $nom . ' , prenom=' . $prenom . ', age=' . $age;
    ou avec guillemets doubles :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql="INSERT INTO essai SET nom=$nom, prenom=$prenom, age=$age";
    Et un ptit conseil, qd tu affiches l'erreur sql, affiches aussi la requête; tu aurais vu que les variables n'avaient pas été remplacées dans ce cas-ci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    die($sql . " => ERREUR : " . mysql_error());

  3. #3
    Candidat au Club
    Homme Profil pro
    debutant html / css / php / sql
    Inscrit en
    Avril 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : debutant html / css / php / sql

    Informations forums :
    Inscription : Avril 2014
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Merci pour l'aide rapide mais je dois avoir un souci avec les variables :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $nom=$_POST["nom"];
    $prenom=$_POST["prenom"];
    $age=$_POST["age"];
    Car des que j'ouvre ma page php il me dit :

    INSERT INTO essai SET nom= , prenom=, age= => ERREUR :
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' prenom=, age=' at line 1

    Notice: Undefined index: nom in C:\wamp\www\Programmation\essai.php on line 22
    (pour cette erreur j'ai tester de remplacer $_POST par $donnees sa ne met pas d'erreur mais sa marche pas mieux)

    idem pour la ligne 23 et 24 qui correspond au 3 ligne du dessus et quand je veut enregistrer par exemple jean pierre 25 ans il me retourne :

    INSERT INTO essai SET nom=jean , prenom=pierre, age=25 =>
    ERREUR : Unknown column 'jean' in 'field list'
    j'ai l'impression qu'l ne trouve pas ma colonne Jean mais je lui demande d'enregistrer jean dans la case nom et la je seiche un peu (beaucoup même)...

  4. #4
    Membre éclairé Avatar de ypcman
    Homme Profil pro
    Retraité codeur !
    Inscrit en
    Janvier 2011
    Messages
    595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité codeur !
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 595
    Points : 879
    Points
    879
    Par défaut
    Essaye donc :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $nom=$_POST['nom'];
    $prenom=$_POST['prenom'];
    $age=$_POST['age'];
     
    //le stockage dans la base de donnees
    $sql="INSERT INTO essai SET nom='$nom', prenom='$prenom', age='$age'";
    Participez vous aussi !
    Message utile
    Discussion résolue

  5. #5
    Candidat au Club
    Homme Profil pro
    debutant html / css / php / sql
    Inscrit en
    Avril 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : debutant html / css / php / sql

    Informations forums :
    Inscription : Avril 2014
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Merci bcp sa fonctionne sa enregistre bien dans ma bdd et j'arrive a les faire revenir sur une autre page php.

    J'ai toujours cette erreur au 1 er lancement de la page php :

    Notice: Undefined index: nom in C:\wamp\www\Programmation\essai.php on line 22 / line 23 / line 24

    Par contre aprés avoir effectuer le 1 er enregistrement plus aucun pb

    Je vous remercie beaucoup pour votre aide

  6. #6
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    Oui, c'est normal, quand tu arrives sur la page, il ne connaît pas tes variables post.
    Il faut donc encadrer cela dans une condition, et pendant que l'on y est, on va mettre tout le PHP (en tout cas les affectations de variables et les modifs de db) avant et bien séparé de l'HTML. Ne restera du PHP mélangé au HTML que pour l'affichage.
    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
    <?php
    //Si on a cliqué le bouton enregistrer
    if(isset($_POST['enregistrer'])){
         $con=mysql_connect("localhost","root","");
    	 if(!$con){
    	      die("Erreur de connection".mysql_error());
    	}
        mysql_select_db('test',$con);
    	// Si tout va bien, on peut continuer et on va creer les variables qui vont porter les infos de formulaire
     
        $nom=$_POST["nom"];
    	$prenom=$_POST["prenom"];
    	$age=$_POST["age"];
     
    	//le stockage dans la base de donnees
    	$sql='INSERT INTO essai SET nom="'.$nom.'", prenom="'.$prenom.'", age='.$age;
        if(!mysql_query($sql,$con)){
    		die("ERREUR" .mysql_error()); //die dans le php joue de le role de echo ou print
    	}	
    	$infos= "<center>les infos sont bien stockés !</center>";
    }
    ?>
    <html>
          <head>
    	        <title>connection a bd</title>
    	  </head>
    	  <body>
    	      <center><form method="post" action="essai.php">
    			      Nom : <input type="text" name="nom"/><br><br>
    			      Prénom : <input type="text" name="prenom"/><br><br>
    			      Age : <input type="text" name="age"/><br><br>
    				  <input type="submit" name="enregistrer" value="enregistrer"/><br><br>
    			</form></center>
    			<?php
    			if(isset($infos)){
    			   echo $infos;
    			}
                ?>
    	  </body>
    </html>
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  7. #7
    Candidat au Club
    Homme Profil pro
    debutant html / css / php / sql
    Inscrit en
    Avril 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : debutant html / css / php / sql

    Informations forums :
    Inscription : Avril 2014
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Merci bcp pour votre aide, je vais pouvoir l'adapter pour mon piti site internet.

    Je n'avait jamais envisagé de séparer le php de l'html mais sa peut être très intéressant je vais essayer de faire la même chose avec le reste.

    Bonne journée à vous tous et bonne fêtes de pâques à bientôt.

Discussions similaires

  1. Une seule ListView pour plusieurs fichier php qui renvoie des données JSON
    Par max8392 dans le forum Composants graphiques
    Réponses: 1
    Dernier message: 22/08/2014, 10h46
  2. [Symfony 2] Formulaire qui affiche une erreur
    Par Ownview dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 17/06/2013, 14h04
  3. [PHP 5.0] erreur PHP qui renvoie sur </HTML>
    Par Whombat dans le forum Langage
    Réponses: 9
    Dernier message: 18/12/2008, 13h58
  4. [HTTPS] Formulaire via proxy qui renvoie une page blanche
    Par Leobaillard dans le forum Apache
    Réponses: 16
    Dernier message: 17/04/2008, 20h06
  5. Requete sql vers ORACLE qui renvoi une erreur
    Par lilou77 dans le forum Oracle
    Réponses: 7
    Dernier message: 29/01/2007, 09h52

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