formulaire avec mess. d'erreur (tp minichat siteduzero) [php débutant] - PHP - Programmation
Marsh Posté le 04-02-2012 à 11:17:12
Je précise le code pour la modif faite :
dans la mage minichat_post :
Code :
|
Marsh Posté le 04-02-2012 à 11:31:11
Un truc assez simple à faire pour cela (je pense) :
Code :
|
Ca fait un petit moment que j'ai pas fait de php, mais logiquement ça devrait marcher :-)
Marsh Posté le 04-02-2012 à 11:57:47
En fait j'avais pensé à faire ca, mais comme là on est dans le fichier minichat_post.php (donc pas celui qui contient le formulaire et les messages), le echo n'apparait jamais sur la page visible...
Marsh Posté le 04-02-2012 à 12:36:53
J'avais pas tilté, j'avoue
Ce que tu peux faire, à ce moment la, c'est préciser dans la redirection qu'y a une erreur, ta redirection pourrait ressembler à ça :
header('Location: minichat.php?error=nom');
et tu récupères le code d'erreur avec un $_GET['error'], que tu testes pour savoir si tu dois afficher un message d'erreur
Marsh Posté le 04-02-2012 à 13:27:13
Ha oui !
Très bonne idée !
En revanche, ca renvoie un messsage d'erreur quand je charge le page pour la première fois car la variable error n'est pas définie.
Dur l'apprentissage du php !
Marsh Posté le 04-02-2012 à 13:34:53
Pour savoir si une variable est définie, t'as la fonction isset(taVariable)
Marsh Posté le 04-02-2012 à 14:09:05
Oui j'utilise
if(isset($error)
{echo $error;}
else
{...}
mais ca ne semble pas fonctionner...
Sinon, je pensais à definir la variable error ="" sur la page minichat, et quand on valide, la variable prend une autre valeur selon que les form sont remplies ou non...
Possible de définir $error=="" dès le 1er chargement de minichat ?
Merci beaucoup
Marsh Posté le 04-02-2012 à 14:28:30
Tu dois faire isset($_GET['error']) pour récupérer la valeur de error depuis l'URL, c'est bien ce que tu fais ?
Marsh Posté le 04-02-2012 à 14:38:53
oui oui tout à fait,
mais au premier chargement de la page, c'est à dire quand j'appelle la feuille minichat.php, l'url ne contient que www.[]/minichat.php, il n'y a donc pas de variable error, d'où le message d'erreur sur la page...
Marsh Posté le 04-02-2012 à 14:50:38
ouais, mais isset devrait vérifier si ta variable existe, enfin d'après mes souvenirs... C'est bizarre
Marsh Posté le 04-02-2012 à 15:07:04
En fait, j'ai trouvé, tu m'as vraiment bien aidé, merci !
Je vais pointer toutes mes pages vers www.[]/minichat.php?error=
et faire un echo $error;
Comme ca, rien n'apparait,
et quand les formes sont vides, ca renverra un minichat.php?error=il manque un nom !'); (ddans le header'location).
Merci beaucopu !
Reste plus qu'à comprendre comment mettre des accents dans l'url
A+
Marsh Posté le 04-02-2012 à 15:57:41
Ca marche, bien trouvé, j'y avais pensé mais je trouvais ça moche
A+
Marsh Posté le 04-02-2012 à 18:18:31
Halala
Maintenant, quand j'envoie mon site sur le serveur (1and1), j'ai une erreur
Citation : Warning: Cannot modify header information - headers already sent by (output started at /homepages/45/dXXXXXX//htdocs/minichat_post.php:5) in /homepages/45/dXXXXXX/htdocs/minichat_post.php on line 23 |
Pourtant mon code fonctionne bien chez moi !
Code :
|
Une idée ?
car là aussi totaly blocked !
Marsh Posté le 04-02-2012 à 18:31:08
Ha bah c'est bon,
Je devais supprimer <html> et <meta>
Cool !Tout fonctionne, merci
Marsh Posté le 04-02-2012 à 11:14:56
Salut à tous,
j'essaie de comprendre comment fonctionne le php depuis peu, et je lis donc le site du zero.
Depuis quelques jours j'essaie de refaire le tp "mini chat" en apportant quelques modifications. ( http://www.siteduzero.com/tutoriel [...] -chat.html )
Ya une modif que je n'arrive absolument pas à faire...
C'est envoyer un message d'erreur quand les gens valident sans rien mettre dans les form.
Ce que j'ai réussi à a faire, c'est éviter la moindre modification si ya rien (on valide, mais rien ne se passe). Mais je voudrais en plus rajouter un message d'erreur (ex: "Il manque ton nom" ).
Pouvez-vous m'expliquer comment faire ca, car là je suis completement bloqué...
Merci beaucoup