Problème de PHP + Mysql : ajout de variables
Fermé
SinBert
Messages postés
10
Date d'inscription
samedi 2 mai 2009
Statut
Membre
Dernière intervention
24 septembre 2009
-
2 mai 2009 à 21:58
SinBert Messages postés 10 Date d'inscription samedi 2 mai 2009 Statut Membre Dernière intervention 24 septembre 2009 - 5 mai 2009 à 17:08
SinBert Messages postés 10 Date d'inscription samedi 2 mai 2009 Statut Membre Dernière intervention 24 septembre 2009 - 5 mai 2009 à 17:08
A voir également:
- Problème de PHP + Mysql : ajout de variables
- Easy php - Télécharger - Divers Web & Internet
- Mysql community server - Télécharger - Bases de données
- Get_magic_quotes_gpc php 8 ✓ - Forum PHP
- Phpmyadmin a tenté de se connecter au serveur mysql, et le serveur a rejeté la connexion. merci de vérifier les valeurs de host, username et password dans la configuration et de s'assurer qu'elles correspondent aux informations fournies par l'administrateur du serveur mysql. ✓ - Forum PHP
- Error 2002 (hy000): can't connect to local mysql server through socket '/var/lib/mysql/mysql.sock' (2) ✓ - Forum Linux / Unix
6 réponses
Bonjour
Je soupçonne que le champ de ton formulaire ne s'appelle pas reglement ou que sa valeur n'est pas "false". Peut-on voir le formulaire ?
aucune erreur n'est générée par PHP ou Mysql, j'ai juste constater Même quand tu ajoutes or die(mysql_error()) :
mysql_query("INSERT INTO dragotaka_ranking(id, forumname, ign, commentaire) VALUES('', '$forumname', '$ign', '$commentaire')") or die(mysql_error());
Je soupçonne que le champ de ton formulaire ne s'appelle pas reglement ou que sa valeur n'est pas "false". Peut-on voir le formulaire ?
aucune erreur n'est générée par PHP ou Mysql, j'ai juste constater Même quand tu ajoutes or die(mysql_error()) :
mysql_query("INSERT INTO dragotaka_ranking(id, forumname, ign, commentaire) VALUES('', '$forumname', '$ign', '$commentaire')") or die(mysql_error());
SinBert
Messages postés
10
Date d'inscription
samedi 2 mai 2009
Statut
Membre
Dernière intervention
24 septembre 2009
3 mai 2009 à 10:27
3 mai 2009 à 10:27
Voici le formulaire :
Maintenant si j'ajoute ce que tu m'as dit, 4 erreurs sont générées et il y a "Veuillez saisir votre nom de forum
Veuillez saisir un IGN" qui apparaît. (je n'avais rempli aucune champ du formulaire)
Les erreurs :
Je vais déjà virer la fonction include pour résoudre le 1er problème.
EDIT : Quand je met les deux lignes de connections, les variables s'ajoutent bien dans la BDD vu que
Nb. enr. = 3
Bref, mes variable s'ajoutent bien a ma BDD (1er problème), cependant, j'arrive toujours a passer le formulaire sans remplir tous les champs.
<html> <head> <title>S'ajouter au Classement</title> <body bgcolor="#2f1d0f"> <center> <font size="7" color="#e9c054">S'ajouter au classement</font> <br> </center> <p align="left"> <form method="post" action="ajout.php"> <font color="#e9c054">Nom de forum :</font><br><input type="text" name="forumname"> <br> <font color="#e9c054">IGN : </font><br><input type="text" name="ign"> <br> <br> <font color="#e9c054">Commentaire :</font> <br> <TEXTAREA NAME="commentaire" COLS=25 ROWS=5></TEXTAREA><br> <br><br> <font color="#e9c054">J'ai lu et j'accepte le règlement : <input type="checkbox" name="reglement"></font><br><br> <input type="submit" value="Envoyer"> </form> </p> <center> <textarea cols="50" rows="10" wrap="hard" disabled="yes"> Ceci est un classement qui va regrouper les joueurs francophone de Dragonica. Aucun joueur non francophone ne pourra participer a celui-ci sous peine d'y être supprimer. Aucun joueur en double ne sera tolérer dans ce classement sous peine de voir les deux joueurs supprimer de celui-ci. Cochez la case si vous avez lui et compris ces deux règles </textarea></center> </body> </html>
Maintenant si j'ajoute ce que tu m'as dit, 4 erreurs sont générées et il y a "Veuillez saisir votre nom de forum
Veuillez saisir un IGN" qui apparaît. (je n'avais rempli aucune champ du formulaire)
Les erreurs :
Warning: include(connexion.php) [function.include]: failed to open stream: No such file or directory in /www/sites/1/ifrance.com/b/e/bert0204/site/ajout.php on line 23 Warning: include() [function.include]: Failed opening 'connexion.php' for inclusion (include_path='.:/www/usr/lib/php') in /www/sites/1/ifrance.com/b/e/bert0204/site/ajout.php on line 23 Warning: mysql_query() [function.mysql-query]: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in /www/sites/1/ifrance.com/b/e/bert0204/site/ajout.php on line 25 Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /www/sites/1/ifrance.com/b/e/bert0204/site/ajout.php on line 25 Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Je vais déjà virer la fonction include pour résoudre le 1er problème.
EDIT : Quand je met les deux lignes de connections, les variables s'ajoutent bien dans la BDD vu que
Nb. enr. = 3
Bref, mes variable s'ajoutent bien a ma BDD (1er problème), cependant, j'arrive toujours a passer le formulaire sans remplir tous les champs.
P@t@ch0n
Messages postés
565
Date d'inscription
mercredi 15 avril 2009
Statut
Membre
Dernière intervention
28 décembre 2009
85
3 mai 2009 à 11:09
3 mai 2009 à 11:09
Avec un print_r($_POST), tu comprendras ton erreur.
Et avant d'insérer des valeurs utilisateurs dans une table, on controle et on protège ces valeurs.
Et avant d'insérer des valeurs utilisateurs dans une table, on controle et on protège ces valeurs.
SinBert
Messages postés
10
Date d'inscription
samedi 2 mai 2009
Statut
Membre
Dernière intervention
24 septembre 2009
3 mai 2009 à 11:22
3 mai 2009 à 11:22
J'ai compris que les variables ajoutées a la BDD sont vides vu que la fonction me retourne :
Cependant je n'ai toujours pas compris comment y remédier ...
J'ai aussi protéger les valeurs de mes variable avec la fonction htmlentities()
Array ( )
Cependant je n'ai toujours pas compris comment y remédier ...
J'ai aussi protéger les valeurs de mes variable avec la fonction htmlentities()
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
C'est bien ce que je soupçonnais, reglement ne vaut pas "false". Il n'y a nulle part dans ton formulaire de value="false" dans le <input reglement>, par quelle magie cette valeur apparaîtrait-elle ?
Quant aux messages concernant le fichier connexion.php, ils indiquent clairement que ce fichier n'existe pas. S'appelle-t-il connexion ou connection ? Est-il dans le même répertoire que ce script, ou dans un autre
aucune erreur n'est générée par PHP ou Mysql Ben si il y en avait bien... C'est juste que tu ne les voyais pas parce que la plupart des hébergeurs les cachent par défaut, parce que les messages d'erreurs peuvent donner des informations aux pirates.
Aucun joueur non francophone ne pourra participer a celui-ci sous peine d'y être supprimer. Si ton site est plein de gags comme celui-ci, il faudra que tu me donnes le lien, il doit être très drôle !
Quant aux messages concernant le fichier connexion.php, ils indiquent clairement que ce fichier n'existe pas. S'appelle-t-il connexion ou connection ? Est-il dans le même répertoire que ce script, ou dans un autre
aucune erreur n'est générée par PHP ou Mysql Ben si il y en avait bien... C'est juste que tu ne les voyais pas parce que la plupart des hébergeurs les cachent par défaut, parce que les messages d'erreurs peuvent donner des informations aux pirates.
Aucun joueur non francophone ne pourra participer a celui-ci sous peine d'y être supprimer. Si ton site est plein de gags comme celui-ci, il faudra que tu me donnes le lien, il doit être très drôle !
P@t@ch0n
Messages postés
565
Date d'inscription
mercredi 15 avril 2009
Statut
Membre
Dernière intervention
28 décembre 2009
85
3 mai 2009 à 11:39
3 mai 2009 à 11:39
Il faut remplir le form et le soumettre et regrader avec print_r()
C'est normal que $_POST est vide si tu ne le soumets pas.
htmlentities() ne sert qu'à l'affichage.
C'est normal que $_POST est vide si tu ne le soumets pas.
htmlentities() ne sert qu'à l'affichage.
SinBert
Messages postés
10
Date d'inscription
samedi 2 mai 2009
Statut
Membre
Dernière intervention
24 septembre 2009
5 mai 2009 à 17:08
5 mai 2009 à 17:08
Mmh, j'ai tout essayer et sa ne marche toujours pas...
Je ne saisi pas se que tu veux dire par "soumettre" le formulaire =S
PS : J'ai aussi protégé sans contre les Mysql injection.
Je ne saisi pas se que tu veux dire par "soumettre" le formulaire =S
PS : J'ai aussi protégé sans contre les Mysql injection.