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 :

objet, formulaire et traitment


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2008
    Messages : 3
    Par défaut objet, formulaire et traitment
    Bonjour,
    Voila mon petit probleme, j ai un objet calendrier que j integre dans un autre objet interfaceCal. l interfaceCal genere un formulaire fait de bouton devant servir a appeler les methode de mon objet calendrier.

    Le probleme: impossible d'appeler une methode lors d'un clic sur mon bouton. Est ce possible ou mon idee est absurde??

    voici le code de interfaceCal
    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
    51
    52
    53
    54
     
    <?php
    class InterfaceCal
    {
      private $cal;
      private $flecheD;
      private $flecheG;
      private $icon;
     
     
      public function InterfaceCal()
      {
        $this->cal = new Calendrier($liens);
        $this->flecheD = "./flecheD1.png";
        $this->flecheG = "./flecheG1.png";
        $this->icon = "./calendrier1.png";
      }
     
      public function affichage()
      {
        echo "<form method=\"get\" action=\"testCal.php\">";
        echo "<fieldset id=\"fdsCal\" >";
        echo "<legend>Calendrier</legend>";
        echo "<input name=\"f1g\" type=\"image\" img src=\"$this->flecheG\" alt=\"fleche gauche\" id=\"f1g\">";     
        echo "<input name=\"f1d\" type=\"image\" img src=\"$this->flecheD\" alt=\"fleche droite\" id=\"f1d\">";     
        echo "<input name=\"calendrierI\" type=\"image\" img src=\"$this->icon\"  alt=\"icone vers calendrier\" id=\"calendrierI\">";     
        $this->cal->affichage();
     
        echo "</fieldset>";
        echo "</form>";
     
      }
     
      public function calPrecedent()
      {
        $this->cal->precedent();
      }
     
      public function calSuivant()
      {
        $this->cal->suivant();
      }
     
      public function traitement()
      {
        $this->cal->suivant();
     
        $this->affichage();
     
      }
     
     
    }
    ?>
    et son utilisation (surrement pas tres bonne)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    $itCal = new InterfaceCal();
    $_POST = null;
     
    $itCal->affichage();
     
    if(isset($_GET['f1g.x']) )
      {
        echo "ICI";
     
        $cal->precedent();
        $itCal->affichage();
      }

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 11
    Par défaut
    Bonjour,
    Je vais donnez mon avis mais je compte sur les experts de ce forum pour me corriger si je dis des bêtises.
    A ce que je vois, dans ton code, il n'y pas de bouton type=submit, du coup ton formulaire n'est pas envoyé.
    Je pense que tu sais déjà qu'il y a deux côtés dans la programmation web. Le côté client où tu utilises les codes HTML et JavaScript et le coté serveur où tu utilises PHP ou un autre langage web. Tu ne peux pas appeler une fonction qui se trouve dans une classe PHP sans avoir envoyé une requête au serveur.
    Pour ce faire, tu as deux choix :
    Le premier, tu crées un bouton "submit" qui te permettra de soumettre le fomulaire au serveur qui le traitera comme tu l'auras programmé dans ton fichier PHP
    deuxième, tu peux utiliser les fonctionnalités d' AJAX qui te permettent d'envoyer des requêtes asynchrones

    voilà, j'espère que d'autres qui passeront par ici t'apporteront plus de réponse

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2008
    Messages : 3
    Par défaut
    effectivement il me manque des boutons. mais même avec ceux si je me retrouve dans la même situation.
    mon idée était de faire traiter le formulaire par une méthode d'un objet mais , du moins a ma connaissance, ça me parait pas faisable.
    j'ai opter pour quelque chose d'autres mais merci pour ta réponse. sa ma aider a éclaircir mon idée.

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

Discussions similaires

  1. [AC-2003] Quel objet formulaire ?
    Par chordially dans le forum IHM
    Réponses: 5
    Dernier message: 01/04/2011, 14h51
  2. [AC-2003] Date de modification d'un objet (Formulaire, Table, etc)
    Par jneron dans le forum VBA Access
    Réponses: 8
    Dernier message: 17/06/2009, 19h15
  3. [POO] [Débutant] Vérifier la presence d'un objet formulaire input
    Par maxxou dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 10/06/2006, 15h18
  4. Faire pointer sur un objet formulaire
    Par bigsister dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 26/11/2004, 16h25
  5. Formulaire - lien JS - objet Null ou pas objet...
    Par Romalafrite dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 17/10/2004, 14h08

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