Page 1 sur 2

php et redirection

Posté : 10 mars 2009, 14:04
par bruno.rotrou
bonjour
je souhaite effectué une redirection de page apres qu'un utilisateur se soit deconnecté. j'ai donc utiliser

header.

mais une nouvelle page du navigateur s'ouvre j'aimerais remplacer celle sur laquelle je suis , avec une propriétée _self par exemple , mais je ne voit pas comment l'implanter en php.

Code : Tout sélectionner

header('Location: https://www.beuzelin-grains.com/index_login.php',true);
merci

Posté : 10 mars 2009, 14:09
par Albat90
Tu pourrais utiliser une balise meta :)
echo '<meta http-equiv="refresh" content="0; URL=www.mapage.fr">';
Je pense que ça devrais surement faire l'affaire :)

Albat90 ;)

Posté : 10 mars 2009, 14:26
par Victor BRITO
Tu pourrais utiliser une balise meta :)
echo '<meta http-equiv="refresh" content="0; URL=www.mapage.fr">';
Je pense que ça devrais surement faire l'affaire :)
Et le bouton précédent du navigateur devient inutilisable... :-*
mais une nouvelle page du navigateur s'ouvre j'aimerais remplacer celle sur laquelle je suis
Normalement, avec un header() renseignant l'en-tête Location, on est redirigé vers l'URL indiquée par l'en-tête en question. Je ne vois donc pas où est le problème... :-k

Posté : 10 mars 2009, 14:40
par Albat90
Tu pourrais utiliser une balise meta :)
echo '<meta http-equiv="refresh" content="0; URL=www.mapage.fr">';
Je pense que ça devrais surement faire l'affaire :)
Et le bouton précédent du navigateur devient inutilisable... :-*
:afraid: C'est vrai que j'ai jamais pensé à ça :(
Et ce n'est pas bon pour le référencement à croire.

Dans tous les cas, tu pourra peut être trouver ton bonheur là dessus :)


http://www.webrankinfo.com/dossiers/deb ... directions

Albat90 ;)

Posté : 10 mars 2009, 14:54
par blof
Salut,
Et le bouton précédent du navigateur devient inutilisable... :-*
sauf erreur de ma part, c'est plutôt avec le "header Location"

Posté : 10 mars 2009, 14:58
par Victor BRITO
Et le bouton précédent du navigateur devient inutilisable... :-*
sauf erreur de ma part, c'est plutôt avec le "header Location"
C'est l'inverse. Sinon, personne ne recommanderait d'effectuer les redirections côté serveur. ;)

Posté : 10 mars 2009, 15:08
par blof
C'est l'inverse. Sinon, personne ne recommanderait d'effectuer les redirections côté serveur. ;)
ça ne correspond pourtant pas aux essais que je viens de faire :?

( quelqu'un pourrait me confirmer par un test ? )

Posté : 10 mars 2009, 15:20
par Albat90
C'est l'inverse. Sinon, personne ne recommanderait d'effectuer les redirections côté serveur. ;)
ça ne correspond pourtant pas aux essais que je viens de faire :?

( quelqu'un pourrait me confirmer par un test ? )
Hummm étonnant, j'ai fais le test avec les deux méthodes et le bouton précédent fonctionne pour les deux :shock:

Albat90 ;)

Posté : 10 mars 2009, 15:30
par Ryle
Modération :
Merci de rester dans le sujet. =;


Il n'est pas question de savoir comment désactiver ou pas le bouton "précédent" du navigateur,
ni de savoir les impacts éventuels sur le référencement (à plus forte raison quand on ne connait pas le contexte),
mais de trouver pourquoi une nouvelle fenêtre s'ouvrirai côté client, quand il fait appel à un header côté serveur...

redirection

Posté : 10 mars 2009, 22:34
par bruno.rotrou
slt a tous et merci
je vais tomber dingue, avec header location il m'ouvre tjr une autre fentre , qq1 pourrait tester chez lui, je me demande si ca ne vient pas du coté serveur??

qq chose m'echappe
on ne nous dit pas tout ...... :lol:

je vien de faire des essais en local et la ca appel dans la meme page,

y'a qq chose qui cloche la dedans , j'y retourne immédiatement

A+

Posté : 11 mars 2009, 15:50
par Ryle
Seulement si tu nous donne l'adresse pour tester ;)

PHP ne peut pas ouvrir de nouvelles fenêtres (et heureusement !)... doit donc y avoir un target ou un window.open qui traine dans ton code et qui appel ton script php dans une nouvelle fenêtre...

redirection

Posté : 13 mars 2009, 12:11
par bruno.rotrou
slt et merci
helas je ne peux vous donner l'adresse c'est un extranet entreprise avec login dans Bd il faudrait que je leur demande d'inserer un user et je suis pas sur qu'is soit d'accord.

j'ai donc continué mes tests , et tjrs pareille je n'arrive pas a isoler d'on vient le pb. je vous joint le code de la page php au cas ou !!! (desoler de ne pas pouvoir vous mettre le liens).

Code : Tout sélectionner

<?php // On appelle la session session_start(); $ip=$_SERVER['REMOTE_ADDR']; $idsession=session_id(); // ajoute guillemet $idsession="'".$idsession."'"; // connexion mssql $connexion=mssql_connect ("serveurtest","dgf","fgfgfgdg"); $base=mssql_select_db ("dfgfdgg"); // mise en forme des données ip pour amfphp $cible="."; $rempl=""; $ip= str_replace($cible, $rempl, $ip); //------------------------------------------------------------- // definie la requete $requete=mssql_query("EXECUTE ps_deconnexion @ip=$ip,@idsession=$idsession"); // On écrase le tableau de session $_SESSION = array(); // On détruit la session session_destroy(); header('Location: https://www.tutute.com/index_login.html',true); exit(); ?>
merci a+

Posté : 13 mars 2009, 12:54
par Ryle
Pas de soucis... mais effectivement, il n'y a, à première vue, pas de problème dans ton code php et aucune raison de voir une nouvelle fenêtre s'ouvrir ... c'est d'avantage dans ton lien de déconnexion qu'il faudrait chercher s'il n'y a pas un target ou un appel à une nouvelle fenêtre :)

redirection

Posté : 13 mars 2009, 18:00
par bruno.rotrou
slt ryle et merci

qu'entend tu par lien de déconnexion ? la fonction session_destroy ???

je vais essayer de faire la redirection avant de détruire la session, je n'y avait pas pensé, c'est t'on jamais

je reviens vous dire
a+

Posté : 13 mars 2009, 18:41
par Ryle
Nope, je parlais en amont de ton script... en gros quel est le code html qui te fait arriver sur cette page :)

Est ce que c'est un lien du genre <a href="deconnexion.php" ... > ou un bouton dans un formulaire, dans lequel pourrait trainer un target="xxx" ? Où est-ce une fonction javascript avec un window.open ? Ou bien ce n'est rien de tout cela ?