Page 1 sur 1
Redirection de page
Posté : 01 août 2006, 12:37
par Dom!
Bonjour,
J'ai un probléme de redirection de page :
Je fais remplir un formulaire à un utilisateur et je vérifie ce qu'à remplit l'utilisateur grace à une page verif.php qui contient ce code :
<?php
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
if(empty($nom))
{
print("<center>Votre '<b>nom</b>' est vide !</center>");
exit();
}
else
{
echo "<meta http-equiv=\"refresh\" content=\"0; url=http://www.sagipassurances.com/step_2.php\">";
}
?>
Mon probléme se pose quand l'utilisateur remplit correctement son formulaire, en effet, quand l'utilisateur valide le formulaire la page verif.php s'ouvre et s'actualise pour la redirection... Est il possible d'éviter ce rafraichissement ?
Merci pour votre aide.
Posté : 01 août 2006, 12:43
par jojolapine
Oui bien sur regarde du côté de la fonction header()

à utiliser comme suit:
<?php
header('Location: mapage.php');
?>
Posté : 01 août 2006, 13:17
par Dom!
Quand je mets un header j'ai un message d'erreur !
Je pense qu'il faut que je modifie mon code ! php - html non ?
J'ai regardé du coté de la fonction header mais le probleme c'est que c'est en anglais et je suis pas trop calé en anglais... arf

Posté : 01 août 2006, 13:18
par marghost
en fet la fonction header doit absolument avant tout code ou balises html pour fonctionner

Posté : 01 août 2006, 13:29
par Dom!
Ok effectivement ca fonctionne ! mais la redirection ne fonctionne pas j'ai un message d'erreur :
Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/valid_step_1.php:1) in /var/www/html/valid_step_1.php on line 11
La ligne 11 étant la ligne de redirection...
Posté : 01 août 2006, 13:48
par Dom!
Ca fonctionne sauf une chose qui va vous praitre bête !
J'ai donc mis mon code avant les balise mais si l'utilisateur oubli un champ le texte s'inscrit en haut de la page sur un fond blanc, pourquoi n'ai je plus les boutons de mon siite les liens.....???
Merci
Posté : 01 août 2006, 13:57
par Invité
sans code, on ne peut essayer de résoudre ton problème, met donc içi les différents scripts merci

Posté : 01 août 2006, 14:01
par Dom!
Voici le code que je place avant les balises avant les balises ou code html :
<?php
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
if(empty($nom))
{
$message = "Votre nom please";
exit();
}
?>
<?php
header('Location: step_2.php');
?>
Je n'ai plus les images, bouton, liens de mon site j'ai juste une page blache avec mon message.
Merci pour votr aide
Posté : 01 août 2006, 23:41
par Truc
Toujours regarder la doc pour les fonctions que l'on utilise =>
exit()
Posté : 03 août 2006, 14:21
par Dom!
Bon je suis toujours sur mon probleme et je n'y arrive pas !
J'ai lu le lien que m'a envoyé "Truc" mais je ne saisie pas le fonctionnement...
J'ai essayé d'écrire exit(0); mais rien de nouveau.. Est ce que quelqun peut m'éclairer ????
merci
Posté : 03 août 2006, 14:36
par leakcim51
Bonjour,
la fonction exit() stoppe le script. Donc si tu as des lignes de code après la fonction exit() elles ne seront pas executées.
bon courage
Posté : 03 août 2006, 15:07
par iclo
La structure de tes tests me parait assez étrange.
Si un variable est vide, tu affiches un message (avant même le début du code html de la page et donc en dehors du corps de la page) sinon tu envois un header qui redirige vers une autre page. le code html qui suit n'apparait donc jamais sur le pc de l'utilisateur.
Il faudrait prendre le problème à l'envers : si la variable contient quelque chose, on redirige, sinon on affiche l'ensemble de la page, avec les message d'erreur éventuel.
Code : Tout sélectionner
Si la variable Nom est remplie Alors
on redirige
Sinon
on affiche l'ensemble de la page
Posté : 03 août 2006, 15:19
par Dom!
Oui effectivement c'est une solution !
Mais j'aimerais quand meme comprendre ce foutu header qui ne fonctionne pas chez moi LOL
Quand je met le header j'ai un message d'erreur :
Warning: Cannot modify header information - headers already sent by
Je desespere.... mais souhaite comprendre d'ou vient mon erreur !
merci à vous [/php]
Posté : 03 août 2006, 15:40
par iclo
http://www.phpfrance.com/forums/voir_su ... header.php
devrait te renseigner sur l'usage des header.
ps: penses toujours à regarder dans la FAQ avant de poster
