Problème redirection

omlaly - 28 févr. 2013 à 20:47
@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 - 3 mars 2013 à 15:23
Bonjour,

Je suis confronté à un problème tout bête.

En effet, j'aimerais faire une redirection sur une autre page d'une fenêtre pop-up.
Actuellement, je fais avec ce code :

echo '<meta http-equiv="refresh" content="5;URL=adresse.php>'; // Pour effectuer la redirection après 5 secondes - marche avec Google Chrome et Opera pas avec Mozilla Firefox



Mais le problème c'est que ça fonctionne pas sous Mozilla Firefox. J'ai essayé
header:location

mais ça bug car je veux rediriger depuis une fenêtre pop-up.

J'ai pensé à faire
sleep(5)

pour gérer le délai de 5 secondes mais comment rediriger vers une autre adresse (et que ce soit compatible avec tout les navigateurs) ?

J'ai vu qu'il était possible de le faire avec une fonction JAVASCRIPT mais je n'arrive pas à mon script PHP de connexion.
J'ai essayé plusieurs fonctions JAVASCRIPT :
setTimeout(function () {
    document.location = 'adresse.php';
}, 900);
,
<script type="text/javascript" language="javascript">setTimeout(function () {
    document.location = "http://www.adresse.com/";
}, 900);
</script>
.

Voici la partie du code PHP du script de connexion :
if (mysql_num_rows($query_connexion_administrateur)==1) {
// Stockage des données avec les variables de sessions - DEBUT
$_SESSION['user_pseudo']=$identifiant_connexion; 
$_SESSION['user_acces']='1';
// Stockage des données avec les variables de sessions - FIN
    echo "<center>Vous êtes authentifié. Merci, vous allez être redirigé dans 5 secondes.</center>";
sleep(5);
echo '<script type="text/javascript">';
echo 'document.location.replace("adresse")';
echo '</script>';
 //	echo '<meta http-equiv="refresh" content="5;URL=adresse>'; // Pour effectuer la redirection après 5 secondes - marche avec Google Chrome et Opera pas avec Mozilla Firefox


Etant donné que je veux rediriger qu'à condition que l'utilisateur s'est connecté, je ne peux pas l'appeler via un
onLoad
. Je suis obligé de le faire dans le script de connexion PHP.

En attendant vos réponses, je continue mes recherches...
Cordialement

15 réponses

J'ai essayé ce code et ça ne marche toujours pas :
if (mysql_num_rows($query_connexion_administrateur)==1) {
// Stockage des données avec les variables de sessions - DEBUT
$_SESSION['user_pseudo']=$identifiant_connexion; 
$_SESSION['user_acces']='1';
// Stockage des données avec les variables de sessions - FIN
    echo "<center>Vous êtes authentifié. Merci, vous allez être redirigé dans 5 secondes.</center>";
sleep(5);
?>
<script type="text/javascript">
window.opener.location="adresse";
window.close();
<?php
 //	echo '<meta http-equiv="refresh" content="5;URL=adresse.php>'; // Pour effectuer la redirection après 5 secondes - marche avec Google Chrome et Opera pas avec Mozilla Firefox
}


Je continue mes recherches...
Cordialement
0
@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 153
28 févr. 2013 à 22:16
bonjour

il manque un guillemet peut etre la cause du probleme


<meta http-equiv="refresh" content="5;URL=adresse.php">
0
C'est ce que j'ai essayé cette balise meta
<meta http-equiv="refresh" content="5;URL=adresse.php">
mais le problème est qu'elle marche sur tout les navigateurs sauf sur Mozilla Firefox.

J'aimerais que ça soit compatible avec tout les navigateurs...

Cordialement
0
Je reviens parmi vous en ayant testé un nouveau code (toujours sans succès), le voici :
if (mysql_num_rows($query_connexion_administrateur)==1) {
// Stockage des données avec les variables de sessions - DEBUT
$_SESSION['user_pseudo']=$identifiant_connexion; 
$_SESSION['user_acces']='1';
// Stockage des données avec les variables de sessions - FIN
    echo "<center>Vous êtes authentifié. Merci, vous allez être redirigé dans 5 secondes.</center>";
?>
<script type="text/javascript" language="javascript">
window.setTimeout('location=("http://www.adresse.fr/");',5000
</script>
<?php //	echo '<meta http-equiv="refresh" content="5;URL=">';
}


Cordialement
0

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

Posez votre question
J'ai essayé ce code mais ça ne marche toujours pas :
if (mysql_num_rows($query_connexion_administrateur)==1) {
// Stockage des données avec les variables de sessions - DEBUT
$_SESSION['user_pseudo']=$identifiant_connexion; 
$_SESSION['user_acces']='1';
// Stockage des données avec les variables de sessions - FIN
    echo "<center>Vous êtes authentifié. Merci, vous allez être redirigé dans 5 secondes.</center>";
sleep(5);
echo '<script type="text/javascript"> window.setTimeout("location=(\'http://www.adresse.fr/');",1000) </script>';
 //	echo '<meta http-equiv="refresh" content="5;URL=">';


Si quelqu'un voit où est le problème, ce serait sympa de le dire...

Cordialement
0
@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 153
1 mars 2013 à 11:51
jai fait un teste sur une page conforme et sa fonctionne bien avec firefox

il faudrait voir la page generé
0
Avec quoi ? La balise META ou le script JAVASCRIPT ? Si c'est avec le script JAVASCRIPT, c'est lequel (j'en ai essayé plusieurs) ?
Le problème pour voir la page générée, c'est que c'est dans le script PHP de connexion de mon site (là ou il y a le traitement de connexion).
De plus, on se connecte depuis une fenêtre POP-UP.

Cordialement
0
@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 153
1 mars 2013 à 13:19
sur le navigateur clic droit code source de la page
0
Voici le code HTML que j'ai copé du code source de la page (de la fenêtre POP UP qui permet de se connecter) :
    <!-- POPUP CONNEXION - DEBUT -->
    

      
<center>
CONNEXION              </center>

,

----

Pour pouvoir commenter les articles, connectez-vous !!!,
,

<form method=\"post\" onSubmit=\"signin_connexion(this.identifiant_connexion.value,this.password_connexion.value);return false\" action=\"\">

<table width=\"410\" border=\"0\">
----

Entrez votre identifiant :,
,

----

Entrez votre mot de passe :,


          ,

Se souvenir du profil,
,

</form>

    

    <!-- POPUP CONNEXION - FIN -->
0
@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 153
1 mars 2013 à 17:52
ou est la balise meta ?
0
Elle est dans le fichier de traitement de connexion.
0
@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 153
1 mars 2013 à 18:50
mais normalement elle doit etre affiche dans le code de la page generé ?
0
Etant donné que je veux rediriger que si l'utilisateur s'est bien connecté (bon couple login/password), je l'ai mis dans le fichier PHP. J'ai trouvé la solution en mettant
echo '<meta http-equiv="refresh" content="5;URL=adresse">'; // Pour effectuer la redirection après 5 secondes - marche avec Google Chrome et Opera pas avec Mozilla Firefox
mais le seul et unique problème c'est que Mozilla Firefox empêche les redirections (j'ai vu qu'il était possible de modifier cela en modifiant sa configuration). Sinon, tout marche, il y a que ça qui bug.
Après, je ne suis pas pour utiliser une fonction JAVASCRIPT s'il y a quelque chose en PHP. J'ai vu ce code en PHP
header(Location:adresse.php
mais il ne fonctionne pas dans mon cas car c'est depuis une fenêtre POP-UP mais surtout, il faut qu'il y est aucun code qui le précède...

Cordialement
0
J'ai essayé un nouveau code :

J'ai mis dans mon fichier PHP (traitement de connexion sur le site) ce code :
include("javascript/redirection_settimeout.js");


Fichier "redirection_settimeout.js" :
document.location = "http://www.adresse.fr/";
900;


Voici ce qui s'affiche lors du test (quand j'appuie sur le bouton) :
Vous êtes authentifié. Merci, vous allez être redirigé dans 5 secondes.
document.location = "http://www.adresse.fr/"; 900;
au lieu de rediriger vers l'adresse.

Quelqu'un a une idée ?

Cordialement
0
@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 153
3 mars 2013 à 15:23
essai plutot

setTimeout(function(){window.location.href='monadresse.html'},5000)
0
Rejoignez-nous