falke: include

hi leute ,

ich möchte eine Funktion aus einer Datei in einer andern verwenden.
doch wenn ich include ('datei.php'); hab ich die ganze datei, wenn ich nur den funtionsnamen includiere bekomme ich eine Fehlermeldung.
Ich hab schon gesucht auch hier im archiv aber nicht die beschreibung gefunden.

Bitte schreibt mir die richtige syntax auf .

mfg falke

  1. Huhu falke

    Bitte schreibt mir die richtige syntax auf .

    Es liegt nicht an der syntax sondern am Konzept.

    Verteile Deine eigenen Funktionen sinnvoll auf unterschiedliche Dateien.
    Dann kannst Du bei Bedarf nur die jeweils benötigten einbinden.

    Viele Grüße

    lulu

    --
    bythewaythewebsuxgoofflineandenjoytheday
    1. hi lulu

      Dann kannst Du bei Bedarf nur die jeweils benötigten einbinden.

      Naja ich möchte ja die benötigte Funktion einbinden doch wie sieht die Einbindsyntax aus ?
      Oder meinst du das ich alle Funktionen oder ein paar oder eine in eine seperate Datei schreibe und sie dann oben per include einbinde
      include ('datei.php');
      Falls ja daran hatte ich auch schon mal gedacht, doch würde mich falls möglich auch die andere Variante interresieren!

      mfg

      falke

      1. dein quoting war nicht vollständig, überies nicht, was lulu geschrieben hat:

        Verteile Deine eigenen Funktionen sinnvoll auf unterschiedliche Dateien.
        Dann kannst Du bei Bedarf nur die jeweils benötigten einbinden.

        es ist also nicht möglich (imho) einzelne funktionen in irgendeiner weise zu importieren. aber du kannst deine funktionen in dateien schreiben die du laden und damit verfügbar machen kannst. wenn du unbedingt einzelne funktionen laden möchtest, musst du wohl oder übel  für jede funktion eine datei erstellen und diese laden. ...

        Dann kannst Du bei Bedarf nur die jeweils benötigten einbinden.

        Naja ich möchte ja die benötigte Funktion einbinden doch wie sieht die Einbindsyntax aus ?

        include('meinefunktion.php');

        Oder meinst du das ich alle Funktionen oder ein paar oder eine in eine seperate Datei schreibe und sie dann oben per include einbinde
        include ('datei.php');

        bestimmt.

        Falls ja daran hatte ich auch schon mal gedacht, doch würde mich falls möglich auch die andere Variante interresieren!

        die gibt es nicht, so wie du sie dir vorstellst (s.o.)
        lg
        dom

        1. es ist also nicht möglich (imho) einzelne funktionen in irgendeiner weise zu importieren. aber du kannst deine funktionen in dateien schreiben die du laden und damit verfügbar machen kannst.

          sehr schade gibt es keine möglichkeit??

          wenn du unbedingt einzelne funktionen laden möchtest, musst du wohl oder übel  für jede funktion eine datei erstellen und diese laden. ...

          hab jetzt probeweise die dropdown funktion in eine eigene Datei ausgegliedert (sie steht auch noch in der index.php stellt das ein problem dar?) und sie ganz oben per <? include ('dropdown.php'); ?>
          includiert.
          doch ich bekomm die gleiche Fehlermeldung:

          Fatal error: Call to undefined function: dropdown()

          die gibt es nicht, so wie du sie dir vorstellst (s.o.)

          gibt es sie vielleicht anders würde mich sehr interresieren.

          mfg falke

  2. bekomme ich eine Fehlermeldung.

    Welche?

    doch wenn ich include ('datei.php'); hab ich die ganze datei,

    ja. Die hast Du dann ja auch eingebunden...

    wenn ich nur den funtionsnamen includiere bekomme ich eine Fehlermeldung.

    Klar. include() bindet ja auch Dateien ein und nicht Funktionen.

    Ich hab schon gesucht auch hier im archiv aber nicht die beschreibung gefunden.

    Hättest vielleicht mal einen Blick ins PHP-Handbuch werfen sollen.

    Bitte schreibt mir die richtige syntax auf .

    include( "pfad/datei.php" );

    ...aber ich schätze auch mal - wie es lulu bereits geschrieben hat -, daß es eher ein konzeptionelles Problem ist bzw. ein Verständnisproblem.
    Aber poste erst mal deine Fehlermeldung, dann kann man dir das mit Bestimmtheit sagen.

    Gruß, rob

    1. hi

      hab mal eine funktion ausgegliedert und sie dann einfach über den dateinamen eingebunden

      <? include ('dropdown.php'); ?> // erste Zeile

      so krieg jetzt die meldung erst da wo die funktion aufgerufen wird und zwar: Fatal error: Call to undefined function: dropdown()

      ich muss doch nicht den kompletten pfad angeben wenn sich die datei im gleichne Ordner befindet oder ?

      mfg falke

      1. so krieg jetzt die meldung erst da wo die funktion aufgerufen wird und zwar: Fatal error: Call to undefined function: dropdown()

        Dann poste mal ein wenig mehr Code, z.B. die Zeile, wo die Funktion aufgerufen und und die Funktion in deiner include-Datei.
        Die Fehlermeldung ist recht eindeutig. Du versuchst eine Funktion aufzurufen, die es nicht gibt.
        Irgendwas machst Du falsch, aber ohne Code kann man den Fehler nicht finden.

        ich muss doch nicht den kompletten pfad angeben wenn sich die datei im gleichne Ordner befindet oder ?

        Nein, dann reicht wohl der Dateiname, so wie du es gemacht hast. Die Datei mit dem include-Aufruf startest Du doch direkt oder wird die wiederum über eine andere Datei eingebunden? Dann müßtest Du den Pfad entsprechend mitangeben.

        1. also hier mal der code:

          $association = 'and';
             $keywords = explode(" ",$_GET["Suche"]);

          $query = array();
             foreach($keywords as $keyword)
                {
          $query[] = "(id like '%".$keyword."%' or Geschäftsname like '%".$keyword."%' or Status like '%".$keyword."%' or Shop like '%".$keyword."%' or Host like '%".$keyword."%' or URL like '%".$keyword."%' or admin like '%".$keyword."%' or Datum like '%".$keyword."%'or Partner like '%".$keyword."%')";
                }
          $query = implode($association,  $query);

          if($Suche != null)
          {
          $result = mysql_query("select id,Datum,Geschäftsname,Status,Shop,Host,URL,admin,Partner from Kunden2 where" .$query,$connect);
            $gefu = mysql_num_rows($result);
            if ($gefu == 0){ // Der continue funkt hier auch nicht richtig ist aber nicht der grund
            continue 2;   }
          }
          $feldanzahl = mysql_num_fields($result);

          echo '<table cellspacing="0" cellpadding="0" border="0" style="width:950px;border:1px solid #666666">'; //Tabellenüberschrieft
          echo '<tr>';
          for($i=0;$i<$feldanzahl;$i++)
          {

          if ($i != 0)
           {
            echo '<td class="ueberschrift">';
            echo mysql_field_name($result,$i);
            echo '</td>';
           }
          }
          echo '<td class="ueberschrift" colspan="3">Bearbeiten</td>';
          echo '</tr>';

          while ($row = mysql_fetch_assoc($result))
          {

          echo '<tr>';
            foreach($row as $key => $value)
            {
             if($key!=id )
            {
             echo '<td>';

          if($key == "admin")
             {
                 if (!$value)
                   echo '&nbsp;';
                 else
                      echo '<a href="'.$value.'"target="_blank">'.$key.'</a>';
             }
             elseif ($key == "Partner")
             {
                $partnerlos = mysql_query("select * from dataneu where kunde = ".$row['id'],$connect);

          $los = mysql_num_rows($partnerlos);
               if($los > 0)
               {
                   $welche = mysql_query("update Kunden2 set Partner = '' where id = ".$row['id'],$connect);
          /// hier ist dropdown ()      dropdown() ;
               }
               else
               {
                   echo 'Partnerlos';
                   $keine = mysql_query("update Kunden2 set Partner = 'Partnerlos' where id =".$row['id'],$connect);
                }
              }
               elseif ($key == "URL")
             {
                if (!$value)
                      echo '&nbsp;';
                else
                    echo '<a href="http://'.$value.'"target="_blank">'.$value.'</a>';
             }
             else
             {
                if (!value)
                   echo '&nbsp;';
               else
                   echo $value;
             }
              echo '</td>';
              }
            }
            echo '<td>';
            echo '<a href="Kundendaten.php?id='.$row["id"].'">bearbeiten</a>';
            echo '</td>';
            echo '<td>';
            echo '<a href="check.php?id='.$row["id"].'">löschen</a>';
            echo '</td>';
            echo '</tr>';
          }
          echo '</table>';

          ?>
          </body>
          </html>

          1. hi,

            /// hier ist dropdown ()      dropdown() ;

            und wo bitte ist das include?

            gruß,
            wahsaga

            --
            "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
            1. hi,

              /// hier ist dropdown ()      dropdown() ;

              und wo bitte ist das include?

              das steht ganz oben hab ich nicht mitkopiert
              <? include ('dropdown.php'); ?>

              mfg falke

              1. hi,

                und wo bitte ist das include?

                das steht ganz oben hab ich nicht mitkopiert

                unvollständigen code zu posten, ist in solchen fällen wenig hilfreich.

                <? include ('dropdown.php'); ?>

                und in diesem include steht ...?

                gruß,
                wahsaga

                --
                "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
                1. hi,

                  und in diesem include steht ...?

                  die dorpdown funktion

                  und da war der flüchtigkeitsfehler ich hatte das <? erst nach der ersten Zeile geschrieben.

                  danke

                  nun habe ich noch ein gravierendes problem und zwar mit meiner blätterfunktion sie funktioniert wunderbar nur die tabelle um die daten verschwindet außer auf der letzten Seite .

                  hier die funktion ich habe sie ebenfalls includiert.

                  function createPages($input, $perpage)
                  {

                  global $page, $_SERVER, $pages, $Suche;
                      if (empty($input))
                          die("createPages(<b>$input = $input</b>, $perpage = $perpage");
                      if ($input <= $perpage)
                          return "&#xAB; <b>1 - ".$input."</b>  &#xBB;" ;
                      if (!$page || $page < 10)
                    {
                          $page = 0;
                      }

                  $pages = ceil($input*10 / $perpage);
                      $html = "";

                  if ($page > 0 )
                        {
                             $html .=  "<a href="".$_SERVER["PHP_SELF"]."?page=".($page-10)."&Suche=".$Suche."">&#xAB;</a>&#xA0;";
                          }
                        else
                        {
                             $html .= "&#xAB;&#xA0;";
                          }

                  for($i = 0; $i <= $pages; $i+=10)
                    {
                          if ($i == $page)
                      {
                              $html .= "<b>".$i."-".($i+10)."</b>&#xA0;";
                          }
                      else
                       {
                              $html .= "<a href="".$_SERVER["PHP_SELF"]."?page=".$i."&Suche=".$Suche."">".$i."-".($i+10)."</a>&#xA0;";

                  }
                      }

                  if ($page <= $pages-10)
                    {
                          $html .= "<a href="".$_SERVER["PHP_SELF"]."?page=".($page+10)."&Suche=".$Suche.">&#xBB;</a>&#xA0;"; // Ja, "Vorwärtsblätterlink" erstellen.
                      }
                    else
                    {
                          $html .= "&#xBB;";
                      }

                  return $html;
                  }

                  es gibt keine fehlermeldung
                  wie gesagt auf dem letzen blatt ist alles perfekt . Die Tabelle steht mit den Daten da.

                  mfg falke

                  1. Hi,

                    nun habe ich noch ein gravierendes problem und zwar mit meiner blätterfunktion sie funktioniert wunderbar nur die tabelle um die daten verschwindet außer auf der letzten Seite .

                    Das hatten wir doch schon mal.

                    Hier mal auf das reduziert, was die Funktion ausgibt bzw. an den Aufrufer zurückgibt:

                    die("createPages(<b>$input = $input</b>, $perpage = $perpage");
                            return "&#xAB; <b>1 - ".$input."</b>  &#xBB;" ;
                        $html = "";
                               $html .=  "<a href="".$_SERVER["PHP_SELF"]."?page=".($page-10)."&Suche=".$Suche."">&#xAB;</a>&#xA0;";
                               $html .= "&#xAB;&#xA0;";
                                $html .= "<b>".$i."-".($i+10)."</b>&#xA0;";
                                $html .= "<a href="".$_SERVER["PHP_SELF"]."?page=".$i."&Suche=".$Suche."">".$i."-".($i+10)."</a>&#xA0;";
                            $html .= "<a href="".$_SERVER["PHP_SELF"]."?page=".($page+10)."&Suche=".$Suche.">&#xBB;</a>&#xA0;"; // Ja, "Vorwärtsblätterlink" erstellen.
                            $html .= "&#xBB;";
                        return $html;

                    Wie soll hier überhaupt eine Tabelle entstehen? Es wird kein einziges der für eine Tabelle benötigten Elemente erzeugt.

                    cu,
                    Andreas

                    --
                    Warum nennt sich Andreas hier MudGuard?
                    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
      2. Huhu falke

        <? include ('dropdown.php'); ?> // erste Zeile

        so krieg jetzt die meldung erst da wo die funktion aufgerufen wird und zwar: Fatal error: Call to undefined function: dropdown()

        ich muss doch nicht den kompletten pfad angeben wenn sich die datei im gleichne Ordner befindet oder ?

        Nein, aber vermutlich hast Du übersehen, dass bei jedem include()
        der PHP-Bereich implizit geschlossen wird.
        Bei statischen HTML-Abschnitte die man einfügen möchte ist das kein
        Problem.
        Aber um weiteren PHP-Code einzubinden musst Du ihn explizit wieder per '<?php' eröffnen (und natürlich am Ende wieder schliessen).

        Also z.B.

        // Mutter
        index.php
        --
        <?php

        // include Kind 1
        include ('some.static.html');

        // include Kind 2
        include ('some.dynamic.php');
        ?>
        --

        // Kind 1
        some.static.html
        --
        <h1>Hallo Welt ich bin Kind 1</h1>
        --

        Kind 2
        // some.dynamic.php
        --
        <?php
         echo "Hallo Welt, ich bin Kind 2 und kann sogar schon PHP ;-)";

        ?>
        --

        Viele Grüße

        lulu

        --
        bythewaythewebsuxgoofflineandenjoytheday
        1. hi

          also die funktion wird innerhalb einer tabell aufgerugen und diese wird zum schluss also am schluss der tabelle wieder ?> geschlossen .

          ich habe den text grade geschickt etwas weiter unten für rob.

          mfg falke

        2. " Beim Einbinden einer Datei wechselt der Parser vom PHP-Modus zu Beginn der Zieldatei in den HTML-Modus und kehrt am Ende der eingebunden Datei wieder in den PHP-Modus zurück. Deshalb muss jeglicher Code innerhalb der eingebundenen Datei, der als PHP-Code ausgeführt werden soll, von gültigen PHP-Start- und Ende-Tags eingefaßt sein."
          gefunden hier:
          http://de3.php.net/manual/de/function.include.php

          Nein, aber vermutlich hast Du übersehen, dass bei jedem include()
          der PHP-Bereich implizit geschlossen wird.
          Bei statischen HTML-Abschnitte die man einfügen möchte ist das kein
          Problem.
          Aber um weiteren PHP-Code einzubinden musst Du ihn explizit wieder per '<?php' eröffnen (und natürlich am Ende wieder schliessen).

          dies ist ergo falsch.

          zu,
          ziegenmelker

          1. Huhu ziegenmelker

            dies ist ergo falsch.

            Mmmh, mein Geschreibsel sollte aber genau das gleiche aussagen wie der von Dir zitierte Text.
            Habe mich vielleicht etwas undeutlich ausgedrückt.

            btw. Kaffee mit Ziegenmilch schmeckt ziemlich sch.... ;-)
            Dann lieber Käse

            Viele Grüße

            lulu

            --
            bythewaythewebsuxgoofflineandenjoytheday
            1. moin lulu,

              btw. Kaffee mit Ziegenmilch schmeckt ziemlich sch.... ;-)

              keine Ahnung

              Dann lieber Käse

              jajajajajaja.
              Der ziegenmelker ist übrigens ein vom Aussterben bedrohter Vogel, Du IGNORANT ;-) *gg*
              http://www.google.de/search?hl=de&q=ziegenmelker+aussterben&btnG=Google-Suche&meta=lr%3Dlang_de

              Viele Grüße

              lulu

              tschau,
              ziegenmelker

              1. hi,

                Der ziegenmelker ist übrigens ein vom Aussterben bedrohter Vogel, Du IGNORANT ;-) *gg*

                ein vogel, der so wenig brauchbare nahrung findet, dass er schon anfängt ziegen zu melken ... ja, der muss wohl kurz vor dem aussterben stehen.

                gruß,
                wahsaga

                --
                "Look, that's why there's rules, understand? So that you _think_ before you break 'em."