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 :

header location relatif et absolu


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Inscrit en
    Mars 2004
    Messages
    1 933
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 933
    Par défaut header location relatif et absolu
    Bonjour à tous,

    je travaille actuellement en local, j'utilise les redirection comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    	header("Location: crecli02.php");
    mais j'aimerais trouver une astuce pour ne pas me retaper tous les redirection à la main pour mettre le chemin en absolu au moment de la mise en ligne de mon site...
    J


    Merci d'avance pour votre aide.

  2. #2
    Membre très actif Avatar de metagoto
    Profil pro
    Hobbyist programmateur
    Inscrit en
    Juin 2009
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Hobbyist programmateur

    Informations forums :
    Inscription : Juin 2009
    Messages : 646
    Par défaut
    Travail en absolu en local également ?

    Il faudra que tu ais un moyen d'injecter les différences local/online dans ton code, là où il le faut. Genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header("Location: ".make_url('crecli02.php'));
    A toi d'écrire make_url() pour que ça fonctionne aussi bien en local qu'online

  3. #3
    Membre chevronné
    Avatar de bricecol
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 364
    Par défaut
    comme il est souvent d'usage, on écrit un fichier PHP contenant les différentes URL. c'est le plus simple et le plus rapide.

    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php
     
    define('DS', DIRECTORY_SEPARATOR);
     
    define('ROOT_DIR', '/chemin/vers/root');
    define('LOGIN', ROOT_DIR.DS.'login.php');
    // ... 
     
    // EOF
    N.B : ton code ne dois pas être assez pensé si tu utilises beaucoup de
    relocalisation via le header. c'est pas courant en pratique, le code
    devient vite perturbant... enfin c'est un conseille que je te donne d'en laisser
    le moins possible. il doit y avoir une logique entre l'appel de tes scripts et
    un script principal qui se charge d'appeler les autres (un front controler).

  4. #4
    Membre éprouvé
    Inscrit en
    Mars 2004
    Messages
    1 933
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 933
    Par défaut
    voici la méthode que j'ai adopté :

    dans un premier temsp en local, je code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    $site = "";
     
    header("Location: ".$site."crecli02.php");
    exit();
    et quand je mettrai le site en ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    $site = "http://www.monsite.com/";
     
    header("Location: ".$site."crecli02.php");
    exit();
    et voilà le tour est joué. Je n'aurais que la variable à alimenter.

    Par contre je devrais le faire sur chaque page ou j'effectue une redirection.

  5. #5
    Membre chevronné
    Avatar de bricecol
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 364
    Par défaut
    c'est bien çà le problème. çà va marcher mais ce n'est pas très propre.
    mieux vaut :
    1/ réfléchir d'avantage à l'archiecture du script et les
    conditions/l'ordre des appels
    2/ créer un fichier de configuration (ou plusieurs)
    3/ créer un script principal (contrôleur) qui appel les autres scripts
    en cascade si besoin est.

  6. #6
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    Citation Envoyé par bricecol Voir le message
    c'est bien çà le problème. çà va marcher mais ce n'est pas très propre.
    mieux vaut :
    1/ réfléchir d'avantage à l'archiecture du script et les
    conditions/l'ordre des appels
    2/ créer un fichier de configuration (ou plusieurs)
    3/ créer un script principal (contrôleur) qui appel les autres scripts
    en cascade si besoin est.
    Salut,
    je suis bien d'accord avec toi mais je pense que s'il est beaucoup trop avancé dans son application, il sera obligé de tous revoir ! ce qui à mon avis n'est pas du tout bénéfique...

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2008
    Messages : 46
    Par défaut
    Salut,

    Citation Envoyé par sam01 Voir le message

    Par contre je devrais le faire sur chaque page ou j'effectue une redirection.
    Si tu utilise un fichier de config global que tu include en haut de chacun de tes fichiers tu evite de répéter ta variable sur chaque page et tu te facilite ainsi les changements d'environnement en ayant à ne changer que ton fichier de config en fonction de la plateforme. (local, serveur,..)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?
    include_once ("config/start.inc");
    ?>
    Personnellement je n'utilise les header que lorsqu'une de mes pages a été appelée hors de son contexte normal.

Discussions similaires

  1. Mon header("Location: page.php"); ne fonctionne pa
    Par Flushovsky dans le forum Langage
    Réponses: 17
    Dernier message: 24/03/2006, 23h49
  2. [header location]
    Par agougeon dans le forum Langage
    Réponses: 5
    Dernier message: 11/01/2006, 20h26
  3. Actualiser une page après un "header location"
    Par salva57 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 15
    Dernier message: 10/01/2006, 22h09
  4. header('Location:$url') VS session_start()
    Par Paniez dans le forum Langage
    Réponses: 2
    Dernier message: 02/12/2005, 22h30
  5. [FTP] problème header("location:......")
    Par K4trix dans le forum Langage
    Réponses: 23
    Dernier message: 30/11/2005, 11h53

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