Tom's Guide > Forum > Programmation > Aide Mysql
Mot :    Pseudo :           
 

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

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


Message édité par demomo le 05-06-2008 à 22:01:50
------------------------------ oOo [ DêMöMö ] oOo
http://demomo.free.fr/
Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

Un peu bizzare ton code, essaye ca:

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



Bon maintenant question sécurité c'est le minimum!


Message édité par Allstar27 le 04-06-2008 à 00:52:39
------------------------------ Rémunère ton site
Hosting Favicon
Clic pas ici
Répondre à Allstar27

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

------------------------------ oOo [ DêMöMö ] oOo
http://demomo.free.fr/
Répondre à demomo

La table Quizz existe au moins... et il y a quoi dedans?

------------------------------ Rémunère ton site
Hosting Favicon
Clic pas ici
Répondre à Allstar27

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

Code :
  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. );

------------------------------ oOo [ DêMöMö ] oOo
http://demomo.free.fr/
Répondre à demomo

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


Message édité par stagiaire01 le 04-06-2008 à 15:09:30
------------------------------ 69 bonnes raisons de preferé une bierre a une femme :
http://www.clanifun.com/blabla-f5/ [...] e-t817.htm
n°44- On peut décapsuler une bière sans tacher les draps
Répondre à stagiaire01

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

Code :
  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 ?

------------------------------ oOo [ DêMöMö ] oOo
http://demomo.free.fr/
Répondre à demomo

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 "...";

------------------------------ Rémunère ton site
Hosting Favicon
Clic pas ici
Répondre à Allstar27

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

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



Mais il me donne une erreur (ma ligne 177 c'est mysql_close(); )

Code :
  1. Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /mnt/103/sdb/f/4/demomo/1/TESt.php on line 177

------------------------------ oOo [ DêMöMö ] oOo
http://demomo.free.fr/
Répondre à demomo

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



Tu n'a pas fermer le dernier echo par ; et un seul echo suffisait!
Simple question tu utilise quel charset?


Message édité par Allstar27 le 05-06-2008 à 00:10:10
------------------------------ Rémunère ton site
Hosting Favicon
Clic pas ici
Répondre à Allstar27

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 ...


Message édité par demomo le 05-06-2008 à 00:52:36
------------------------------ oOo [ DêMöMö ] oOo
http://demomo.free.fr/
Répondre à demomo

http://fr.wikipedia.org/wiki/Codag [...] t%C3%A8res

Alors pour ça tu dois envoyer le formulaire vers une page différente! dans <form method="post" action="LAPAGEEXTERNE"> et sur la page externe tu met le php!

------------------------------ Rémunère ton site
Hosting Favicon
Clic pas ici
Répondre à Allstar27

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


ps : allstar regarde quand j'ai posté j'etais pas encore chez moi mdr ^^

------------------------------ 69 bonnes raisons de preferé une bierre a une femme :
http://www.clanifun.com/blabla-f5/ [...] e-t817.htm
n°44- On peut décapsuler une bière sans tacher les draps
Répondre à stagiaire01

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

Et encore merci pour tout se que vous m'avez aidé :)


Message édité par demomo le 05-06-2008 à 09:50:18
------------------------------ oOo [ DêMöMö ] oOo
http://demomo.free.fr/
Répondre à demomo

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

------------------------------ Rémunère ton site
Hosting Favicon
Clic pas ici
Répondre à Allstar27

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

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


Message édité par demomo le 05-06-2008 à 22:01:21
------------------------------ oOo [ DêMöMö ] oOo
http://demomo.free.fr/
Répondre à demomo

Pour afficher une table tu sélectionne et tu fais une boucle avec while();

------------------------------ Rémunère ton site
Hosting Favicon
Clic pas ici
Répondre à Allstar27

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

voici se que j'ai essayer :

Code :
  1. <?php
  2. if (isset($_POST['pseudo']) AND isset ($_POST['email']) AND isset ($_POST['question1'])) {
  3. mysql_connect("localhost","login","Pass" ) or die (mysql_error());
  4. mysql_select_db("Bdd" ) or die (mysql_error());
  5. $pseudo = htmlspecialchars($_POST['pseudo']);
  6. $email = htmlspecialchars($_POST['email']);
  7. $question1 = htmlspecialchars($_POST['question1']);
  8. while ( $row = mysql_fetch_array( $Quizz)){
  9. $variable1= $row["pseudo"];
  10. $variable2= $row["email"];
  11. echo "tout les pseudo $variable1";
  12. }
  13. mysql_close();
  14. ?>

------------------------------ oOo [ DêMöMö ] oOo
http://demomo.free.fr/
Répondre à demomo

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

------------------------------ Rémunère ton site
Hosting Favicon
Clic pas ici
Répondre à Allstar27

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 ?

------------------------------ oOo [ DêMöMö ] oOo
http://demomo.free.fr/
Répondre à demomo

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']

------------------------------ Rémunère ton site
Hosting Favicon
Clic pas ici
Répondre à Allstar27

J'ai pas compris du tout :??:


Message édité par demomo le 07-06-2008 à 12:25:06
------------------------------ oOo [ DêMöMö ] oOo
http://demomo.free.fr/
Répondre à demomo
Tom's Guide > Forum > Programmation > Aide Mysql
Aller à :

Il y a 1696 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens