Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/02/2007, 17h09   #1
Membre habitué
 
Inscription : octobre 2005
Messages : 641
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 641
Points : 143
Points : 143
Par défaut Erreur 404 : récupérer l'URL en cause

Bonjour,

je suis en train de mettre en place un système de redirection en fonction des erreurs gérées par mon .htaccess :
Code :
1
2
3
4
5
ErrorDocument 400 /erreur.php?id=400
ErrorDocument 401 /erreur.php?id=401
ErrorDocument 403 /erreur.php?id=403
ErrorDocument 404 /erreur.php?id=404
ErrorDocument 500 /erreur.php?id=500
Comment, en cas d'erreur 404 récupérer l'URL du document désiré mais inexistant ?

J'ai essayé $_SERVER['REQUEST_URI'] et $_SERVER['HTTP_REFERER'] mais ni l'un ni l'autre ne correspond à ce que j'essaye de récupérer....

Merci d'avance
Tchupacabra est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2007, 18h15   #2
Membre expérimenté
 
Avatar de mathieugamin
 
Inscription : octobre 2006
Messages : 572
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : octobre 2006
Messages : 572
Points : 562
Points : 562
Je ne suis pas encore spécialiste, mais je crois que tu peux faire ça (à condition que le visiteur soit redirigé d'une page de ton site vers une autre page de ton site) avec les variables de session.

Tu enregistres dans ta session l'url de provenance (de la page visitée avant le clic menant à la page non trouvée) et tu la retournes si le code erreur est 404.

Pour la mise en oeuvre, d'autres sont plus compétents que moi...

J'espère qu'ils illustreront mes propos avec quelques bouts de code...
__________________
GAMIN !!!!
_______________________________________________
PHP 5.2 | Apache 2 | MySQL 5 | WinXP Pro | Mac OSX
mathieugamin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2007, 18h18   #3
Membre Expert
 
Avatar de Doksuri
 
Tiger Scott
Développeur Web
Inscription : juin 2006
Messages : 1 251
Détails du profil
Informations personnelles :
Nom : Tiger Scott
Âge : 42

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2006
Messages : 1 251
Points : 1 514
Points : 1 514
salut,
ah cool je me suis toujours demandé comment on pouvait personnaliser les erreurs 40X

Citation:
ErrorDocument 400 /erreur.php?id=400
ErrorDocument 401 /erreur.php?id=401
ErrorDocument 403 /erreur.php?id=403
ErrorDocument 404 /erreur.php?id=404
ErrorDocument 500 /erreur.php?id=500
faut mettre ca dans le htacces ou dans les pages web ?
__________________
La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

N'oubliez pas le Le tag resolu.

Need_!
Doksuri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2007, 19h00   #4
Membre habitué
 
Avatar de a028762
 
Inscription : décembre 2003
Messages : 222
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 222
Points : 108
Points : 108
Par défaut C'est dans la doc :-)

faut mettre ces infos dans le .htaccess ou
si t'es maitre du serveur dans le http.conf

dans PHP, pour répondre à la question initiale, le tableau $_SERVER["HTTP_REFERER"] affiche dans la page courante
l'url de la page appelante
a028762 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2007, 10h47   #5
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
pour reconstruire l'URL complète tu peux utiliser ce code :
Code :
1
2
3
4
$url  = '';
$url .= (!empty($_SERVER['HTTPS']) ? 'https' : 'http') . '://';
$url .= $_SERVER['HTTP_HOST'];
$url .= $_SERVER['REQUEST_URI'];
__________________
Modérateur PHP
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2007, 13h47   #6
Membre Expert
 
Avatar de Doksuri
 
Tiger Scott
Développeur Web
Inscription : juin 2006
Messages : 1 251
Détails du profil
Informations personnelles :
Nom : Tiger Scott
Âge : 42

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2006
Messages : 1 251
Points : 1 514
Points : 1 514
yop,
ouai donc, j'ai fais mes pages d'erreurs.. ca marche niquel... mais il ne veux pas m'afficher d'images toutes simples...bizard...
__________________
La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

N'oubliez pas le Le tag resolu.

Need_!
Doksuri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2007, 14h23   #7
Membre expérimenté
 
Avatar de mathieugamin
 
Inscription : octobre 2006
Messages : 572
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : octobre 2006
Messages : 572
Points : 562
Points : 562
vérifie tes chemins relatifs...
Ce sont les emplacements images vus à partir de la page que tu as créée...
__________________
GAMIN !!!!
_______________________________________________
PHP 5.2 | Apache 2 | MySQL 5 | WinXP Pro | Mac OSX
mathieugamin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2007, 14h36   #8
Membre Expert
 
Avatar de Doksuri
 
Tiger Scott
Développeur Web
Inscription : juin 2006
Messages : 1 251
Détails du profil
Informations personnelles :
Nom : Tiger Scott
Âge : 42

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2006
Messages : 1 251
Points : 1 514
Points : 1 514
Code :
<img src="warning.gif"/>
(ya pas plus con comme code...)
ca marche depuis des années sur des millions de pages.. mais pas pour ma ***** de page 404.html....
__________________
La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

N'oubliez pas le Le tag resolu.

Need_!
Doksuri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2007, 14h42   #9
Membre expérimenté
 
Avatar de mathieugamin
 
Inscription : octobre 2006
Messages : 572
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : octobre 2006
Messages : 572
Points : 562
Points : 562
Ouais et puis y'a pas moins relatif que ce chemin-là...

Mais t'arrives quand même sur ta page 404.html ?
Si oui, le htaccess fonctionne bien, et c'est déjà cool...

Je vais essayer chez moi si j'ai le même problème
Je reviens...
__________________
GAMIN !!!!
_______________________________________________
PHP 5.2 | Apache 2 | MySQL 5 | WinXP Pro | Mac OSX
mathieugamin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2007, 14h44   #10
Membre Expert
 
Avatar de Doksuri
 
Tiger Scott
Développeur Web
Inscription : juin 2006
Messages : 1 251
Détails du profil
Informations personnelles :
Nom : Tiger Scott
Âge : 42

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2006
Messages : 1 251
Points : 1 514
Points : 1 514
tiens, c'est marrent, quand je lance la page (clic droit ouvrir avec firefox...) ca marche ya mes images... mais il prends pas en compte ma feuille de style css
si c'est pas l'un c'est l'autre... c'est quoi ce délir???

(je passe par le httpd.conf pas le htaccess..) c'est peut etre pour ca...
__________________
La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

N'oubliez pas le Le tag resolu.

Need_!
Doksuri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2007, 14h53   #11
Membre expérimenté
 
Avatar de mathieugamin
 
Inscription : octobre 2006
Messages : 572
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : octobre 2006
Messages : 572
Points : 562
Points : 562
Peut-être, mais comme j'ai pas le droit de jouer avec le serveur, je ne sais pas si c'est à cause de ça...

En tout cas, avec le HTACCESS, j'ai bien les images qui s'affichent...

Essaie avec ce type de fichier...(à mettre dans le dossier des pages).
Pour la redirection j'utilise une adresse en dur (http://monsite/mespages/lapaged_erreur.html)

Aie, post croisé...
__________________
GAMIN !!!!
_______________________________________________
PHP 5.2 | Apache 2 | MySQL 5 | WinXP Pro | Mac OSX
mathieugamin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2007, 14h58   #12
Membre Expert
 
Avatar de Doksuri
 
Tiger Scott
Développeur Web
Inscription : juin 2006
Messages : 1 251
Détails du profil
Informations personnelles :
Nom : Tiger Scott
Âge : 42

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2006
Messages : 1 251
Points : 1 514
Points : 1 514
pu**** mais ca va me rendre dingue !
quand je tappes l'url dans la barre d'url... il me l'affiche bien..
mais quand il doit me l'afficher par ce qu'il s'agit vraiment d'une erreur.. bah il me l'affiche n'importe comment....



faut faire comment pour passer par le .htaccess ?
suffit de mettre ErrorDocument 404 /erreurs/404.php a la suite ou faut rajouter autre chose ?

erf, encore un croisement de post..
__________________
La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

N'oubliez pas le Le tag resolu.

Need_!
Doksuri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2007, 15h01   #13
Membre expérimenté
 
Avatar de mathieugamin
 
Inscription : octobre 2006
Messages : 572
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : octobre 2006
Messages : 572
Points : 562
Points : 562
t'as essayé de mettre l'url complète de la page 404 dans le fichier de conf?
__________________
GAMIN !!!!
_______________________________________________
PHP 5.2 | Apache 2 | MySQL 5 | WinXP Pro | Mac OSX
mathieugamin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2007, 15h05   #14
Membre Expert
 
Avatar de Doksuri
 
Tiger Scott
Développeur Web
Inscription : juin 2006
Messages : 1 251
Détails du profil
Informations personnelles :
Nom : Tiger Scott
Âge : 42

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2006
Messages : 1 251
Points : 1 514
Points : 1 514
bon, ok la je passe pour un con....
<img src="http://chemin">
__________________
La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

N'oubliez pas le Le tag resolu.

Need_!
Doksuri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2007, 15h40   #15
Membre expérimenté
 
Avatar de mathieugamin
 
Inscription : octobre 2006
Messages : 572
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : octobre 2006
Messages : 572
Points : 562
Points : 562
c'est quoi ça?

Moi ce que je te disais, c'est de mettre l'url complète de la page 404.html dans le fichier de conf, pas dans la source de l'image, quoique ça ne devrait pas poser de problème...
__________________
GAMIN !!!!
_______________________________________________
PHP 5.2 | Apache 2 | MySQL 5 | WinXP Pro | Mac OSX
mathieugamin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2007, 15h44   #16
Membre Expert
 
Avatar de Doksuri
 
Tiger Scott
Développeur Web
Inscription : juin 2006
Messages : 1 251
Détails du profil
Informations personnelles :
Nom : Tiger Scott
Âge : 42

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2006
Messages : 1 251
Points : 1 514
Points : 1 514
j'ai bien compris ce que tu me disais... mais il mettre l'url complète dans le fichier conf ne marchais pas...mais j'avais un pb avec mon image....
j'hésite a effacer mes messages tellment j'ai honte...
__________________
La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

N'oubliez pas le Le tag resolu.

Need_!
Doksuri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2007, 15h50   #17
Membre expérimenté
 
Avatar de mathieugamin
 
Inscription : octobre 2006
Messages : 572
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : octobre 2006
Messages : 572
Points : 562
Points : 562
ben faut pas avoir honte !
Juste, je perds un peu mon latin ...

Quand ça fonctionne en direct ça ne fonctionne pas en redirection.... Y'a de quoi devenir dingue

Reprenons méthodiquement, comme des débutants...
Tes images sont dans quel dossier?
Ta page d'erreur est dans quel dossier?
Tu utilises le fichier httpd.conf ou le htaccess?
__________________
GAMIN !!!!
_______________________________________________
PHP 5.2 | Apache 2 | MySQL 5 | WinXP Pro | Mac OSX
mathieugamin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2007, 16h19   #18
Membre habitué
 
Inscription : octobre 2005
Messages : 641
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 641
Points : 143
Points : 143
¤ mathieu : merci mais c'est pas exactement ce j'aimerais avoir...

sans htaccess, une page introuvable affiche ceci :
Citation:
Not Found

The requested URL /dossier/pagequinexistepas.php was not found on this server.
il y a bien l'URL de la page demandée (-> /dossier/pagequinexistepas.php ), donc si le serveur Apache la connais, comment la récupérer ???
Tchupacabra est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2007, 16h40   #19
Membre expérimenté
 
Avatar de mathieugamin
 
Inscription : octobre 2006
Messages : 572
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : octobre 2006
Messages : 572
Points : 562
Points : 562
Je pense que Mathieu a bien répondu à ta question...

En fait ce bout de code qu'il t'a donné, tu peux le mettre dans ta page erreur.php afin de récupérer l'url du document recherché...

Tout dépend de ce que tu veux en faire...
__________________
GAMIN !!!!
_______________________________________________
PHP 5.2 | Apache 2 | MySQL 5 | WinXP Pro | Mac OSX
mathieugamin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2007, 17h36   #20
Membre habitué
 
Inscription : octobre 2005
Messages : 641
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 641
Points : 143
Points : 143
bah je ne crois...

dans erreur.php :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
	$url  = '';
	$url .= (!empty($_SERVER['HTTPS']) ? 'https' : 'http') . '://';
	$url .= $_SERVER['HTTP_HOST'];
	$url .= $_SERVER['REQUEST_URI'];
 
echo "HTTP_REFERER: ".$_SERVER['HTTP_REFERER'];
// affiche http://localhost/dossier/page_start.php
 
echo "REQUEST_URI: ".$_SERVER['REQUEST_URI'];
// affiche /dossier/erreur.php?id=404
 
echo "url:".$url;
// affiche http://localhost/dossier/erreur.php?id=404
/dossier/pagequinexistepas.php n'est pas affiché !
Tchupacabra est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h41.


 
 
 
 
Partenaires

Hébergement Web