[Variablen] Include mit Variable?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Variablen] Include mit Variable?

    Hallo,

    ist es möglich include () nicht mit einem festen dateinamen nur zu definieren, oder kann man das auch mit einer variable machen?

    bsp.:

    PHP-Code:
    <? 
    $url = "test.php";
    include ($url); 
    ?>
    Oder geht das überhaupt nicht?

  • #2
    Was spricht denn dagegen, das mal zu probieren. Ob du den String direkt schreibst oder erst auf eine Var speicherst ist php aber so wat von egal...

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      siehe PHP-Desaster...

      Beitrag
      In Flames - Pinbal Map
      Becoming the Archetype - No Fall Too Far
      Pantera

      Kommentar


      • #4
        danke erstmal. ich habs natürlich versucht, aber... ich bekomm eine fehlermeldung:

        Warning: main(Resource id #4.htm) [function.main]: failed to open stream: No such file or directory in /srv/www/htdocs/ecl_css/index.php on line 171

        Warning: main() [function.include]: Failed opening 'Resource id #4.htm' for inclusion (include_path='.:') in /srv/www/htdocs/ecl_css/index.php on line 171

        hier mein code:

        PHP-Code:
        <?php 
        include ("inc/opendb.inc.php");
        if (isset(
        $_GET['id']))
           { 
        $lid $_GET['id'];
             
        $ad=mysql_query("SELECT * FROM links WHERE nummer='$lid'");
             
        $add=mysql_fetch_object($ad);     
             
        $url "$add.php";
             require 
        $url;
           }
           else { 
        $lid 1;
                  
        $ad=mysql_query("SELECT * FROM links WHERE nummer='$lid'");
                  
        $add=mysql_fetch_object($ad);
                  
        $url "$add.php";
                  include (
        $url);
                   
              }
         
        ?>
        ich hab bestimmt irgendwo einen fehler gemacht. bin noch nicht so lange im php-geschäft.
        Zuletzt geändert von eastside; 24.05.2006, 13:33.

        Kommentar


        • #5
          Original geschrieben von eastside
          ich hab bestimmt irgendwo einen fehler gemacht.
          Ja, du hast versucht, etwas vollkommen unsinniges zu includen - eine Resource ID.

          Also beschäftige dich erst mal damit, wie man Daten aus einer MySQL-DB richtig ausliest.

          http://php-faq.de/ch/ch-database_mysql.html
          http://schattenbaum.net/php/mstart.php
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            PHP-Code:
            $url "$add.php"
            Failed opening 'Resource id #4.htm' for inclusion ...
            Du bist mir einer...
            Also 1. Wieso den Dateinamen als Var ? Vermutlich meinst du
            PHP-Code:
            $url 'add.php'
            2. PHP interpretiert Variabeln innerhalb von " und " und ersetzt diese mit dem Inhalt. Darum versucht php auch ein File mit dem Namen einer MySql Ressource zu öffnen.
            Und das geht niemals

            Gruss

            tobi
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar


            • #7
              oki, ich hab oben den quelltext nochmal geändert, ich hab jetzt das ergebnis in ein array eingelesen.

              zu der varibale $url:

              diese soll sich ja verändern. das ist ja mein anliegen. in der datenbank hab ich zwei spalten, eine mit "nummer" und die andere mit "adresse" bezeichnet. zu jeder nummer eine andere adresse (logisch). jetzt soll je nach gewählter nummer sich eine andere php-datei includen.
              Kann man das nachvollziehen??

              Kommentar


              • #8
                Also wie genau soll jetzt diese URL aussehen ? Du willst etwas aus der DB um einen String zum Dateinamen erweitern ?
                PHP-Code:
                $url $irgendwas.'add.php';
                //ergibt bei $irgendwas = 2 --> 2add.php 
                Irgendwie kapier ich immer noch nicht so ganz was du eigentlich machen willst

                Gruss

                tobi
                Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                Kommentar


                • #9
                  das hab ich gesucht. danke. aus $add sollte
                  aber ich hab funktionieren wills immer noch nicht.
                  PHP-Code:
                  $url $add.'.php' 
                  werden.

                  aber mir ist noch was anderes eingefallen. erstmal will ich versuchen zu erklären, was ich machen will:

                  auf meiner hp, soll der hauptteil der seite nur noch includet werden, nicht über frames oder so, ich will das etwas eleganter lösen. dazu ist dieses script da. die datenbank ist zur "adressspeicherung" da. aus der db soll nun mit hilfe einer GET-variable die id des links gesucht werden und die dazugehörige adresse zu id soll dann mit entsprechenedem inhalt includet werden.
                  Zuletzt geändert von eastside; 24.05.2006, 13:56.

                  Kommentar


                  • #10
                    Original geschrieben von eastside
                    das hab ich gesucht. danke. aus $add sollte
                    aber ich hab funktionieren wills immer noch nicht.
                    Dann kümmere dich jetzt bitte endlich darum, wie man die Daten aus einer DB korrekt ausliest.
                    aus der db soll nun mit hilfe einer GET-variable die id des links gesucht werden und die dazugehörige adresse zu id soll dann mit entsprechenedem inhalt includet werden.
                    Halte ich für ziemlichen Unfug - dann hast du ja nur noch URLs á la index.php?id=5. Das sagt überhaupt nichts über den Inhalt dieser Ressource aus.

                    Warum übergibst du nicht den Namen im Klartext - also einen sinnvollen Bezeichner?
                    (Natürlich unter einer Plausibilitätsprüfung, so dass keine Dateien ungewünscht eingebunden werden können.)

                    Eine DB dafür zu benutzen, halte ich für unsinnig und absoluten Overkill.
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      Also da
                      Eine DB dafür zu benutzen, halte ich für unsinnig und absoluten Overkill.
                      muss ich wahsaga recht geben. Übergib doch einfach den Namen der Datei ohne Endung. Prüfe danach ob das File exisitert und geladen werden darf. Wenn ja binde es ein, wenn nein dann lass das Script verrecken...

                      Gruss

                      tobi
                      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                      Kommentar


                      • #12
                        und genau das wollte ich erreichen. adressen á la /index.php?id=x.
                        denn ich bin ziemlich unordentlich...


                        also du meinst ich sollte mir ne andere lösung dafür suchen? werd ich tun.

                        danke an alle.

                        Kommentar


                        • #13
                          Original geschrieben von eastside
                          und genau das wollte ich erreichen. adressen á la /index.php?id=x.
                          denn ich bin ziemlich unordentlich...
                          ausserdem ist das auch suchmaschinen unfreundlich.
                          In Flames - Pinbal Map
                          Becoming the Archetype - No Fall Too Far
                          Pantera

                          Kommentar


                          • #14
                            PHP-Code:
                            <a href="index.php?id=start">Los</a>

                            //index.php
                            if(isset($_GET['id'])){
                                if(
                            file_exists($_GET['id'].'html'){
                                    
                            //alles i.O.
                                    
                            include($_GET['id'].'html');
                                }else{
                                    die(
                            'Hey wat willst du denn damit ??? Raus hier Ar*...*');
                                }
                            }else{
                                include(
                            'default.html');

                            so mal als Anstoss...

                            Gruss

                            tobi
                            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                            Kommentar

                            Lädt...
                            X