Partage
  • Partager sur Facebook
  • Partager sur Twitter

Inclusion d'une class

Sujet résolu
    29 novembre 2006 à 21:15:50

    Salut à tous,
    J'ai essayé de faire un include de ma page contenant une class dans une autre page. Puis, quand j'ai voulu appellé ma class, il m'a sortit un joli :
    Fatal error: Cannot instantiate non-existent class: form

    Si j'essaye de créer une nouvelle instance de la classe directement dans le fichier qui la contient, ça fonctionne, mais pas lorsque je l'inclus ! Y'a-t-il une astuce ?
    Merci à vous,
    Sebou91
    • Partager sur Facebook
    • Partager sur Twitter
      29 novembre 2006 à 21:17:29

      Et si au lieu de faire include tu fais require_once ? :)
      • Partager sur Facebook
      • Partager sur Twitter

      Fondateur de l'agence web Monsieur Biz

        29 novembre 2006 à 21:24:27

        Pas mieux :(

        [EDIT] Par contre, si j'écris ma class directement dans le fichier au lieu de l'inclure, ça fonctionne ... Donc c'est bien l'include qui foire ...
        • Partager sur Facebook
        • Partager sur Twitter
          29 novembre 2006 à 22:04:02

          Au lieu d'un include utilise un require, si le chemin n'est pas bon(c'est sans doute le cas) tu auras un fatal error.
          • Partager sur Facebook
          • Partager sur Twitter
            29 novembre 2006 à 22:05:26

            Citation : strucky

            Au lieu d'un include utilise un require, si le chemin n'est pas bon(c'est sans doute le cas) tu auras un fatal error.


            Tu ne fais que me répéter :)

            Citation : Jardin

            Et si au lieu de faire include tu fais require_once ? :)


            Tu peux nous mettre ton bout de code ? et le chemin exacte de ton fichier que tu inclu ?
            • Partager sur Facebook
            • Partager sur Twitter

            Fondateur de l'agence web Monsieur Biz

              30 novembre 2006 à 7:58:44

              Voici ma page et celle que je veux inclure.
              Voici le code que j'utilise :
              $lien = "http://www.girondins4ever.com/morpheus/";
              include($lien . 'includes/entete.php');
              require_once($lien . 'library/form.class.php');

              Vous pouvez voir l'erreur qui est sur la première page ...
              Merci à vous,
              Sebou91
              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                30 novembre 2006 à 9:23:00

                Arf forcement...

                Si tu appels une page via http, php va parser le fichier donc ça sera inutilisable. Il faut mettre un chemin du genre "/var/www/monsite/lib/class.php"
                • Partager sur Facebook
                • Partager sur Twitter
                  30 novembre 2006 à 9:25:14

                  il ne faut pas inclure des liens avec le http:// sa marchera jamais,

                  change ton include comme ceci

                  $lien = "morpheus/";
                  include($lien . 'includes/entete.php');
                  require_once($lien . 'library/form.class.php');
                  • Partager sur Facebook
                  • Partager sur Twitter
                    30 novembre 2006 à 17:56:39

                    Avec les deux techniques, ça ne fonctionne pas mieux :(

                    Le code :
                    $lien = "morpheus/";
                    include($lien . 'includes/entete.php');
                    require_once($lien . 'library/form.class.php');

                    Ou pour la seconde technique :
                    $lien = "/home/girondin/www/";
                    include($lien . 'includes/entete.php');
                    require_once($lien . 'library/form.class.php');
                    • Partager sur Facebook
                    • Partager sur Twitter
                      30 novembre 2006 à 18:52:03

                      require_once('/morpheus/library/form.class.php');
                      • Partager sur Facebook
                      • Partager sur Twitter
                        30 novembre 2006 à 19:09:54

                        Vérifie les droits sur tes fichiers(777)
                        • Partager sur Facebook
                        • Partager sur Twitter
                          30 novembre 2006 à 19:41:20

                          Dans ce cas, voici l'erreur :
                          Warning: require_once(http://www.girondins4ever.com/morpheus/library/form.class.php) [function.require-once]: failed to open stream: HTTP request failed! HTTP/1.1 500 Internal Server Error in /home/girondin/www/morpheus/membres/inscription.php on line 7

                          Fatal error: require_once() [function.require]: Failed opening required 'http://www.girondins4ever.com/morpheus/library/form.class.php' (include_path='.:/usr/share/php5') in /home/girondin/www/morpheus/membres/inscription.php on line 7


                          Et le code :
                          $lien = "http://www.girondins4ever.com/morpheus/";
                          include($lien . 'includes/entete.php');
                          require_once($lien . 'library/form.class.php');

                          Notez qu'il n'y a qu'avec le protocole HTTP que ça "fonctionne" (= que le premier fichier s'inclut).
                          • Partager sur Facebook
                          • Partager sur Twitter
                            30 novembre 2006 à 19:54:24

                            Essaie de changer ton fichier form.class.php en form_class.php
                            • Partager sur Facebook
                            • Partager sur Twitter
                              30 novembre 2006 à 20:35:35

                              Ca ne change rien malheureusement :(
                              • Partager sur Facebook
                              • Partager sur Twitter
                                30 novembre 2006 à 20:52:18

                                J'ai essayé tous les CHMOD possibles, et aucun ne fonctionne !

                                Grumph, si j'upload le fichier dans le même dossier que mon fichier, ça fonctionne o_O C'est bien, mais pour mon rangement c'est moyen quand même. C'est surement un soucis au niveau de l'include et du chemin du fichier dans ce cas ?
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  30 novembre 2006 à 21:02:28

                                  essaye de metre tes lien avec des ../ du genre


                                  $lien = "../morpheus/";
                                  include($lien . 'includes/entete.php');
                                  require_once($lien . 'library/form.class.php');
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    30 novembre 2006 à 21:19:31

                                    Citation : Masashi

                                    essaye de metre tes lien avec des ../ du genre


                                    $lien = "../morpheus/";
                                    include($lien . 'includes/entete.php');
                                    require_once($lien . 'library/form.class.php');

                                    Ca ne change rien :(
                                    Je crois vraiment que c'est l'accès à mon fichier qui bug mais j'ai suivi les conseils de tes liens strucky et pourtant, que nenni :(
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      30 novembre 2006 à 21:27:52

                                      escuse moi j'ai pas tout lut le sujet mais tu a essayer comme ca?

                                      include('http://www.girondins4ever.com/morpheus/includes/entete.php');
                                      require_once('http://www.girondins4ever.com/morpheus/library/form.class.php');


                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        1 décembre 2006 à 7:41:54

                                        Non, ça ne fonctionne pas :(
                                        Mais j'ai l'impression qu'il faut l'inclure avec un moyen autre que HTTP comme dit plus haut. Quelqu'un saurait-il comment faire ?
                                        Merci
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          1 décembre 2006 à 15:42:13

                                          Bizarre quand même ton truc.

                                          Par hasard, ta page inscription.php n'est pas elle même incluse dans une autre page ?

                                          Si ton chmod est correct, je vois plus qu'une solution, c'est de contacter ton hébergeur, car il y a un problème.
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            1 décembre 2006 à 15:55:29

                                            Citation : strucky

                                            require_once('/morpheus/library/form.class.php');

                                            pas bon ça! il faut enlever le / initial sinon il part de la racine du serveur (ou tu n'a pas accès et en plus il ne trouve pas le bon répertoire)
                                            require_once('morpheus/library/form.class.php');

                                            tu a déjà essayé comme ça?
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              3 décembre 2006 à 9:14:01

                                              Après quelques temps de recherche, j'ai trouvé la solution qui est :
                                              require_once('/home/girondin/www/morpheus/library/form_class.php');

                                              Merci à tous,
                                              Sebou91
                                              • Partager sur Facebook
                                              • Partager sur Twitter

                                              Inclusion d'une class

                                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                              • Editeur
                                              • Markdown