Probléme de lien !!

Eléphant du PHP | 259 Messages

13 juil. 2007, 10:31

Bonjour,

Dans ma page php j'ai un lien html pour se déconnecter :
<a href="deconnexion.php?action=membre" target="frame" >Se déconnecter</a>
Quand je clique sur le lien, ça me met : Internet Explorer ne peut afficher cette page web alors je regarde le lien de la page et ça me met ceci :

res://ieframe.dll/dnserror.htm#http://monsite.com/deconnexion.php?action=membre

Alors que quand je clique droit sur le lien se déconnecter ça me met ce lien : http://monsite.com/deconnexion.php?action=membre

Je ne comprend vraiment pas d'ou vient le res://ieframe.dll/dnserror.htm# avant l'adresse !!
C'est peut être du a l'iframe ?? Pourtant les autres liens du même genre fonctionne trés bien !

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

13 juil. 2007, 10:46

Le problème doit provenir du target="frame" qui est très probablement un mot clé réservé d'IE ... change le nom de ta frame et modifie ton target, je vois pas vraiment d'autre explication :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 259 Messages

13 juil. 2007, 10:59

même en changeant le nom de la frame ça fait la même erreur !

En fait j'ai ma page php j'ai l'iframe en bas et en dessous j'inclu un fichier qui affiche les données de la personne et il y a plusieurs liens html comme se déconnecter et tout les autres lien fonctionne sauf se déconnecter. Pourtant avant il marchait et je n'ai rien changer..

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

13 juil. 2007, 11:42

Et si tu ouvres directement l'url http://monsite.com/deconnexion.php?action=membre dans ton navigateur, sans passer par le lien.. ca fonctionne ou bien tu as le même problème ?

si cela ne passe pas mieux, c'est que tu as un soucis sur cette page.. si cela fonctionne, c'est au niveau du lien ou des éléments de la page précédente que cela pose problème...
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 259 Messages

13 juil. 2007, 15:16

En ouvrant l'URL directement ça ne marche pas non + pourtant le code est éxécuté quand même !

Je pense avoir trouver l'erreur, j'ai une redirection dans ma page :

Code : Tout sélectionner

<html> <head> <title>mon site</title> <SCRIPT language="Javascript"> top.location = page.php; </SCRIPT> </head> </html>
Quand j'enléve ce code ça ne met plus : IE ne peut pas afficher cette page web !

Mais par contre ma page n'est pas redirigé !!

Comment faire pour faire une redirection dans une nouvelle fenêtre sans cliquez sur un lien ??

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

13 juil. 2007, 15:42

Tu peux faire ta redirection en php avec un header, en html avec un meta, ou bien comme tu le fais en javascript en mettant des guillemets ou des apostrophes autour de tes chaines (genre le nom de la page ;)) et en précisant "document" avant le .top :

Code : Tout sélectionner

document.top.location = "page.php";
:)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 259 Messages

13 juil. 2007, 16:06

En javascript ça ne marche pas du tout même en mettant

Code : Tout sélectionner

document.top.location = "page.php";
Donc il me reste le header et le meta en html.

Comment fait-on pour rediriger dans une nouvelle fenêtre avec un header, j'ai essayé ça :

Code : Tout sélectionner

header('top.location:page.php');
Mais ça ne marche pas..

ViPHP
ViPHP | 5924 Messages

13 juil. 2007, 18:38

On ne peut pas manipuler le document parent par des headeers. Les headers contrôlent la connexion, donc la page en cours, donc on ne peut pas rediriger la page parente par des headers...

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

14 juil. 2007, 10:48

Ah ben non en effet, comme ça tu ne peux pas... php il bosse que côté serveur et il se fiche royalement de où le navigateur affiche les infos qu'il lui envoi.... Ce que tu peux faire en revanche c'est dans ton lien mettre un target="_top" et ouvrir ta page de déconnexion en pleine page du navigateur. La redirection avec le header se fera alors à ce niveau :)
header('Location:page.php');
Ta page page.php est bien dans le meme dossier que ta page deconnexion ?
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 259 Messages

16 juil. 2007, 09:30

j'ai mis dans mon lien target="_top" comme ça avec le header ça marche.. merci :wink: