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 :

1 question session, 1 question syntaxe


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 76
    Points : 48
    Points
    48
    Par défaut 1 question session, 1 question syntaxe
    bonjour,

    2 questions:

    - j'ai une session
    je me log >> ok >> j'appelle session_start(); et me dirige (en cliquant sur un lien) vers une page de mon espace membre

    est ce qu'il est necessaire, sur cette page, de faire, une nouvelle fois, appel à session_start() alors que je controle deja l'existence de $_SESSION['login'] et aussi qu'une valeur lui est bien affectee?


    - autre question:
    un site est conçu en pseudo-frames
    j'ai un fichier de fonctions
    j'ai une page .php
    Dans le script de la page .php, j'initialise une variable et j'appelle une fonction de mon fichier de fonctions.
    Je souhaite que ma fonction (dans mon fichier de fonctions) modifie la valeur de ma variable et me retourne cette nouvelle valeur.

    le seul moyen que j'ai trouvé pour le faire est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $v0= false;
    $v1= $fction(&$nvelle_valeur);
    et ds la fonction:
    est-ce que c'est propre?
    est-ce que c'est le seul moyen de faire? (je n'en ai pas trouve d'autre)
    est-ce la syntaxe n'est pas obsolète?

    Merci bien,
    areuh

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    1 - il est possible que ton serveur soit configuré pour demarrer automatiquement les sessions.
    Il est recommandé d'utiliser quand même session_start() pour ne pas avoir de mauvaise surprise si un jour tu déménages ton site.

    2 - Je ne vois pas du tout ou tu veux en venir avec ton exemple, en particulier quel est le role de $v0 ?

    Tout simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $v1 = une_fonction($v1);

  3. #3
    Membre actif Avatar de polkduran
    Profil pro
    Consultant informatique
    Inscrit en
    Décembre 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 155
    Points : 275
    Points
    275
    Par défaut
    pour ta question 2, en effet, si tu travaille avec des variables qui contiennent des types primitifs (int, string, array,...) le seul moyen de modifier la valeur d'un paramètre est avec le passage par référence de ta variable dans la fonction comme tu as fait.

    si no, les objets sont automatiquement passés entant que référence dans les fonctions, donc si ce que tu as fait ne te paraît propre tu peux englober ta valeur dans un objet
    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
     
    class A{
        public $val = false;
    }
    //étant donné que tu passe un objet à la sortie de la fonction l'attribut
    //val sera modifié
    function maF($o){
        $o->val = true;
    }
     
     
    $v = new A();
    echo $v->val; //false
    maF($v);
    echo $v->val; //true
    mais je ne sais pas si c'est trop en faire pour une simple valeur, à toi de voir

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 76
    Points : 48
    Points
    48
    Par défaut
    hop,

    ok, merci a tous les 2, je pense avoir mes reponses.
    je recapitule juste

    il vaut mieux utiliser session_start() sur toutes les pages de la session (meme si je controle l'existence et affecte une valeur a $_SESSION['login'] par ex))

    sinon le concept objet... j'y suis jamais arrive dc... ca ne me derange pas plus que ca, dc je reste avec le passage par référence de ma variable dans la fonction comme j'ai fait.

    PS: vi sabotage, me suis plante ds mon ex
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $v0= false;
    $v1= $fction(&$v0);
    et
    Merci a tous les 2.
    a+
    areuh

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

Discussions similaires

  1. Questions à propos des différentes syntaxes de JSP
    Par tweetysat dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 08/02/2012, 20h11
  2. Question simple : Boucle javascript syntaxe ?
    Par anxious dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 06/01/2010, 15h18
  3. glib: questions formelles et questions de syntaxe
    Par vitoubien dans le forum GTK+ avec C & C++
    Réponses: 16
    Dernier message: 21/08/2009, 22h40
  4. Question de musique, question de gout
    Par blindeye dans le forum C++
    Réponses: 7
    Dernier message: 14/06/2006, 14h45
  5. [C linux makefile] question de syntaxe
    Par Ultros dans le forum Systèmes de compilation
    Réponses: 7
    Dernier message: 09/04/2004, 07h58

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