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 :

Variable PHP $_SERVER['PHP_AUTH_USER']


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Novembre 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2008
    Messages : 130
    Par défaut Variable PHP $_SERVER['PHP_AUTH_USER']
    Bonjour à tous,
    J'ai commencer à développer un site internet en local avec wamp server et tout s'est bien déroulé.
    J'ai donc voulu le mettre sur internet via l'hebergement ovh.
    J'ai rencontre un problème avec la variable $_SERVER['PHP_AUTH_USER'] qui n'était pas reconnu dans un premier temps.
    Ensuite ovh m'a répondu et m'a dit qu'il fallait mettre le fichier .htaccess de cette manière là (avec la php_version) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    AuthUserFile /homez.356/athleticg/www/admin/.htpasswd
    AuthGroupFile /dev/null
    AuthName "Protection - Zone privée"
    AuthType Basic
    require valid-user
    SetEnv PHP_VER 5_TEST
    Cette dernière est maintenant reconnu mais je ne comprends pas j'ai toujours une erreur comme si la variable était vide :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Notice: Undefined index: PHP_AUTH_USER in /homez.356/athleticg/www/admin/index.php on line 23
     
    Notice: Undefined index: PHP_AUTH_USER in /homez.356/athleticg/www/admin/index.php on line 26
    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    // Traitement pour les groupe
    $sql="SELECT groupe from user where login='".$_SERVER['PHP_AUTH_USER']."'";
    $req=mysql_query($sql)or die('Erreur SQL ! '.mysql_error());
    $data=mysql_fetch_array($req);
    echo " Variable : ".$_SERVER['PHP_AUTH_USER'] ;
    $contenu="";

  2. #2
    Membre émérite

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2011
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 411
    Par défaut
    La variable globale $_SERVER, comme son nom l'indique dépend du serveur.
    Et effectivement $_SERVER['PHP_AUTH_USER'] a, entre autre, besoin de PHP5 pour être présente.

    Malheureusement, $_SERVER['PHP_AUTH_USER'] n'est pas rempli si l'utilisateur a annulé l'authentification, d'où l'erreur de PHP_AUTH_USER absent du tableau $_SERVER.

    Tu peux suivre les exemples de la doc officielle http://php.net/manual/fr/features.http-auth.php

  3. #3
    Membre confirmé
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Novembre 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2008
    Messages : 130
    Par défaut
    J'ai donc essayer le premier script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    if (!isset($_SERVER['PHP_AUTH_USER'])) {
        header('WWW-Authenticate: Basic realm="My Realm"');
        header('HTTP/1.0 401 Unauthorized');
        echo 'Texte utilisé si le visiteur utilise le bouton d\'annulation';
        exit;
    } else {
        echo "<p>Bonjour, {$_SERVER['PHP_AUTH_USER']}.</p>";
        echo "<p>Votre mot de passe est {$_SERVER['PHP_AUTH_PW']}.</p>";
    }
    ?>
    Voici l'erreur maintenant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Warning: Cannot modify header information - headers already sent by (output started at /homez.356/athleticg/www/admin/index.php:8) in /homez.356/athleticg/www/admin/index.php on line 24
     
    Warning: Cannot modify header information - headers already sent by (output started at /homez.356/athleticg/www/admin/index.php:8) in /homez.356/athleticg/www/admin/index.php on line 25
    Texte utilisé si le visiteur utilise le bouton d'annulation
    Est-ce bien cela qu'il fallait faire ? Comment corriger cette erreur ?

  4. #4
    Membre émérite

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2011
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 411

  5. #5
    Membre confirmé
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Novembre 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2008
    Messages : 130
    Par défaut
    Après avoir lu la doc, j'ai donc placer le code avec le header au début de la page php, cependant, il y a toujours un problème.
    En effet, lorsque je me connecte sur cette page à accès restreint, il me demande les login et mot de passe que j'ai eu dans mon fichier .htpasswd mais après il me demande une seconde authentication avec en texte "My Realm".
    Est-ce que cela correspond a la ligne de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header('WWW-Authenticate: Basic realm="My Realm"');
    Dois-je modifier cette variable "Basic realm" ?
    Et si oui que dois-je mettre à la place ?
    Merci de votre réponse.

  6. #6
    Membre émérite

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2011
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 411
    Par défaut
    Oublie cette ligne de header. (et essaye d'apprendre ce que sont les headers par la même occasion )

  7. #7
    Membre confirmé
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Novembre 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2008
    Messages : 130
    Par défaut
    Le but du header est de modifier l'en tete http, et donc le "www authenticate basic real .." permet de redemander l'authentification. Je me trompe ?


    Merci de votre réponse.

  8. #8
    Membre confirmé
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Novembre 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2008
    Messages : 130
    Par défaut
    Personne pour m'aider et m'orienté sur une solution ?

    Merci de votre réponse.

  9. #9
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920

Discussions similaires

  1. [PHP-JS] passage de variable php a javascript
    Par limpins dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 05/07/2005, 11h54
  2. [FLASH MX2004] Recuperation d'une variable php
    Par Shooter dans le forum Flash
    Réponses: 2
    Dernier message: 30/06/2005, 09h37
  3. [Applet] récupérer une variable PHP ?
    Par Shiryu44 dans le forum Applets
    Réponses: 10
    Dernier message: 22/03/2005, 11h39
  4. [PHP-JS] variable php à récupérer en JS
    Par mussara dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 15/01/2005, 16h34

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