|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Daniel Directeur commercial Inscription : mars 2011 Messages : 9 ![]() |
Bonjour
J'essaye en vain de réaliser un programme de gestion d'avis (=+/- livre d'or ) La connexion a une base mysql semble correcte La base message comprend 4 champs ( nom, date, email, message) Ci joint le fichier " ajout " J'envoie des messages test et chaque fois que je veux consulter, il indique: " pas de message" ( j'utilise un autre fichier " livre" pour cela. Y a t il une erreur dans le fichier "ajout"? En fait il semble ne rien ajouter dans la base... Merci de votre aide DB |
|
|
00
|
|
|
#2 | ||||
|
Membre expérimenté
![]() |
Bonjour,
Je présume que la page ajout est la page appelée lors de l'envoi du formulaire ? Si oui, tu ne récupère pas les valeurs de tes champs saisis. remplace Code :
Code :
Si tu as besoin de plus d'explications n'hésite pas à demander. Redis-nous. Cordialement, |
||||
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Daniel Directeur commercial Inscription : mars 2011 Messages : 9 ![]() |
Super, enfin presque..
Tu as raison, c'est bien la page appellée lors de l'envoi du message. J'ai maintenant une reconnaissance des messages, mais quant je souhaite les visualiser, il n'indique rien. Dans la base sql il y a lorsque je l'examine: query empty. Donc il semble qu'il n'a rien enregistré. je joins aussi le petit script de lecture des messages. En tout cas, c'est sympa de m'aider. Je "sèche" depus plusieurs jours sur ce cas. Cordialement Daniel |
|
|
00
|
|
|
#4 | ||||
|
Membre expérimenté
![]() |
Bonjour,
Il y a quelques petites corrections à apporter que voici : ajout_livre.php: Code :
Code :
Il en est de même pour ta page livre.php : récupérer l'id de connexion et le transmettre à la fonction de fermeture de connexion SQL. Fonction qui d'ailleurs devrait être placée à la fin du script. Redis-nous si tu as encore des soucis. Cordialement, PS: regarde mon MP aussi |
||||
|
|
00
|
|
|
#5 | |||
![]() ![]() Inscription : septembre 2010 Messages : 7 103 ![]() |
Citation:
__________________
http://blog.stealth35.com/ |
|||
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Daniel Directeur commercial Inscription : mars 2011 Messages : 9 ![]() |
Bonjour et merci pour les réponses.
En tant que novice , j'ai appris que ce code permettrait d'éviter les conflits et d'enlever le / que php ajoute devant tout caractère qui serait en conflit. On m'a conseillé d'introduire ce code dans ce genre de script justement pour éviter que le / n'apparaisse si le visiteur tape un caractère genre ' ou "... Est ce vrailent utile à votre avis? Je fait les autres corrections ce soir. Je vous tiens tous au courant en fin de soirée ou demain matin des résultats. Bonne soirée. DB ps les fichiers joints sont déjà effacés; mais merci aussi pour le conseil. |
|
|
00
|
|
|
#7 | |
![]() ![]() Inscription : septembre 2010 Messages : 7 103 ![]() |
Citation:
http://www.php.net/manual/fr/security.database.php http://fr2.php.net/manual/fr/function.stripslashes.php http://fr2.php.net/manual/fr/functio...ape-string.php
__________________
http://blog.stealth35.com/ |
|
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Daniel Directeur commercial Inscription : mars 2011 Messages : 9 ![]() |
Bonjour
Voici les 2 scripts corrigés en fonction des conseils reçus (j'espère ne pas avoir fait d'erreur ) Les messages sont maintenant bien enregistrés sur la base. Lorsque je teste le programme, le transfert vers livre.php ne se fait pas correctement j'ai le message: Warning: Cannot modify header information - headers already sent by (output started at /homez.406/bmiweb/www/connexion.php:14) in /homez.406/bmiweb/www/ajout_livre.php on line 42 Y aurait il une incompatibilité avec la fonction return mise dans le programme connexion.php? Par contre la liste des messages reçus est bonne, j'ai trouvé mon erreur ( fallait les 2 ++ devant$i): for($i=0;$i<$nbmsg;++$i) |
|
|
00
|
|
|
#9 |
|
Membre du Club
![]() Inscription : juin 2004 Messages : 30 ![]() |
Salut,
Il y a quelque chose qui s'affiche dans connexion.php à la ligne 14. s'il n'y a pas de echo / print (ou autre dans le style) dans ce fichier ou que la ligne 14 est la dernière, vérifie qu'il n'y a aucune ligne vide après le ?> il ne faut pas non plus d'espace, tabulation, ni aucun caractère "blanc". Pour que header fonctionne il ne faut aucun affichage avant. J'ai rapidement regardé ton code : - tu devrait utiliser <?php et non <? car ce n'est pas la configuration par défaut de php (php5) - tu ne devrait plus utiliser ereg_* qui sont "dépcréciée" en php5 - regarde bien les lien de Stealth35 concernant la base de donnée c'est très important, ton code permet les injections SQL si tu ne modifie pas. @+ |
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Daniel Directeur commercial Inscription : mars 2011 Messages : 9 ![]() |
Bonjour
Super ! Merci des conseils reçus. Cela fonctionne, reste simplement la mise en page à améliorer. J'avais effectivement une ligne vide à la fin du fichier connexion.php. Quant on y pense j'ai cherché une semaine pour une ligne vide et deux++ qui manquaient dans une boucle for...Faut être mordu... Une question de principe toutefois: Comment si je supprime erag éviter que la messagerie coince si il y a / par exemple? J'ai fait le test simplement avec la date 23/03/2011 et la base n'a pas enregistré le message. |
|
|
00
|
|
|
#11 |
|
Membre du Club
![]() Inscription : juin 2004 Messages : 30 ![]() |
utilise les fonctions preg_*, dans ce cas preg_replace, en lieu et place des ereg_*
pour la date, si tu utilise un champ de type date c'est normal vue que le format que tu utilise est le format français et non anglo-saxon (Y m d). @+ |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com