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

PHP & Base de données Discussion :

PHP : Utilisation de header location avec replace


Sujet :

PHP & Base de données

  1. #1
    rjl
    rjl est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    301
    Détails du profil
    Informations personnelles :
    Âge : 82
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 301
    Points : 129
    Points
    129
    Par défaut PHP : Utilisation de header location avec replace
    Bonjour,
    Bien souvent, les pages PHP (ou même HTML) doivent s'enchaîner automatiquement.
    Pour cela, il existe diverses possibilités :
    1. le code Action au sein d'un formulaire,
    2. la fonction header() avec son paramètre location qui placée en tête du programme peut rediriger vers une autre page…

    Problème, cette redirection est difficilement conditionnelle et pour preuve j'ai même lu que cette fonction (en tête de module) devait de préférence être suivie d'un Exit !
    Pourtant, j'ai cru comprendre qu'il existait un second paramètre possible :
    Le paramètre optionnel replace indique si la fonction header() doit remplacer un en-tête précédemment émis, ou bien ajouter un autre en-tête du même type. Par défaut, un nouvel en-tête va écraser le précédent, mais si vous passez FALSE dans cet argument, vous pouvez forcer les en-têtes multiples pour un même type d'en-tête.
    L'usage avec False d'entêtes multiples dépasse ma compétence (bien limitée) mais le Replace simple qui peut être envoyé en décalé semble bien se prêter à des déroulements de pages pour des cas particuliers de traitement (ou celui des erreurs).
    Merci d'avance à qui aurait employé ce paramètre ou pourrait m'apporter des précisions sur son fonctionnement.
    @bientôt RJL2711

  2. #2
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2010
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 144
    Points : 241
    Points
    241
    Par défaut
    Je ne pense pas que le deuxième paramètre (replace) soit utilisable avec une redirection par header('location:...'), en effet le script effectuera la redirection avant même d'arriver sur le deuxième header().

    En revanche il peut être utilisé comme décrit dans la documentation PHP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    header('WWW-Authenticate: Negotiate');
    header('WWW-Authenticate: NTLM', false);
    Dans ce cas "WWW-Authenticate" sera déclaré deux fois dans l'entête, avec deux valeurs différentes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    header('WWW-Authenticate: Negotiate');
    header('WWW-Authenticate: NTLM', true);
    Dans ce cas il y aura seulement le deuxieme header de prit en compte dans l'entête.



    Mais il est tout à fait possible d'utiliser les redirections de cette façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    if ($var == 'toto')
    {
        header('Location:toto.php');
    }
    else
    {
        header('Location:error.php');
    }
    exit;
    ?>

Discussions similaires

  1. header('Location: avec paramètre
    Par Trebor_ dans le forum Langage
    Réponses: 1
    Dernier message: 15/06/2015, 09h11
  2. [AJAX] Bug header location avec ajax
    Par Toutella dans le forum AJAX
    Réponses: 3
    Dernier message: 20/11/2013, 16h50
  3. Pb header location avec renvoi d'une variable
    Par gazelle dans le forum Langage
    Réponses: 2
    Dernier message: 07/05/2007, 13h33
  4. utiliser la function locate avec Ttable Tquery PROBLEME
    Par jojojojo57 dans le forum Bases de données
    Réponses: 4
    Dernier message: 18/03/2007, 14h45
  5. Utilisation de Header(location)
    Par jakkihm dans le forum Langage
    Réponses: 14
    Dernier message: 12/01/2007, 11h06

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