Remplacement du Header : Location

cs_apz Messages postés 281 Date d'inscription dimanche 7 avril 2002 Statut Membre Dernière intervention 11 avril 2013 - 13 janv. 2003 à 17:31
cs_Dean Messages postés 500 Date d'inscription mardi 16 avril 2002 Statut Membre Dernière intervention 2 août 2004 - 19 févr. 2003 à 14:06
salut,

y a t-il une fonction qui peut remplace le Header;Location ?

parce que j'ai du mal a m'en sortir d'un probleme cause par cette derniere !

Merci

8 réponses

cs_Dean Messages postés 500 Date d'inscription mardi 16 avril 2002 Statut Membre Dernière intervention 2 août 2004
13 janv. 2003 à 17:40
Tu peux toujours utiliser la balise HTML <meta http-equiv="refresh" content="0;url=urldelapage" /> ou son équivalent JavaScript window.location='urldelapage' mais ces fonctions sont tout de même moins rapides que le header.
Elles peuvent cependant servir dans certaines circonstances, notamment si tu as déjà envoyé des données au navigateur, cas dans lequel le header ne fonctionne plus.

Dean
http://kickme.to/apz
0
cs_apz Messages postés 281 Date d'inscription dimanche 7 avril 2002 Statut Membre Dernière intervention 11 avril 2013
15 janv. 2003 à 19:22
salut,

merci pout toi Dean,

mais je crois que mon malheur n'est pas resolu.

lorsque j'ai modifier mon code :
<?
include "config.php"
if ($page == "login") { 
$pass = md5(stripslashes($pass)); 
Header("Location: $url/members/index.php?l=$l&login=$login&pass=$pass"); 
} 
...


par celui que tu m'as donné :

if ($page == "login") { 
$pass = md5(stripslashes($pass)); 
echo "<script language="javascript"> document.location.href='$url/members/index.php?l=$l&login=$login&pass=$pass'</script>";
}


mon serveur lycos m'a repondu par l'erreur suivante :
Fatal error: Allowed memory size of 8388608 bytes exhausted at zend_hash.c:438 (tried to allocate 524288 bytes) in header.php on line 298

:?
0
cs_apz Messages postés 281 Date d'inscription dimanche 7 avril 2002 Statut Membre Dernière intervention 11 avril 2013
15 janv. 2003 à 19:45
salut,

merci pout toi Dean,

mais je crois que mon malheur n'est pas resolu.

lorsque j'ai modifier mon code :
Code:
<?
include "config.php"
if ($page == "login") {
$pass = md5(stripslashes($pass));
Header("Location: $url/members/index.php?l=$l&login=$login&pass=$pass");
}
...


par celui ci (le tien n'a pas marché):

Code:
if ($page == "login") {
$pass = md5(stripslashes($pass));
echo "<script language="javascript"> document.location.href='$url/members/index.php?l=$l&login=$login&pass=$pass'</script>";
}

mon serveur lycos m'a repondu par l'erreur suivante :
Citation:
Fatal error: Allowed memory size of 8388608 bytes exhausted at zend_hash.c:438 (tried to allocate 524288 bytes) in header.php on line 298
0
cs_Dean Messages postés 500 Date d'inscription mardi 16 avril 2002 Statut Membre Dernière intervention 2 août 2004
16 janv. 2003 à 22:06
Je ne sais pas, il doit y avoir autre chose qui cloche dans ton code. Enfin, désolé de ne pas pouvoir te renseigner davantage.

Dean
http://kickme.to/apz
0

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

Posez votre question
cs_apz Messages postés 281 Date d'inscription dimanche 7 avril 2002 Statut Membre Dernière intervention 11 avril 2013
18 janv. 2003 à 19:48
salut Dean,

je crois que le probleme se situe dans une variable que j'ai declare dans config.inc.php et elle est utilisée dans le fichier header.php et footer.php.

cette derniere $int_path prend la valeur '.' si le repertoire courant est la racine, et prend la valeur '..' si on descend d'un niveau, mais voila dans le deuxieme cas tout les fichiers cherches sont introuvables ?

alors comment proceder de facon a donner a la variables $int_path la valeur exacte quand on se retrouve d'un niveau en bas au lieu de '..' ?

Merci.
0
cs_Dean Messages postés 500 Date d'inscription mardi 16 avril 2002 Statut Membre Dernière intervention 2 août 2004
18 janv. 2003 à 23:08
Mmm... il faudrait que je sache exactement ce que tu veux faire parce que là ce n'est pas très clair...

Je vais quand même essayer de te donner des indications :

'..' sert à remonter d'un niveau (répertoire parent) et non de descendre.

Pour aller dans un répertoire enfant, il faut d'abord récupérer son nom (en utilisant par exemple opendir() puis readdir()) et passer celui-ci dans une variable en concaténant éventuellement avec le path courant...

Sinon il y a un truc important à ne pas oublier :
quand tu fais un header("Location:..."), l'URL en paramètre doit être absolue (http://etc"). Ceci peut être à l'origine de problème dans certains cas.

Dean
http://kickme.to/apz
0
mmaxuel Messages postés 101 Date d'inscription samedi 13 avril 2002 Statut Membre Dernière intervention 29 avril 2004
19 févr. 2003 à 00:05
pour utiliser header dans un script meme apres avoir deja envoyé des donnés au navigateur (echo ...), il suffit d'utiliser la methode de compression du script generer... en effet pour compresser le document generer en php le serveur attend que le fichier soit totalement generer pour le compresser puis l'envoyer...

exemple :

<?
echo "Salut";
header("Location: index.htm");
?>

ce code renvoie une erreur...

alors que si on utlise la methode précedement utilisé: le script devient:
<?
ob_start("ob_gzhandler"); //Debut Compression

echo "Salut";
header("Location: index.htm");

ob_end_flush();//Fin Compression
?>
et là vous n'obtenez plus d'erreur...
0
cs_Dean Messages postés 500 Date d'inscription mardi 16 avril 2002 Statut Membre Dernière intervention 2 août 2004
19 févr. 2003 à 14:06
Pas bête comme technique. Merci pour cette astuce !

Dean
http://kickme.to/apz
0
Rejoignez-nous