Affichage automatique d une page apres verification

Eléphanteau du PHP | 37 Messages

28 mai 2005, 15:02

Bonjour
Mon probleme est le suivant
J ai une page html contenant un formulaire qui fait appel a une page php pour verifier les données entrées par l utilisateur
Mais est il possible qu une fois ces données verifiées, la page fasse automatiquement appel a une page html ?

Le code de mes pages est le suivant

Inscription.html

Code : Tout sélectionner

<html> <head> <body> <h2>Formulaire d inscription</h2> <form method="GET" action="inscription.php"> <table border='0' cellpadding='0' cellspacing='0' valign='top' width='100%'><tr><td class='bg2'><table width='100%' border='0' cellpadding='4' cellspacing='1'> <tr valign='top'><td><b>Nom</b></td><td class='bg1'><input type='text' name='Nom' size='21' maxlength='20' value='' /></td></tr> <tr valign='top'><td><b>Pr&eacute;nom</b></td><td class='bg1'><input type='text' name='Prenom' size='21' maxlength='20' value='' /></td></tr> <tr valign='top'><td><b>Sexe</b></td><td class='bg1'><select name='Sexe'><option>M</option><option>F</option></select></td></tr> <tr valign='top'><td><b>Ville</b></td><td class='bg1'><input type='text' name='Coords' size='21' maxlength='20' value='' /></td></tr> <tr valign='top'><td><b>Date de naissance (format jj/mm/yyyy)</b></td><td class='bg1'><input type='text' name='Birth' size='21' maxlength='20' value='' /></td></tr> <tr valign='top'><td><b>Login</b></td><td class='bg1'><input type='text' name='Login' size='21' maxlength='20' value='' /></td></tr> <tr valign='top'><td><b>Password</b></td><td class='bg1'><input type='password' name='Password' size='21' maxlength='20' value='' /></td></tr> <tr valign='top'><td><b>Retaper votre mot de passe</b></td><td class='bg1'><input type='password' name='Password2' size='21' maxlength='20' value='' /></td></tr> <tr valign='top'><td><b>Adresse email</b></td><td class='bg1'><input type='text' name='Email' size='21' maxlength='20' value='' /></td></tr> <tr valign='top'><td><b></b></td><td class='bg1'><input type='submit' name='submit' id='submit' value='Valider l inscription' /></td></tr> </table></td></tr></table </body> </html>
Inscription.php
<html>
<body>
<?php
include("sc.php");
$date=date("Y/m/j H:m:s");
$searchlog="SELECT Login From Utilisateur Where Utilisateur.Login='".$Login."'";
$Y=substr($Birth,6 ,4);
$M=substr($Birth,3,2);
$D=substr($Birth,0,2);
if (($Nom!="") && ($Prenom!="") && ($Coords!="") && ($Login!="") && (checkdate($M,$D,$Y)) && (mysql_fetch_array(mysql_query($searchlog))=="") && (strlen($Password)>3) && (strcmp($Password,$Password2)==0) && (eregi("^[_\.0-9a-z-]+@([0-9a-z-]+\.)+[a-z]{2,4}$",$Email))) {
	$B=$Y."-".$M."-".$D;
	$query="INSERT INTO Utilisateur VALUES ('$Login','$Nom','$Prenom','$Sexe','$B','$Password','$Coords','$Email','$date');";
	$a=mysql_query($query);
	if($a > 0){
	echo "Bienvenue sur Sondage-web";
	echo "Veuillez cliquer  <a href='index.php' target='_parent'> ici </a>pour revenir au sommaire";
}
else {
	echo "erreur1";
}
}
else  { echo "erreur";
}
?>
</body>
</html>

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

28 mai 2005, 15:43

redirection en PHP
header("Location:taPage.php");
tu peux aussi le faire en HTML, avec une balise meta-redirect, que tu n'affiches que si les infos sont bonnes

Eléphanteau du PHP | 37 Messages

28 mai 2005, 15:45

Ok merci
mais j ai encore une question
Vu que j utilise des frames, est ce qu il y a une methode qui soit meilleure que l autre ?

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

28 mai 2005, 15:48

je ne pense pas, c'est à adapter suivant ton fonctionnement surtout

Eléphanteau du PHP | 37 Messages

28 mai 2005, 15:55

Ben je vais essayer comment j aimerai que fonctionne ce systeme

Au debut, j ai une page d index ou l utilisateur se connecte ou s inscrit (la ou j ai le probleme pour le moment). Ces choix se passent dans la& frame de gauche

Pour l inscription, quand il clique sur le lien, il s affiche un formulaire dans la frame du milieu et a la fin, une fois qu il clique sur le bouton d inscription, j aimerais qu il s affiche dans la frame du milieu le message "Bienvenu dans notre base" (ce message je l ai) et que quelques instants apres la page entiere se recharge pour reafficher en fait l index du debut.

Pour le moment, j en suis a ce que l index se reaffiche mais dans la frame du milieu
Donc voila
Pour indication, j utilise la methode
<meta http-equiv='REFRESH' content='3;url=index.php' target='parent'>
Est ce la bonne? Sinon comment puis je m en sortir?

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

28 mai 2005, 16:01

tu ne pourras pas utiliser les headers (première méthode)en ayant affiché du texte avant

donc ta solution html peut être bien
pour savoir si elle est bonne, un bon moyen reste d'essayer
je n'utilise pas les frames et je ne saurai te dire avec certitude sans tester si c'est bien "parent" ou je ne sais quoi qu'il faut mettre dans target
mais je dirai qu'il faut mettre le nom de ton frame à la place de "parent"

mais bon, pourquoi utilises-tu les frames, c'est vraiment nécessaire ? là ça complique un peu les choses non ?

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

28 mai 2005, 16:03

et puis bon truc bête mais je le note quand même

tu parles ici d'une procédure d'inscription, avec un message qui atteste de la réussite de l'inscription et une redirection vers l'accueil

la redirection est-elle vraiment utile ?
cliquer sur u lien ce n'est pas compliqué ni gênant

et il suffit qu'une jolie fille passe dans le couloir au moment où le message s'affiche et l'utilisateur ne le voit pas, il ne sait pas trop ce qu'il s'est passé, s'il est inscrit ou non...

voici mon avis :)

Eléphanteau du PHP | 37 Messages

28 mai 2005, 16:06

Ben je pensais utiliser les frames parce qu a vrai dire je pensais que ce serait la meilleure solution vu que normalement je ne devrais charger qu une seule partie de ma fenetre a chaque operation donc je pensais que ce serait plus efficace

Eléphanteau du PHP | 37 Messages

28 mai 2005, 16:18

Bon finalement j ai a moitie resolu mon probleme a l aide de la balise meta en chargeant non plus l index (contenant les frames) mais plutot ce qu il devrait y avoir au milieu au stade juste apres l inscription
Donc merci de m avoir renseigne sur l utilisation des <meta>