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 :

[Cookies] header et include... une variable ne passe pas...


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 24
    Points : 20
    Points
    20
    Par défaut [Cookies] header et include... une variable ne passe pas...
    Bonjour a tous...

    Je suis en train de faire mon développement tardif sur serveur linux/apache/mod_php5... mais bon, visiblement, je dois commencer à fatiguer...

    j'ai un fichier de config.php qui charge quelque variables utiles... situé dans /$urlpath/config.php

    config.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    <?php
     
    // Monarch Config file Release 1.0 'Dirty'
     
    // Database Related
     
    	$dbhost = 'localhost';
    	$dbuser = 'monarch';
    	$dbpass = 'monarch';
    	$dbname = 'monarch';
     
    // Other Options, necessary
     
    	// Local archive repository
    	$archive = "/var/www/monarch/archive/";
     
    	// Temporary folder for processing files
    	$temp = "/var/www/monarch/temp/";
     
    	// Local application path
    	$localpath = "/var/www/monarch/";
     
    	// Url Path, for example, if Monarch is installed in a virtual host folder (http://www.intranet.local/monarch)
    	$urlpath = "/monarch/";
     
    	// Internet availability
    	$internet = 0; // or 1
     
    // Smarty related, don't touch
     
    $full_path =         dirname(__FILE__)."/";
     
    define ("SMARTY_DIR",$full_path."");
    define ("TEMPLATES_PATH",$full_path . "templates");
    define ("TEMPLATES_C_PATH",$full_path . "templates_c");
    define ("CONFIGS_PATH",$full_path . "configs");
    define ("CACHE_PATH",$full_path . "cache");
     
    if ($_GET['lang'] != "") {
        $LANGUAGE = $_GET['lang'].".conf";
    }
     
    if ($LANGUAGE == "")
        $LANGUAGE = "fr.conf";
     
    require_once SMARTY_DIR."Config_File.class.php";
    require_once SMARTY_DIR."Smarty.class.php";
     
    ?>
    et une petite fonction de rien du tout qui me sert a poser un malheureux cookie... le code est situé dans /$urlpath/func/func.set_cookie.php

    func.set_cookie.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    <?php
     
    $usercookie = $_POST['id_user'];
    include ('../config.php');
    function set_cookie($usercookie) {
    	if (isset($usercookie)) {
    		setcookie("monarch_user", $usercookie, time()+3600);
    		$host  = $_SERVER['HTTP_HOST'];
    		$page = "sommaire.php";
    		header("Location: http://$host/$urlpath$page");
     
    		} else {
     
    			echo "There is an authentification error";
    			echo "$usercookie "." bla";
    			}
     
    }
     
    $func_set_cookie_call = set_cookie($usercookie);
     
    ?>
    et bien... étrangement... la variable $urlpath est nulle... et mon header... qui est censé me renvoyer dans sommaire.php... me renvoi sur "http://monip/sommaire.php

    elle est passé ou ma valeur $urlpath... ???

    merci et bonne soirée [/b]

  2. #2
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut

    Puis-je te suggérer de :
    • Ne pas concaténer deux chaînes qui se suivent immédiatement, comme dans "$usercookie "." bla"
    • Ne pas utiliser les guillemets doubles où ils sont inutiles, comme dans "sommaire.php"
    • Utiliser des constantes au lieu de variables de config lorsqu'elles ne doivent pas être modifiées dans le script


    La dernière suggestion règlera probablement ton problème car il est impossible d'enlever sa valeur à une constante.


    [Edit] C'est un problème de scope : tu vas avoir du mal à utiliser, dans une fonction que tu as définie, des variables qui ont été déclarées à l'extérieur de cette fonction.

    Utiliser des constantes règlerait effectivement ce souci tout en étant plus correct.

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 24
    Points : 20
    Points
    20
    Par défaut
    Merci pour ta réponse rapide !

    En effet... ça passe avec une constante... je n'avais pas essayé... Merci aussi pour les autres petits conseils... c'est vrai que je ne m'atelle pas trop (du moins, depuis peu...) à ce genre de detail...

    ... pour le "$usercookie"... c'était pour un essai... :p

    merci encore...

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

Discussions similaires

  1. Une variable invisible passée en post
    Par freezix dans le forum Langage
    Réponses: 1
    Dernier message: 14/09/2014, 15h34
  2. Récupérer un Includes une variable
    Par ikeas dans le forum Eclipse C & C++
    Réponses: 0
    Dernier message: 09/09/2014, 13h33
  3. Réponses: 1
    Dernier message: 30/05/2008, 12h51
  4. [SQL] La valeur d'une variable ne semble pas être prise en compte
    Par oroumgolok dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 04/09/2006, 00h31
  5. [Tableaux] récuperer une variable tableau passé par URL
    Par molesqualeux dans le forum Langage
    Réponses: 2
    Dernier message: 23/12/2005, 02h12

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