JulianBaumueller: INCLUDE in SWITCH{}

Hallo,

ich arbeite gerade daran, mein eigenes Forum zu basteln..
Ohne Datenbank aus viele einzelnen text- und php dateien.

Nun sieht dass so aus:

  • Man gibt seinen Namen an
  • Man gibt dass Titel des Threads an
  • Man schreibt seine Frage in die textarea

1. Ein Script schreibt diese DIV-Box in die Liste mit den Threads ein (threadlist.txt):

  
 $name = $_POST[name];  
 $title = $_POST[title];  
 $frage = $_POST[frage];  

  
echo "<div>  
       <a href=\"?location=forum&thread=$title\">$title</a>  
        <br>  
        <br>  
       <span>Gepostet von $name</span>";  

2. Das nächste Script schreibt in eine Datei (threadinclude.txt) eine Zeile Text, damit der Thread im Content includet werden kann:

  
case $title: include("forum/threads/$title.txt"); break;  

3. Und ein drittes Script schreibt die Thread-Datei an sich:

  
echo '<div style="width: 100%; border: 1px solid #000; background: #EEE;">  
       <h1>$title</h1>  
        <span>Gepostet von $name</span>  
         <br>  
         <br>  
        <span>$frage</span>  
       </div>';  

Die Datei 'Forum.php' sieht folgendermaßen aus:

  
 $thread = $_GET[thread];  
  
 switch($thread) {  
  
 default:  
  include("forum/threadlist.php"); <-- Die Liste mit den Threads  
 break;  
  
 case createthread:  
  include("forum/createthread.php"); <-- Zum Thread erstellen  
 break;  
  
 include("forum/threadinclude.txt"); <-- Die Datei, in der die CASES reingeschrieben worden sind. Die will ich jetzt da includen aber dass gelingt mir iwie nicht und anders kann ich die CASES da in dass SWITCH nicht reinbekommen. Dass ist eigentlich meine richtige Frage wie dass gehen soll ;-) :D  
  
}  

P.S: Die ganzen dateien werden natürlich Per SWITCH in eine index.php eincludet.
Deswegen ist ja auch dass Problem da, dass ich die Threads includet haben will..

Mit freundlichen Grüßen,
JulianBaumueller

  1. Die will ich jetzt da includen aber dass gelingt mir iwie nicht und anders kann ich die CASES da in dass SWITCH nicht reinbekommen. Dass ist eigentlich meine richtige Frage wie dass gehen soll ;-) :D

    Wenn du eine Textdatei includest, was soll da passieren? Da wird nix geparsed und somit auch keine Werte in deinen cVariablen zur Verfügung gestellt.
    Entweder liest du die Datei per file_get_contents ein oder du includierst eine php-Datei, die dabei geparsed wird.

    1. Hallo

      kann man in ein SWITCH eigentlich nur

      case ...:
       ...;
      break;

      oder

      default:
       ...;
      break;

      reinschreiben?
      Ich hab dass jetzt mal versucht mit dem file_get_contents.

      Also:

        
      $threadinclude = file_get_contents("forum/threadinclude.php");  
      $thread = $_GET[thread];  
      switch($thread) {  
       echo $threadinclude;  
      }  
      
      

      Funktioniert genau so wenig wie der versuch mit dem INCLUDE im SWITCH...

      Weiß da jemand was man da sonst noch reinschreiben könnte, wodurch man externen Inhalt aus anderen Dateien einfügen kann?

      Mit freundlichen Grüßen
      JulianBaumueller

      1. servus JulianBaumueller,

        kann man in ein SWITCH eigentlich nur

        schau in die Dokumentation..

        switch($thread) {
        echo $threadinclude;
        }

          
        .. lerne die Syntax ..  
          
        
        > Funktioniert genau so wenig wie der versuch mit dem INCLUDE im SWITCH...  
          
        .. und lerne, mit den von PHP geworfenen Fehlermeldungen umzugehen.  
          
        
        > Weiß da jemand was man da sonst noch reinschreiben könnte, wodurch man externen Inhalt aus anderen Dateien einfügen kann?  
          
        [http://lmgtfy.com/?q=php+dateien+schreiben](http://lmgtfy.com/?q=php+dateien+schreiben)  
          
          
          
        der wurzelbert
        
        -- 
        Ist es ein Vogel?  
        Ist es ein Flugzeug?  
          
        Nein, es ist Reis, Baby!
        
        1. Hallo

          danke für die schnellen Antworten!

          http://lmgtfy.com/?q=php+dateien+schreiben

          Ich möchte aber nicht in irgendwelche Dateien via PHP schreiben sondern ich möchte etwas bestimmtes INCLUDEN.

          Wahrscheinlich steckt in dieser Dokumentation die Lösung für mein Problem ich bin nur noch nich drauf gekommen (weils halt auch auf englisch sein muss :D)

          Die Fehlermeldung, die kommt wenn ich anstatt einem CASE oder einem DEFAULT ein INCLUDE in dass SWITCH setze, ist, dass er jetzt ein case oder ein default erwartet hätte und nichts anderes.

          Die Fehlermeldungen sind mir schon bewusst. Aber weiterhelfen tun sie mir auch nicht viel mehr..

          Mit freundlichen Grüßen
          JulianBaumueller

          1. Hi,

            Die Fehlermeldung, die kommt wenn ich anstatt einem CASE oder einem DEFAULT ein INCLUDE in dass SWITCH setze, ist, dass er jetzt ein case oder ein default erwartet hätte und nichts anderes.

            Logisch, so ist der Aufbau dieser Kontrollstruktur nun mal.

            Die Fehlermeldungen sind mir schon bewusst. Aber weiterhelfen tun sie mir auch nicht viel mehr..

            Dann probier's doch mal mit ein bisschen Nachdenken ...

            Wie wär's denn beispielsweise damit, wenn du im Switch in den Cases nur eine Variable mit einem Dateinamen befüllst - und dann dahinter ein include-Statement notierst, das eben diese Variable als Parameter nutzt?

            MfG ChrisB

            --
            RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
          2. Wahrscheinlich steckt in dieser Dokumentation die Lösung für mein Problem ich bin nur noch nich drauf gekommen (weils halt auch auf englisch sein muss :D)

            Die PHP-Dokumentation gibt es auch in anderen Sprachen - über fast jeder Dokumentationsseite findet sich ein Sprachwechsler.

      2. switch($thread) {
        echo $threadinclude;
        }
        [/code]

        Und nach welchen Fall (Case) soll das script nun auswählen, welche Datei zu includen ist? PHP ist eine programmiersprache, keine Ratesprache .....