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 :

problem sur les formulaires et mysql [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 44
    Par défaut problem sur les formulaires et mysql
    bonjours a tous !!

    tout d'abord je suis débutant dans la gestion de base de donnée ...
    mon but est de faire un formulaire pour cree un compt dont les donné
    seront stocker dans une base mysql ...

    donc j'ai créé une page formulaire.php qui appel la page test1.php en validant ...

    la page test1 rentre les informations dans la table ...

    mes le probleme c'est qu'il y a pas d'erreur et que la base est vide ....
    je vois pas ou est le probleme .....?

    merci de m'aider

    formulaire.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
    <html>
    <head>
    </head>
    <body>
     
    <p>formulaire d'inscription</p>
     
    <form method="post" action="test1.php">
     
     
       <p><label>Votre nom</label> :<input type="text" name="nom" id="nom" maxlength="20" /></p>
     
       <p><label>Votre prenon</label> :<input type="text" name="prenom" id="prenon" maxlength="20" /></p>
     
       <p><label>Votre pseudo max 20 lettres</label> :<input type="text" name="pseudo" id="pseudo" maxlength="20" /></p>
     
       <p><label>Votre motde passe max 20 lettres</label> :<input type="password" name="passe" id="passe" maxlength="20" /></p>
     
       <p><label>confirmation du mot de passe</label> :<input type="password" name="passe" id="passe" maxlength="20" /></p>
     
       <p><label>Votre mail</label> :<input type="text" name="mail" id="mail"/></p>
     
       <p><label>Votre age</label> :<input type="text" name="age" id="age" maxlength="2" /></p>
     
          <label for="ameliorer">Comment pensez-vous que je pourrais améliorer mon site ?</label><br />
           <textarea name="ameliorer" id="ameliorer"></textarea><br />
     
           <label for="pays">Dans quel pays habitez-vous ?</label><br />
           <select name="pays" id="pays">
               <option value="france">France</option>
               <option value="espagne">Espagne</option>
               <option value="italie">Italie</option>
               <option value="royaume-uni">Royaume-Uni</option>
               <option value="canada">Canada</option>
               <option value="etats-unis">Etats-Unis</option>
               <option value="japon">Japon</option>
    	   <option value="autre">autre</option>
           </select>
     
    <br /><br /><input type="submit" value="validez"/> <input type="reset" value="reset"/>
     
    </form>
     
    <p>une fois le formulaire remplis validez</p>
     
    </body>
    </html>
    test1.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
    <html>
    <head>
    </head>
    <body>
     
    <?php
     
    	mysql_connect("localhost", "root", "");
    	mysql_select_db("74minutes");
     
     
    ?>
     
    <?php
     
    	mysql_query("INSERT INTO compte VALUES('', '$_post[nom]',)");
     
     	$reponse = mysql_query("SELECT * FROM compte") or die(mysql_error());
     
    while ($donnees = mysql_fetch_array($reponse) )
     
    	{
    	?>
        	<p>
     
        	<strong>id</strong> : <?php echo $donnees['id']; ?><br />
        	<strong>nom</strong> : <?php echo $donnees['nom']; ?><br />
        	<strong>prenom</strong> : <?php echo $donnees['prenon']; ?><br />
        	<strong>pseudo</strong> : <?php echo $donnees['pseudo']; ?><br />
        	<strong>mail</strong> : <?php echo $donnees['mail']; ?><br />
        	<strong>age</strong> : <?php echo $donnees['age']; ?>
     
       	</p>
    	<?php
    	}
     
    	mysql_close();
     
    ?>
     
    </body>
    </html>
    j'utilise car il y a une erreur avec

  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
    Par défaut
    Pour le probleme d'index du tableau, il faut simplement sortir la variable de l chaine.
    Pour le problème de la requete, tu as une virgule qui se ballade a la fin.
    De manière globale, il vaut mieux specifier les champs dans l'INSERT.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query("INSERT INTO compte (champ_id, champ_nom) VALUES('" . $_POST['nom']. "')");
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 44
    Par défaut
    sa me met :

    Notice: Undefined variable: _post in C:\wamp\www\test1.php on line 32

    on dirait qu'il y a rien dans la variable ! la methode post ne doit pas fonctionner je pense !!!

    tu veux dire quoi par sortir la variable de la chaine ?

    merci de ton aide ....pour un saboteur...!!!

  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
    Par défaut
    Ouille les réponses de nuit
    C'est $_POST en majuscules.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2009
    Messages : 44
    Par défaut
    Exactement.
    Et sortir la variable de la chaîne, ça veut bien dire ce que ça veut dire remplacer ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "INSERT INTO compte VALUES('', '$_POST[nom]',)"
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "INSERT INTO compte VALUES('', '" . $_POST[nom] . "',)"
    parce que c'est la contenu de ta variable que tu essaye de mettre en base et non pas le String '$_POST[nom]'.

  6. #6
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 44
    Par défaut
    pour la méthode de sabotage ...il y a pas d'erreur mais ma base reste vide...

    pour la tiens ca ma mets

    Parse error: parse error in C:\wamp\www\test1.php on line 36


    vous vous feriez comment ...? c'est la bonne méthode comme je fais ?

    car il y a la méthode avec l'adresse url pour transmettre des données d'une page a une autre !!!!

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2009
    Messages : 44
    Par défaut
    oups
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "INSERT INTO compte (champ_id, champ_nom) VALUES('" . $_POST['nom']. "')"
    C'est bien la méthode de sabotage qui est la bonne.

    Si ta base reste vide, c'est peut-être que ta variable est vide. Tu as vérifié ce que retourne $_POST['nom'] ?

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

Discussions similaires

  1. Question toute bête sur les formulaires
    Par pekka77 dans le forum Langage
    Réponses: 5
    Dernier message: 01/12/2005, 23h45
  2. Comment faire un tail -f sur les logs binaires mysql-bin ?
    Par mediaforest dans le forum Requêtes
    Réponses: 8
    Dernier message: 24/09/2005, 12h34
  3. [C#] Probleme sur les clés primaires composites
    Par stardeus dans le forum Windows Forms
    Réponses: 7
    Dernier message: 12/02/2005, 23h28
  4. MS Access et TQuery (probleme sur les dates)
    Par Djob dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/06/2004, 14h57
  5. Probleme sur les chaines de caractere
    Par scorpiwolf dans le forum C
    Réponses: 8
    Dernier message: 06/05/2002, 19h01

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