Mon script de livre d'or plante - PHP - Programmation
Marsh Posté le 13-10-2008 à 21:02:03
$retour = mysql_query = ('SELECT COUNT (*) AS nb_messages FROM livreor');
hum
Marsh Posté le 14-10-2008 à 12:06:08
et mysql_query = ("INSERT INTO livreor VALUES ("'', '" . $pseudo . "', '" . $message . "'" )" );
en mysql_query("INSERT INTO `livreor` VALUES ('', '$pseudo', '$message')" );
et mysql_close = ("" );
en mysql_close();
Marsh Posté le 14-10-2008 à 19:08:22
C'est bizarre, ça n'a strictement rien changer au script...
Marsh Posté le 14-10-2008 à 23:24:33
Salut !
beurk ce code ...
- htmlspecialchars() est à utiliser UNIQUEMENT à l'affichage (saisie utilisateur, données provenant de la base), pas dans les requêtes SQL
Citation : mysql_query = ("INSERT INTO livreor VALUES ("'', '" . $pseudo . "', '" . $message . "'" )" ); |
- ce serait nettement plus clair en spécifiant les champs !
- "'', '" : illisible et inutile
Citation :
' . $premierMessageAafficher . ', . ' $nombreDeMessagesParPage ' . '); |
- SELECT [manquerait pas quelque chose du style nom des champs à récupérer ici ! ] FROM
- utilise au minimum et impérativement error_reporting(E_ALL) quand tu fais du développement, ton post sur HFR aurais pu etre ainsi évité
- tu ne gères pas le cas ou une requete ne retourne rien ou plante...
Marsh Posté le 15-10-2008 à 20:41:48
Bon, je vais paraître certainement chiant, mais dans tes explications, tu n'est pas toujours très clairs, spike.
- Quand tu dis que le htmlspecialchars est à utiliser uniquement à l'affichage, ahem, je ne comprend pas très bien...
-Spécifier les champs, euh... Ils sont normalement spécifier entre deux
" ' ' ".
-Dans le SELECT, ils fallait spécifier le nom des champs, ouais, mais comment ? Enfin, quoi taper, quoi.
-Le error_reporting(E_ALL), ils se met où ?
-Et puis, de quoi tu parles pour gérer les erreurs, toussa...
Enfin bref, soit plus clairs stp.
(C'est chiant les débutants, non ?)
Marsh Posté le 16-10-2008 à 21:45:46
Gibouldingue a écrit : Bon, je vais paraître certainement chiant, mais dans tes explications, tu n'est pas toujours très clairs, spike. |
'lut
dans l'ordre :
- htmlspecialchars(et dérivés) sert à protéger l'éventuels caractères indésirables saisis par l'utilisateur :
il ne faut jamais faire confiance à un internaute
->par exemple :un internaute saisi du contenu HTML ou JS dans un champ, tu l'inseres en base, mais quand tu l'affichera il sera interpretée telle quel au point de te pourrir la mise en page
- ("INSERT INTO livreor VALUES ("'', '" . $pseudo . "', '" . $message . "'" )" ); : ca ce sont des valeurs des champs, pas leur nom
- error_reporting se met en début de script, la première ligne à mettre même (a moins de le configurer correctement dans la conf php)
Marsh Posté le 17-10-2008 à 19:34:12
Bon, j'ai suivis tes indications (mais au fait, je sais ce qu'est un htmlspecialchars), mais il n'y a toujours pas le moindre changement.
En plus, le error_reporting fonctionne pas.
Là, je trouve ça bizarre...
Marsh Posté le 18-10-2008 à 01:46:00
Gibouldingue a écrit : Bon, j'ai suivis tes indications (mais au fait, je sais ce qu'est un htmlspecialchars), mais il n'y a toujours pas le moindre changement. |
l'error reporting est censé te dire, si ton php est bien configuré, que cela :
mysql_select_db ("localhost", "root", "" )
c'est du jamais vu : http://fr2.php.net/mysql_select_db
t'est loin d'êtres les bons parametres, que tu as confondu avec mysql_connect
Marsh Posté le 18-10-2008 à 18:24:39
J'ai en effet confondu au mysql_select_db et j'ai mis le nom de ma BDD plutôt que le code qui me sert à me connecter (en gros, c'était une étourderie), mais ça ne marche pas d'avantage, c'est très bizarre.
Par contre, quelques chose se produit : La page se recharge de nouveau une fois que j'ai cliqué sur envoyer , ce qui veut dire que la requête est effectué, mais rien ne s'affiche, quand à l'affiche du reste du code, j'en suis toujours au même problème...
Marsh Posté le 19-10-2008 à 17:32:45
Je dirai pas que j'en ai fait un sans base de donnée pour un amis ce week-end >.<
Tout par gestion sur fichier xml
Marsh Posté le 19-10-2008 à 20:17:41
'lut
j'ai horreur des messages du genre "ca marche pas" sans chercher à comprendre
je t'ai déjà spécifié que tu dois placer error_reporting(E_ALL) en haut de ton script
ainsi que display_errors à on afin d'afficher les erreurs (cherche du coté ini_set()
et la tu verras toutes tes erreurs
Marsh Posté le 20-10-2008 à 10:18:34
Euh dites, la base de donnée, c'est root ? parceque la ya :
# mysql_connect ("localhost", "root", "" );
# mysql_select_db ("localhost", "root", "" );
Le voila ton problème !
mysql_select_db, faut une base de donnée en argument, pas une connexion !
EDIT : oups, j'ai pas lu ton dernier message.
Marsh Posté le 21-10-2008 à 14:02:34
J'ai placé mon error_reporting(E_ALL) sur le haut du script, et essayer plein d'autres solutions pour régler ce problème, mais rien, donc bon.
En plus, tu m'as pas parlé du display_error, de on et tout ça dans ton précédent post, je suis pas devin.
En fait, je pense que pour comprendre, faudrait que tu prenne une partie du script que j'ai affiché là-haut pour le modifier en rajoutant tes fonctions de recherches d'erreur, comme ça, ce serait clairs.
Marsh Posté le 21-10-2008 à 20:02:16
hello
- en haut du script :
ini_set('display_errors','on);
error_reporting(E_ALL);
- si ca passe pas, crée un fichier .htaccess à la racine de ton site avec
php_flag error_reporting E_ALL
php_flag display_errors on
- place des "or die(mysql_error())" à la suite de tes fonctions mysql_ pour vérifier que ce ne soit pas simplement un soucis d'identifiants
- ligne 19 : t'as inversé des lettres dans la fonction utilisée...
Marsh Posté le 13-10-2008 à 19:22:58
Bien le bonjour à tous.
Je suis en ce moment en train de fabriquer un site Web, mais forcément, c'est en comptant des bémols, j'en ai eu pas mal, mais là, faudrait vraiment l'aide de quelqu'un qui s'y connaît.
Voici le passage de la page de code concernée (c'est le script du ivre d'or, quoi) :
Je crois avoir en quelques sortes le problème
(mais naturellement, j'ai pas pu le régler, sinon j'aurais pas posté =p) :
Le gros du problèmes (parce que précisément, je suis pas sûr que ça soit utiles) se situe au "echo" ou se trouve le lien en XHTML, à partir de là, le code est afficher comme un texte (avec son CSS en prime), et c'est pas du tout ce que je, veux
Pour couronner le tout, MySQL refuse d'executer mes demandes...
C'est un sacré merdier, donc je compte sur vous pour me sortir de là. =D
Merçi d'avançe.