Votre question

Aide Mysql

Tags :
  • Input
  • Programmation
Dernière réponse : dans Programmation
4 Juin 2008 00:31:10

Bonjour je fais mais debut dans Mysql et je comprend pas comment inserer dans la table que j'ai crée :??: 

En faite il m'insert que des champs vides :( 

Voici mon code
  1. <?php
  2.  
  3. $mabasededonnee="demomo";
  4.  
  5. $connection = mysql_connect("localhost","Login","pass");
  6. // test la connection
  7. if ( ! $connection )
  8. die ("connection impossible");
  9. // Connecte la base
  10. mysql_select_db($mabasededonnee) or die ("pas de connection");
  11.  
  12. $requete="SELECT * from Quizz"; // requête
  13. mysql_query($requete,$connection); // envoi de la requête
  14.  
  15. ?>
  16.  
  17. <form name="Quizz" method="post"><br>Pseudo
  18. <input type="text" name="$pseudo" /><br>Email
  19. <input type="text" name="$email" /><br>Question 1
  20. <input type="text" name="$question1" /><br>
  21. <input type="submit" value="Envoyé" /><br>
  22. <?php
  23. $pseudo = '';
  24. $email = '';
  25. $question1 = '';
  26. $req = "INSERT INTO Quizz (pseudo,email,question1) VALUES('$pseudo','$email','$question1')";
  27. mysql_query($req);
  28. ?> </form>

Autres pages sur : aide mysql

4 Juin 2008 00:50:40

Un peu bizzare ton code, essaye ca:

  1. <?php
  2.  
  3. if (isset($_POST['pseudo']) AND isset ($_POST['email']) AND isset ($_POST['question1'])) {
  4.  
  5. mysql_connect("localhost","Login","pass" ) or die (mysql_error());
  6. mysql_select_db("bdd") or die (mysql_error());
  7.  
  8. $pseudo = htmlspecialchars($_POST['pseudo']);
  9. $email = htmlspecialchars($_POST['email']);
  10. $question1 = htmlspecialchars($_POST['question1']);
  11.  
  12. $req = mysql_query("INSERT INTO Quizz VALUES('".$pseudo."', '".$email."', '".$question1."')") or die (mysql_error());
  13.  
  14. }
  15.  
  16. mysql_close();
  17. ?>
  18.  
  19. <form method="post" action="TAPAGE.php">
  20. Pseudo : <input type="text" name="pseudo" /><br />
  21. Email : <input type="text" name="email" /><br />
  22. Question 1 : <input type="text" name="question1" /><br />
  23. <input type="submit" value="Envoyé" />
  24. </form>


Bon maintenant question sécurité c'est le minimum!
4 Juin 2008 10:21:28

Salut j'ai essayer ton code (j'ai modifier les identifiant + la bdd + TAPAGE.php) mais erreur :s

Column count doesn't match value count at row 1
Contenus similaires
4 Juin 2008 12:16:09

La table Quizz existe au moins... et il y a quoi dedans?
4 Juin 2008 12:45:45

alors oui elle existe voici ce que j'avais fait :

  1. CREATE TABLE Quizz (
  2. id tinyint(4) unsigned NOT NULL auto_increment,
  3. pseudo varchar(80) NOT NULL,
  4. email varchar(80) NOT NULL,
  5. question1 varchar(80) NOT NULL,
  6. PRIMARY KEY (id)
  7. );
4 Juin 2008 14:45:41

mhh allstar dans ton code tu as oublié les "" pour l'autoincrement de l'id donc si ca marche ca peut en être une raison.

=> $req = mysql_query("INSERT INTO Quizz VALUES('".$pseudo."', '".$email."', '".$question1."')" ) or die (mysql_error());

mais $req = mysql_query(INSERT INTO Quizz VALUES('','$pseudo','$email','$question1'));

normalement cette fonction marchera mieux déjà comme ca xD

ps : je suis au boulot là mais ec soir en rentrant si ca ne marche toujours pas je regarderais exactement ce qu'il te faut sur mon pc que ec soit la connexion , le form , ou la requete, je l'ai fait déjà pour ma tpi mais je ne me souviens plus exactement de la syntaxe ( je l'ai sur mon pc rassure toi :p  )

ps2: normal que ton code ne marche pas regarde en couleurs les erreur déjà facile a voir
Code :

1. <html><body><?php
2.
3. $mabasededonnee="demomo";
4.
5. $connection = mysql_connect("localhost","Login","pass" );
6. // test la connection
7. if ( ! $connection )
8. die ("connection impossible" );
9. // Connecte la base
10. mysql_select_db($mabasededonnee) or die ("pas de connection" );
11.
12. $requete="SELECT * from Quizz"; // requête
13. mysql_query($requete,$connection); // envoi de la requête
14.
15. ?>
16.
17. <form name="Quizz" method="post"><br>Pseudo
18. <input type="text" name="$pseudo" /><br>Email
19. <input type="text" name="$email" /><br>Question 1
20. <input type="text" name="$question1" /><br>
21. <input type="submit" value="Envoyé" /><br>
22. <?php
//comment veut tu que ca marche si tu remets les champs vides juste après :p 
23. $pseudo = '';
24. $email = '';
25. $question1 = '';
26. $req = "INSERT INTO Quizz (si tu rempli tous les champ tu n'as pas besoins de les preciser en plus tu oublie le champ de l'id :p  pseudo,email,question1) VALUES(il manque les guillement de l'id pour l'auto increment donc rien ne peut être entré dans ta bdd '$pseudo','$email','$question1')";
27. mysql_query($req);
28. ?></form>// il faut le fermer avant le form et si tu met un formulaire il faut du html donc ...
29.</body>
30.</html>


ps : je n'ai pas mis toutes les erreurs ou pas eu le temps car boulot oblige et donc j'ai peut être pu en commetre moi même par precipitation ^^ mais fais déjà ces modifications et regardent ce que ca donne
4 Juin 2008 20:04:12

Bon voila j'ai fini mais exam je vais pouvoir etre un peu plus présent j'ai essayé de remplacé

  1. $req = mysql_query("INSERT INTO Quizz VALUES('','$pseudo','$email','$question1')");


et sa fonctionne donc je vous remercie et je voudrais savoir comment je peut faire que pour quand il on Envoyé les reponces sur le serveur que sur la page s'affiche leurs réponces au question avec mais réponces ?
4 Juin 2008 22:50:09

J'étais pas au courrant qu'il avait un id...
Moi j'ai pas le code sur mon pc mais dans mon cerveau...

Citation :
... que sur la page s'affiche leurs réponces au question avec mais réponces ?


Après l'insert tu fais un echo "...";
5 Juin 2008 00:03:21

Bon alors pour la fonction "echo" j'ai cherchais sur google et voila ce que j'ai trouvé :

  1. $req = mysql_query("INSERT INTO Quizz VALUES('','$pseudo','$email','$question1')");
  2.  
  3.  
  4. echo "Merci d\'avoir répondu à ce quiz passont maintenant à la correction.<br><br><br>";
  5. echo "Question 1<br>";
  6. echo "Vous avez répondu $question1<br>";
  7. echo "la réponce était 21"
  8.  
  9. }
  10.  
  11. mysql_close();
  12. ?>


Mais il me donne une erreur (ma ligne 177 c'est mysql_close(); )
  1. Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /mnt/103/sdb/f/4/demomo/1/TESt.php on line 177
5 Juin 2008 00:08:44

  1. echo "Merci d'avoir répondu à ce quiz passont maintenant à la correction.<br /><br /><br />Question 1<br />Vous avez répondu $question1<br />la réponce était 21";


Tu n'a pas fermer le dernier echo par ; et un seul echo suffisait!
Simple question tu utilise quel charset?
5 Juin 2008 00:48:55

heu c'est quoi le charset ? et en faite je vous est mal expliquer j'aurais voulu que lorsque c'est envoye sa s'affiche sur une page vierge ou l'on ne voit pas le formulaire ...
5 Juin 2008 09:11:29

vai j'allais te répondre pareil ...


ps : allstar regarde quand j'ai posté j'etais pas encore chez moi mdr ^^
5 Juin 2008 09:47:58

Merci j'ai reussi pour afficher sur une autre page bon pour le charset si j'ai compri c'est sa "é" ben en faite c'est Dreamwerver 8 qui me les fait tout seul.

Et encore merci pour tout se que vous m'avez aidé :) 
5 Juin 2008 14:05:29

Ok bah a mon avis c'est de l'utf8, si tu veux mettre des caractères comme é,è,à,... fais le en ISO-8859-1
5 Juin 2008 19:25:48

Voila je les trouvé : "charset=iso-8859-1" ^^ en faite c'est moi qui est l'habitude de d'écrire les "é"

Je voudrais savoir comment je pourrais faire pour afficher sur une autre page se qui se trouve dans chaque "Id" de ma table. pourriez vous m'aider ou me passer un tuto que j'essaye car j'ai pas trouver
5 Juin 2008 22:18:57

Pour afficher une table tu sélectionne et tu fais une boucle avec while();
5 Juin 2008 23:40:24

Bon la fonction while(); je comprend pas comment le faire :s

voici se que j'ai essayer :
  1. <?php
  2.  
  3. if (isset($_POST['pseudo']) AND isset ($_POST['email']) AND isset ($_POST['question1'])) {
  4.  
  5. mysql_connect("localhost","login","Pass" ) or die (mysql_error());
  6. mysql_select_db("Bdd" ) or die (mysql_error());
  7.  
  8. $pseudo = htmlspecialchars($_POST['pseudo']);
  9. $email = htmlspecialchars($_POST['email']);
  10. $question1 = htmlspecialchars($_POST['question1']);
  11.  
  12. while ( $row = mysql_fetch_array( $Quizz)){
  13.  
  14. $variable1= $row["pseudo"];
  15. $variable2= $row["email"];
  16.  
  17. echo "tout les pseudo $variable1";
  18.  
  19. }
  20.  
  21. mysql_close();
  22. ?>
6 Juin 2008 01:08:31

  1. <?php
  2.  
  3. mysql_connect("localhost","login","Pass" ) or die (mysql_error());
  4. mysql_select_db("Bdd" ) or die (mysql_error());
  5.  
  6. $req = mysql_query ("SELECT * FROM Quizz") or die (mysql_error());
  7. while ($resultat = mysql_fetch_array($req)) {
  8.  
  9. echo "Liste des ids: ".$resultat['id']." ";
  10.  
  11. }
  12.  
  13. mysql_close();
  14.  
  15. ?>
6 Juin 2008 11:07:57

Merci =)
je voudrais savoir si il est possible de bloquer a une fois le formulaire genre un truc qui pourrais voir si cette IP a déjà répondu au Quiz ?
6 Juin 2008 14:38:55

Oui c'est possible, tu fais un nouveau INSERT et un nouveau SELECT qui va vérifier si l'ip existe déjà, pour ajouté l'ip d'un client c'est $_SERVER['REMOTE_ADDR']
6 Juin 2008 15:04:49

J'ai pas compris du tout :??: 
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS