Aide en php

Fermé
caroline - 20 juin 2005 à 20:03
ceddec Messages postés 148 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 10 mars 2012 - 1 août 2005 à 11:40
J'aimerai à partir d'un test revenir sur la page précédente, comment puis-je faire?

$e = $_POST["reponse"];
if (empty($e))
{
RETOUR SUR LA PAGE PRECEDENTE;
exit();
}


Merci
A voir également:

6 réponses

Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497
20 juin 2005 à 21:05
Salut,

Je te conseil de placer ce code :

header("Location:".$_SERVER['HTTP_REFERER']);

@+
0
J'ai essayé mais j'ai ce message


Warning: Cannot modify header information - headers already sent by (output started at f:\easyphp1-8\www\p01\rep.php:3) in f:\easyphp1-8\www\p01\rep.php on line 30

Peux-tu m'aider?
0
Babylontiti Messages postés 59 Date d'inscription mercredi 4 août 2004 Statut Membre Dernière intervention 8 février 2007 28
21 juin 2005 à 05:59
Salut Caroline,

J'ai essayé avec du javascript et ça fonctionne bien chez moi.
Voici un code qui me semble correct:

<?PHP
$e = $_POST['reponse']; 
if(empty($e)){ 
 echo("<SCRIPT LANGUAGE = \"JavaScript\">window.history.back(-1);</SCRIPT>");
exit(); 
}
?>


Et voilou, alors ça fonctionne ? ;-)
@+
0
Slt. Moi j'avais besoin de la meem fonction. Ta fonction marche mais le probleme est qu'il revient directement a la page precedente. Tu ne pourrais pas me dire comment faire en sorte que la page d'erreur s'affiche pendant quelques secondes ?
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
31 juil. 2005 à 22:40
0
ceddec Messages postés 148 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 10 mars 2012 82
31 juil. 2005 à 23:13
Bonjour,

Je vous préviens qu'il n'est pas conseiller d'utiliser la variable $_SERVER['HTTP_REFERER'] parce qu'elle n'est pas fiable (j'ai vu ça sur http://www.nexen.net/docs/php/annotee/reserved.variables.server.php?lien=http_referer )

Pour faire sans, voilà ce que je propose :
Dans chaque page, ajouter cette ligne
$_SESSION['precedent']=$_SERVER['SCRIPT_NAME'];

Ainsi lorsque l'on veut retourner à la page précédente, il suffit de rediriger sur $_SESSION['precedent'] en utilisant le meta refresh.

Le source devient :
$e = $_POST["reponse"];
if (empty($e))
{
    $pre = $_SESSION['precedent'] ; 
    echo "<meta http-equiv=\"Refresh\" content=\"0;URL=$pre\">";
} 


Le 0 correspond au temps d'attente (en seconde) avant la redirection
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
j'ai esssaye ton code mais il me remet en boucle la meme page en precedent. Tu saus d'ou peux venir l'erreur ?

Et pour le code javascript, y a t il moyuen d'ajouter un nombre de secondes avant l'affichage de la page precedente ? Merci pr vos reponses
0
ceddec Messages postés 148 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 10 mars 2012 82
1 août 2005 à 11:27
Qu'entend tu par il me remet en boucle la meme page en precedent?

Parce que normalement il n'y a qu'une redirection, cela ne devrait pas boucler.



Par contre pour le javascript, il y a le commande setTimeout() qui permet de lancer la redirection au bout de quelques milisecondes. Plus de détails sur cette fonctions ici : http://www.le-webmestre.net/web/cours/javascript/cours_21.php
0
et bien il redirige vers la meem page en fait :s
0
ceddec Messages postés 148 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 10 mars 2012 82
1 août 2005 à 11:40
tu as bien mis $_SESSION['precedent']=$_SERVER['SCRIPT_NAME']; sur toutes les pages?

Autre point sur lequel je suis pri d'un doute : Si tu utilise des frames la valeur de $_SERVER['SCRIPT_NAME']; peut être faussé (c'est à vérifier en faisant un echo sur chaque page de la valeur)
0