probleme de validation avec include - PHP - Programmation
Marsh Posté le 24-05-2005 à 15:42:58
Je sais pas trop, mais tu devrait commencer par utiliser un switch plutot que les if et elseif, on galère avec ton code là !
Marsh Posté le 24-05-2005 à 15:44:17
oui je sais mais bon le probleme n'est pas là je pense... cela dit t'as raison ! je vais le changer tout de suite en deux temps trois mouvements !
Marsh Posté le 24-05-2005 à 15:49:16
voila :
Code :
|
Marsh Posté le 24-05-2005 à 16:04:59
pour info... dans un include je fais ce genre de choses :
Code :
|
Marsh Posté le 24-05-2005 à 16:09:03
pas de header dans ton script ??? c'est peu être çà non? lol
Marsh Posté le 24-05-2005 à 16:10:07
bah je peux pas faire de header... mes include sont dans une page qui contient deja des elements HTML... donc header=DEAD !
et justement j'ai changé ma façon de faire parcequ'on m'a deconseillé d'utiliser les headers et d'utiliser un seul fichier avec des includes en revanche
Marsh Posté le 24-05-2005 à 16:19:50
ah oui c'est vrai !
essaie avec ca, mais faut le mettre dans le header de la page :
<meta http-equiv="refresh"
content="1; url=http://tonsite">
Marsh Posté le 24-05-2005 à 16:21:36
oula ! je pense pas que ce soit tres catholique cette methode ! de plus ma page risque de se reloader indefiniment !
Marsh Posté le 24-05-2005 à 16:35:20
j'ai trouvé un moyen de detourner le probleme... c'est d'utiliser une page intermediaire
mon form action="$PHP_SELF" devient action="valid.php"
... dans valid.php je mets tous les scripts de validation (ps: cette page n'affiche rien.. elle ne fait que tester et valider le formulaire)
et à la fin un header("location: index.php" ); pour retourner sur la page index qui affiche les resultats...
qu'en pensez-vous ???
Marsh Posté le 24-05-2005 à 18:23:30
rohhh ! ecoutez... je sais pas si vous approuvez cette methode de navigation mais ça marche vraiment bien !!!
je sais pas si c optimal par contre... car a chaque requete... ya deux pages qui se chargent...
Marsh Posté le 24-05-2005 à 20:15:49
C'est très bien à mon goùt et souvent utilisé.
C'est toujours mieux qu'une redirection javascript ou meta refresh...
Marsh Posté le 25-05-2005 à 08:57:09
yakob59 a écrit : bah voui ! et puis l'important, c'est que ca marche ! |
Non l'important c'est que ca marche bien pour tout le monde. Ce qui est tres different
Marsh Posté le 25-05-2005 à 14:39:29
esox_ch a écrit : Non l'important c'est que ca marche bien pour tout le monde. Ce qui est tres different |
bah à priori ya pas de raison que ça marche pas pour tout le monde... c'est l'avantage du PHP ! c'est le serveur qui travail ! et c pas le navigateur qui reagit ! donc si ça marche pour un... ça marche pour tous !!!
non ?
Marsh Posté le 25-05-2005 à 14:50:50
je crois aussi mais apparement esox ne pense pas comme nous !
Marsh Posté le 25-05-2005 à 14:51:54
bah il veut peut etre dire que justement... c en evitant les meta-refresh et les javascript qu'on a plus de chance que ça marche PARTOUT !
Marsh Posté le 25-05-2005 à 14:57:13
et puis l'important c'est que ça marche partout... certes ! mais faut pas non plus que le programme soit une usine à gaz pour le serveur... sinon les visiteurs risquent de fuire ! (c pourquoi je me demande si une action sur la page qui provoque deux évenements est une bonne solution!)
Marsh Posté le 24-05-2005 à 15:27:42
en tentant de faire une seule page (template) index.php
avec des includes en fonction d'une variable.. j'ai des problèmes car il faut valider deux fois la page pour qu'elle soit afficher... je m'explique en un bout de code :
explication : j'ai une variable $_SESSION['titre_etape'] qui sert de repere dans le site.. quand un forumulaire est validé (action=$PHP_self) cette variable est modifiée et un include différent s'affiche en fonction de cette variable.
... je pensais que c t la bonne solution.. sauf que visiblement il faudrait faire ça en deux temps.. un coup la variable change... et ensuite c l'include qui change... mais il faut soit recharger la page.. soit revalider le formulaire...
zavez une autre méthode ? ou une astuce pour eviter ce probleme ?
thanks!
Freed