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 :

Erreur de fonction [Fait]


Sujet :

Langage PHP

  1. #1
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut Erreur de fonction
    Salut,
    J'ai une fonction dans une classe mais il s'y trouve une erreur (l.11 qui correspond à la première ligne du code), j'avoue c'est une parse error, mais je calle

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function open_form($this->name='', $this->method, $this->action='') {
       $this->code['open'] = '<form name="'.$this->name.'" method="'.$this->method.'" action="'.$this->action.'" enctype="multpart/form-data">';
    }
    Et j'appelle:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $form->open_form(stripslashes($_POST['name']), $_POST['method'], $_POST['target']);
    Je ne vois pas l'erreur

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    regarde déjà ce qui est indiqué ici :
    http://php.developpez.com/faq/?page=...ur_parse_error

  3. #3
    Membre actif

    Inscrit en
    Mai 2004
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 162
    Points : 264
    Points
    264
    Par défaut
    Euh... nous non plus on ne voit pas l'erreur... C'est quoi le message ?

  4. #4
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    a mon avis c est le fais que tu prenne en argument de ta fonction des attributs de ta classe.

    ca sert a rien puisque c est des attributs de ta classe !

    soit tu reçoit des params qui seront des variables locales a ta fonction et ensuite tu les affecte a tes attributs, soit tu fais des set de tes attibuts avant d'appeler la fonction
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  5. #5
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    Ah oui c'est bien ça merci à vous

    Une question sans rapport: que signfie le tag [Fait] ?
    Merci

  6. #6
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    Je ne vais pas rouvrir un topic mais j'ai des problèmes dans cette classe...
    Je créé un objet:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    case 'Créer':
             $form = new form();
             $form->set_vars_form(stripslashes($_POST['name']), $_POST['method'], $_POST['target']);
             $form->print_form("_P_INFOS");
             break;
    Ensuite, je regarde dans le switch le valeur, et si c'est modifier, je change les vars:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    case 'Editer les infos':
             $form->set_vars_form(stripslashes($_POST['name']), $_POST['method'], $_POST['target']);
             $form->print_form("_P_INFOS");
             break;
    Pourtant (je ne peux que modifier quand mon objet est créé), il me renvoit une erreur Fatal error: Call to a member function on a non-object in c:\program files\easyphp1-8\www\formtools\doform.php on line 11
    alors que mon objet est bien créé non?

  7. #7
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    Quand tu arrives dans Editer, tu ne doit pas passer par Créer je suppose, fais ton new Avant le switch pour voir ou rajoutes un new dans editer
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  8. #8
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    Mais je ne vais pas faire un new puisque je veux garder le même

  9. #9
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    oui mais avec les breaks, tu sort du switch, tu peux pas executer deux actions en meme temps comme ca,

    Chise que je ne comprend pas : comment la variable testée dans le switch peut changer ? tu part et revient de ta page ?
    Si c est le cas, ton objet est perdu

    Met le en session sinon.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    case 'Créer': 
                   $form = isset($SESSION["form"]) ? $SESSION["form"] : new form();
    puis dans l autre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    case 'Editer les infos':
                  $form = $SESSION["form"];
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  10. #10
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    Ah oui bonne idée, les session
    Meric je vais voir ça

  11. #11
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    Rah mais c'est pas possible... :o
    Toujours la même erreur, voila mon code:

    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
    <?php
    session_start();
       include('form.php');
       $op = (isset($_REQUEST['op'])) ? $_REQUEST['op'] : '';
       switch($op) {
          case 'Créer':
             $form = new form();
             $SESSION['form'] = $form;
             $form->set_vars_form(stripslashes($_POST['name']), $_POST['method'], $_POST['target']);
             $form->print_form("_P_INFOS");
             break;
          case 'Editer les infos':
             $form = isset($SESSION['form']) ? $SESSION['form'] : '';
             $form->set_vars_form(stripslashes($_POST['name']), $_POST['method'], $_POST['target']);
             $form->print_form("_P_INFOS");
             break;
          default: break;       
       }
    ?>
    Mais es-tu sur que c'est $SESSION et non pas $_SESSION (enfin j'ai essayé les deux sans résultat )

  12. #12
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    c'est bien $_SESSION
    regarde le tutoriel suivant pour plus d'informations sur les sessions :
    http://beaussier.developpez.com/articles/php/session/

  13. #13
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    vi dsl je l'ai tapé vite fais
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  14. #14
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    En utilisant $_SESSION j'ai:

    Fatal error: Unknown(): The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition <b>form</b> of the object you are trying to operate on was loaded _before_ the session was started in c:\program files\easyphp1-8\www\formtools\doform.php on line 14

  15. #15
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    est ce que tu fais bien le include de ton fichier de class avant le session_start ?
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  16. #16
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    Ah non Merci ça fonctionne !

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

Discussions similaires

  1. Erreur sur fonction
    Par all4linux dans le forum C
    Réponses: 2
    Dernier message: 30/06/2006, 10h40
  2. [VBA] Erreur avec fonction Dcount
    Par Virgile59 dans le forum Access
    Réponses: 6
    Dernier message: 15/06/2006, 09h56
  3. Erreur 3388: fonction inconnue
    Par flukie dans le forum Access
    Réponses: 1
    Dernier message: 09/05/2006, 10h51
  4. Erreur appel fonction java d'une jsp
    Par itachi38 dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 29/04/2006, 16h51
  5. Erreur de fonction
    Par Anduriel dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 29/11/2005, 20h56

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