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 :

[POO] Débutant en POO


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 97
    Points : 47
    Points
    47
    Par défaut [POO] Débutant en POO
    [FONT=Courier New]Bonjour à tous,
    je voudrai simplement que lorsque je clique sur mon lien afficher calendrier que cela me mette ma variable de session à 1 et que lorsque je clique sur le lien Cacher calendrier que cela me mette cette variable à 0.
    Malheureusement cela ne marche pas.
    Pourriez-vous m'aider ? merci beaucoup
    [/FONT]
    [FONT=Courier New]C'est un problème de class et non de session


    <?php
    session_start
    ();
    class
    Calendrier {
    var
    $etat = "0";

    function
    Calendrier() {
    * constructeur d'object */
    $this->init();
    }

    function
    init() {
    /* Initialise (ou réinitialise) */
    $this->etat = "0";

    }
    function
    Afficher(){
    if(isset(
    $this->etat)){
    $this->etat = "1";
    }
    }
    function
    Masquer(){
    if(!isset(
    $this->etat)){
    $this->etat = "0";
    }
    }

    }


    ?>

    et voici ma page index.php
    require_once('calendrier.php');
    if (! isset($_SESSION["calendrier"])) {
    $_SESSION["calendrier"] = new Calendrier;
    }

    ?>

    <a href="index.php
    <?php $_SESSION['calendrier']->Afficher(); ?>">Afficher calendrier</a> /
    <a href="index.php
    <?php $_SESSION['calendrier']->Masquer(); ?>">Masquer calendrier</a>

  2. #2
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Points : 557
    Points
    557
    Par défaut
    oula, un petit nettoyage de post s'impose ....

    Edit: merci
    Merci à Microsoft pour avoir transformé un métier relativement terne et basé sur une approche bêtement technique et rigoureuse des faits, en challenge quotidien, nécessitant une remise en question permanente à l'échelle du quart d'heure

  3. #3
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Points : 557
    Points
    557
    Par défaut
    Sinon, là en gros, je vois que tu ta fonction "Afficher" et "Masquer" ne fait que de changer la valeur de la variable "etat", c'est tout. Aucun return, aucun echo, rien.

    Et toi, tu voudrais avoir

    index.php?etat=1 (pour afficher)
    index.php?etat=0 (pour cacher)

    ?

    Ou alors ton exemple m'induit en erreur?
    Merci à Microsoft pour avoir transformé un métier relativement terne et basé sur une approche bêtement technique et rigoureuse des faits, en challenge quotidien, nécessitant une remise en question permanente à l'échelle du quart d'heure

  4. #4
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Citation Envoyé par iomega
    C'est un problème de class et non de session
    Non c'est un problème de compréhension.
    php est du côté serveur. son boulot c'est de recevoir des requête, faire des traitements et envoyer une réponse.
    Là, quand tu affiches tes deux liens (envoi de la réponse) tu effectues des traitements (afficher()/masquer())
    Or tu veux en fait que ces actions soient effectuées à la suite d'une requete.

    Le bon cheminement est :
    Le clic sur un lien ("afficher" par exemple) effectue une requete sur le serveur.
    Le serveur comprend que le lien "afficher" a été cliqué et donc effectue le traitement (Calendrier::afficher()). Puis il retourne la réponse qui est en fait une nouvelle page avec le calendrier affiché par exemple.

  5. #5
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 97
    Points : 47
    Points
    47
    Par défaut Debutant en poo
    Effectivement c'est exactement ce que je voulais dire Mr N.
    Peux-tu me donner un exemple concret merci beaucoup

  6. #6
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    http://php.developpez.com/cours/ (Pas trouvé plus concret)

    Sinon en résumé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ...
    <a href="?action=afficher">afficher</a>
    <a href="?action=masquer">masquer</a>
    ...
    puis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    ...
    switch($_GET['action']) {
       ...
       case 'afficher':
          $_SESSION['calendrier']->Afficher();
          break;
       case 'masquer':
          $_SESSION['calendrier']->Masquer();
          break;
       ...
    }
    ...
    Je zappe volontairement les vérifications ad-hoc, 'vais pas tout faire non plus !

  7. #7
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 97
    Points : 47
    Points
    47
    Par défaut Debutant en poo
    Ok j'ai fait ce d'après ce que tu m'as dis et cela marche merci beaucoup
    et bonne soirée

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

Discussions similaires

  1. [POO] Livre sur PHP la POO et UML
    Par Sourrisseau dans le forum Livres
    Réponses: 2
    Dernier message: 11/04/2008, 18h46
  2. [POO] Erreur avec setInterval / Pb POO
    Par rollbich dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 09/06/2007, 15h04
  3. [POO] Problème avec de la POO
    Par Alex70 dans le forum Langage
    Réponses: 10
    Dernier message: 07/06/2007, 15h10
  4. [POO] Demande conseils sur la POO avec php5
    Par tigunn dans le forum Langage
    Réponses: 9
    Dernier message: 08/02/2007, 14h44
  5. [POO] Performance du PHP5 en POO
    Par Imrryran dans le forum Langage
    Réponses: 13
    Dernier message: 04/10/2005, 13h11

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