Salut.
BOn j'ai un PB sur mon site, j'en rage.
Je suis chez free.fr
J'ai fais une rubrique d'inscription constitué de plusieurs formulaires PHP.
Voici son principe de fonctionnement.
Chaque page php a son formulaire POST dont l'action le redirige sur la meme page. La page donc se recharge lors du post, puis vérifie ses champs.
Si tous les champs sont ok, on les stocke dans des variables de session, et on passe a la page suivante.
Pour éviter que des petits malins aillent directement au dernier formulaire, j'ai mis en place un petit system qui verifie que les autres formulaires aient bien été validé par mes scripts de verif.
En fait c'est simple, disons que le visiteur est sur le premier formulaire , si tous les champs sont bons, avant de rediriger la page, on dit que $_SESSION['Inscri1'] = TRUE;
ET dans la page suivante on dit que si $_SESSION['Inscri1'] != TRUE
alors on redirige vers le formulaire precedant.
Ainsi je suis sur que mes gars ne zap pas des formulaire en rentrant directement l'URL du dernier FOrmulaire.
Maintenant mon PB :
Il arrive que (enfin j'en ai l'impression) que le moteur PHP de free n'a pas le temps d'enregistrer la variable $_SESSION['Inscri1'] avant de rediriger.
Resultat, la page d'apres crois que le formulaire precedant n'est pas validé, et le visiteur est redirigé sur la page precedante.
CA ne le fait que de temps en temsp, mais tres souvant quand meme, alors moi je suis vert, je ne sais pas trop quoi faire, je me demande si un boucle vide avant la redirection solutionnerait le PB, ou si quelqu'un aurait une autre idée pour m'aider.
Voici un extrait de code d'un de mes formulaire (oui je n'oublie jamais de faire un session_start() en debut de chaque page
)
_________________________________________________
// Si tous les champs sont ok
if ($VerifFOK == TRUE)
{
$_SESSION['Inscri1'] = TRUE;
header("Location: inscription2.php" );
}
________________________________________________
et dans la page suivante, apres le session_start, on a :
________________________________________________
// Si formulaire precedant non validé
$verifOldForm = $_SESSION['Inscri1'];
if ($verifOldForm != TRUE)
{
header("Location: Inscription1.php" );
}
__________________________________________________
Voila, si quelqu'un a un consiel pour me sauver, je le remercie grandement d'avance.