par
header » 28 juin 2006, 13:30
Si par verification avant l envoi tu parles avant que l'utilisateur ne valide le formulaire (submit) en php c'est impossible, seul le javascript te le permet.
Par contre tu peux tout a fait aller vers une autre page, vérifier les variables envoyées par ton formulaire et si elles ne te conviennent pas (vides ou mauvais format ou autre) retourner à la page de ton formulaire (avec un header("Location : mapage.php"); ) et afficher un message (par exemple tu fais le header vers mapage.php?erreur=pseudo ce qui te permettra d afficher "Le pseudo n etait pas correct, recommencez svp."
Sans aucunes prétentions tu as tout à fait raison seulement un problème se pose !
Quand tu fait un "header" cela n'équivaut pas à un "back page" donc les données déjà ecrites dans le formulaire ne sont pus présentes.
Donc une solution ( qui n'est pas forcement la meilleure ) c'est de faire un GET : un exemple t'en diras plus.
Ton verif.php (Page de verif)
$prenom = $_POST['prenom'];
$nom = $_POST['nom'];
$rue = $_POST['rue'];
$numero = $_POST['numero'];
$ville = $_POST['ville'];
$cp = $_POST['code_postal'];
$pays = $_POST['pays'];
$email = $_POST['mail'];
$login = $_POST['login'];
$mdp = $_POST['mdp'];
$verif = $_POST['verif_mdp'];
if(empty($prenom) or empty($nom) or empty($rue)
or empty($numero) or empty($ville) or empty($cp) or empty($pays) or empty($email) or empty($login) or empty($mdp))
{
header('Location: enregistrement.php?err=vide&login='.$login.'&mdp='.base64_encode($mdp).'&verif_mdp='.$verif.'&email='.$email.'&prenom='.$prenom.'&nom='.$nom.'&rue='.$rue.'&numero='.$numero.'
&ville='.$ville.'&code_postal='.$cp.'&pays='.$pays.'');
}
Tu récupéres sur ton formulaire avec tes variable "GET"
exemple:
<input type="text" value="<?php echo $_GET['login'];?>" name="login" maxlength="70">
et pour le pass un "base64_decode()" suffit
Voila
