debutant php - PHP - Programmation
Marsh Posté le 11-09-2005 à 14:39:39
$_POST['pseudo'] n'existe pas, forcément.
C'est $_POST['nom'] qu'il faut tester.
(Y'a p-e d'autres erreurs, mais déjà celle-là.)
Marsh Posté le 11-09-2005 à 16:00:08
effectivement erreur dans le changement du script, mais apres correction ca ne marche toujours pas, et mon script ne comportait pas cette erreur...
Marsh Posté le 11-09-2005 à 16:03:07
Sinon, y a quelques trucs pas net ailleurs, y a aucun intérêt à faire un isset PUIS à vérifier si la valeur n'est pas NULL puisque NULL ne passe pas le isset, il serait peut être plus pertinent de faire un trim des deux chaines et de vérifier si elles ne sont pas vides
Marsh Posté le 11-09-2005 à 16:13:37
pour voir j'ai virer le deuxieme test, ca donne toujours le meme resultat
ca peux pas venir de droit en ecriture sur la BDD?
pourtant l'utilisateur qui se connecte a tous les droits (je sais pas si c'est tres securit, je m'en occuperai plus tard
Marsh Posté le 11-09-2005 à 16:21:32
mmmhhh, vire le mysql_close qui traine ligne 70 pour voir
Marsh Posté le 11-09-2005 à 16:27:37
tu ferme pas la session toi?
mais l'affichage des precedants messages marchent...
et je pense que le code marche, ca vient d'un tuto
mais meme apres ce que tu m'as dit, ca ne marche pas
Marsh Posté le 11-09-2005 à 16:28:56
Refait voir ton script en l'état.
Edite ton message au fur et à mesure paskeu sinon...
Marsh Posté le 11-09-2005 à 16:29:33
T'as essayé de faire rien qu'une page PHP à part pour mettre juste une ligne dans ta base, rien qu'histoire de voir si ça fonctionne ça au moins ?
Genre juste une connexion à la base, ajout d'une ligne toute bête, et fermeture de la base.
Marsh Posté le 11-09-2005 à 16:33:59
kaillou38 a écrit : tu ferme pas la session toi? |
Si, mais j'ai jamais eu dans l'idée de la fermer avant de m'en être servi
Mais avec les remarques de Silfried et vu que tu ne signales pas de messages d'erreurs, on pense aux raisons les plus idiotes
//edit : ah bah, ça fonctionne maintenant on dirait...
Marsh Posté le 11-09-2005 à 16:35:01
c'est bon, c'etait un probleme dans la definition de la base
je serais plus attentif la dessus maintenant...
Marsh Posté le 11-09-2005 à 16:42:59
petite question :
est ce qu'il vaut mieux ouvrir puis refermer la connection a la base a chaque fois que l'on s'en sert, ou on l'ouvre a la permiere utilisation et on la referme apres la derniere?
Marsh Posté le 11-09-2005 à 19:05:29
Je doute que la réouvrir à chaque fois soit génial.
Marsh Posté le 11-09-2005 à 19:07:08
kaillou38 a écrit : petite question : |
2° solution, mais attention si tu as des includes.
Pour ma part, je préfère définir des fonctions elles-mêmes contenues dans une page fonctions.php que j'inclue. Ainsi, tu es sûr de ne jamais oublier d'ouvrir ou de fermer tes appels.
Petite remarque : L'utilisation d'une BDD comme mysql est bien souvent injustifiée...
Marsh Posté le 11-09-2005 à 20:11:09
Hermes le Messager a écrit : Petite remarque : L'utilisation d'une BDD comme mysql est bien souvent injustifiée... |
si tu pouvias developper un peu, je t'en serais gré...
sinon, je voudrai eviter de pouvoir poster en double...
le probleme, c'est que ca marche pas...
Code :
|
ben ca plante
je dois pas avoir compris le bazarre sur le fetch array je pense...
Marsh Posté le 12-09-2005 à 10:53:20
Je ne suis pas une bête en PHP non plus, mais heu...
"SELECT message FROM"
echo $dernier['id'] ;
Si tu lui dis d'aller chercher les messages pour lesquels l'id est max... ben il va chercher les messages, alors lui demande pas d'afficher l'id !
Si tu tapes echo $dernier['message'] ; là je pense que ça devrait te renvoyer le message, non ?
Marsh Posté le 12-09-2005 à 10:57:59
En fait :
$reponse = mysql_query("SELECT * FROM chat ORDER BY ID DESC LIMIT 0,10" );
Ca veut dire qu'il va sélectionner TOUT (l'étoile veut dire ça) dans chat, ordonné comme tu le demandes.
Donc ensuite pour afficher, tu parcours ton truc avec mysql_fetch_array :
$donnees = mysql_fetch_array($reponse)
Et pour afficher ce que tu voulais, tu mets ça :
echo $donnees['nom'];
echo $donnees['message'];
Ca va afficher le nom et le message qui correspondent à chaque ID.
Tu aurais exactement le même affichage si tu mettais en tout début à la place de * (qui veut dire 'récupérer tout') nom, message (qui veut dire "récupère le nom et le message) soit :
$reponse = mysql_query("SELECT nom, message FROM chat ORDER BY ID DESC LIMIT 0,10" );
Marsh Posté le 12-09-2005 à 14:50:20
en fait le but de cette commande est juste de recuperer le message du dernier post (celui qui a l'id la plus grande) pour comparer avec ce qui est rentré et verifier que c'est pas la meme chose...
et que ce soit $dernier['id'] ou dernier['message'] ca plante :
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /var/www/essaiphp/test.php on line 22
(c'est l'echo)
pour l'instant, je veux juste essayer de recuperer le message dans la derniere entrée, pour voir comment ca marche...
Marsh Posté le 12-09-2005 à 14:56:38
Y'a pas besoin de ", fait juste echo $dernier['message'].
Marsh Posté le 11-09-2005 à 13:55:13
bonjour
je debute complet en php, et pour commencer j'utilise le tuto du siteduzero (pas de sarcasme, tres bien fait je trouve...)
mais j'ai un souci sur le script de minichat
celui que j'avais fait ne marchais pas, il inscrivais rien dans la BDD, donc j'ai tester avec le leur, et toujours rien...
j'ai bien acces en lecture, mais pas en ecriture visiblement, et cela sur mon script ou le leur (qui se ressemble beaucoup)
pour info le code :
et l'emplacement de la page :
http://kaillou.no-ip.info/essaiphp/test.php
la page est hebergé sur mon serveur@home, sous debian, avec mysql, php4 et apache
merci
Message édité par kaillou38 le 11-09-2005 à 20:06:27
---------------
ras