IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

redirection en boucle


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Mars 2007
    Messages : 16
    Par défaut redirection en boucle
    bonjour,

    j'ai un petit souci avec ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    if ($_ENV['id_page'] <> 36 || $_ENV['id_page'] <> 37) {
    		if ($_ENV['id_page'] == 2 || $_ENV['id_page'] == 6 || $_ENV['id_page'] == 19 || $_ENV['id_page'] == 21 || $_ENV['id_page'] == 25 || $_ENV['id_page'] == 27 || $_ENV['id_page'] == 29 || $_ENV['id_page'] == 7 || $_ENV['id_page'] == 8) {
    		 	if ($_SESSION['Droit'] <> 'admin') {
    				echo "<SCRIPT LANGUAGE=\"JavaScript\">
        	 		document.location.href=\"./index.php?id_page=36&auth=noauth3\"
    				</SCRIPT>";
    			}
    		}elsif ($_SESSION['Droit'] <> 'users' || $_SESSION['Droit'] <> 'admin') {
    			echo "<SCRIPT LANGUAGE=\"JavaScript\">
        		 document.location.href=\"./index.php?id_page=36&auth=noauth2\"
    			</SCRIPT>";
    		}
    	}
    }
    ma page est redirigé en boucle : l'id_page 36 est la page d'identification et la page 37 est l'action du formulaire.
    le probleme vien du elsif apperemment car sans cette instruction le code fonctionne et les id_page listé dans la condition sont bien bloqué sans les droits...

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut

    Je propose que tu remplaces elsif par elseif. Il y a peut-être un autre problème mais ça pourrait déjà mieux fonctionner.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre chevronné Avatar de TucSale
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    264
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 264
    Par défaut
    bonjour,

    • elseif à la place de elsif
    • Utilise $_GET a la place de $_ENV
    • Test si les variables sont définies grace a isset()
    • je ne vois pas de session_start()
    • fais un print_r($_GET) et print_r($_SESSION)
    • error_reporting = E_ALL dans le php.ini



    En revanche, je ne savais pas que different pourrais s'ecrire <>, je l'ai toujours ecrit != xD

  4. #4
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Mars 2007
    Messages : 16
    Par défaut
    oups désoler j'ai pas tout dit
    ceci est une portition de ma page index.php session_start() est tout en haut la variable $_ENV['id_page'] et définit et le test isset et fait bcp plus haut.

    merci pour le elseif mais sa n'a pas suffit malheureusement (fausse joie :p)

    pour se qui est de la variable $_SESSION['Droit'] elle est définit car mon site fonctionne sans la 2ème condition elseif qui est la pour bloquer tout le site sauf la page d'identification 36.

    merci de vos réponce

  5. #5
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Je résume :
    la condition pour entrer dans le elseif donne quelque chose comme ça :
    Citation Envoyé par ceci n'est pas du code
    SI page != 36 OU page != 37
    ET SI page !=2 ET !=6 ET !=19 ET !=21 ET !=25 ET !=27 ET !=7 ET !=8
    ET SI droit!=user ou droit !=admin
    En gros, si la page n'est pas 36 ou 37, ni un tas d'autres, et que les droits ne sont pas utilisateur ou admin, tu renvois tout à la page 36. C'est bien ce que tu veux faire ? ou est-ce moi qui n'ai rien compris ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  6. #6
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Mars 2007
    Messages : 16
    Par défaut
    exactement
    je redirige vers la page 36 pour que l'utilisateur puisse s'identifier...

  7. #7
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Dans ce cas, quel est le problème exactement ? la redirection se fait pas ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2.x] Sécurité - Redirection en boucle
    Par n1k00 dans le forum Symfony
    Réponses: 2
    Dernier message: 27/08/2013, 11h45
  2. [.htaccess] Redirection en boucle
    Par redah75 dans le forum Apache
    Réponses: 16
    Dernier message: 28/03/2013, 02h34
  3. Redirection 301 boucle infini
    Par J0r_x dans le forum Débuter
    Réponses: 5
    Dernier message: 28/01/2009, 16h39
  4. Réponses: 12
    Dernier message: 23/04/2008, 18h46
  5. Analyse d'un fichier de redirection dans une boucle
    Par Safaritn dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 08/02/2008, 15h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo