Ronny: Seiten zufällig laden

hallo, ich möchte per include verschiedene html seiten zufällig laden. leider bin ich zu blöd dafür ;) kann mir da evtl jemandeinen tipp geben? ich habe es mir in etwa so gedacht.
variable = zufälig ( nicht größer als 5 )

wenn variable = 1 dann include 1.html
wenn variable = 2 dann include 2.html
usw...
geht das ?

danke
ronny

  1. Tach!

    wenn variable = 1 dann include 1.html
    wenn variable = 2 dann include 2.html
    usw...
    geht das ?

    Antwort: Ja.

    mit freundlichen Füßen,
    Torsten

    Ach ja, du wolltest wohl auch wissen, wie, oder?
    Ganz einfach:

    <?php
    include($variable . ".html");
    ?>

    wenn du dir mal
    echo $variable . ".html";
    ausgeben lässt, bastelt er dir den Dateinamen wie gewünscht zusammen. Der Punkt verknüpft die $variable und den String ".html", das Ergebnis ist ein String.
    Lies doch auch mal im PHP-Handbuch auf www.selfphp.de und www.php3.de unter Stringverkettung und unter Funktion "include".

    Ich glaub, du musst noch viel lernen =)

    der Torsi

    1. Hallo Torsten,

      <?php
      include($variable . ".html");
      ?>

      wenn hier register_globals auf on steht hat er ein riesiges Sicherheitsloch - was passiert wenn jemand einfach dateiname.php?variable=http://example.com/boeseseite eingibt? richtig, es wird die Seite http://example.com/boeseseite.html aufgerufen - und was da drinsteht wird gnadenlos ausgeführt.

      echo $variable . ".html";

      ich glaube Ronny wollte eher wissen wie er $variable zufällig generieren kann - das geht mit mt_rand() (->http://www.php3.de/mt_rand) wenn du $variable = mt_rand(1,5) schreibst sollte er dir eine Zahl zwischen 1 und 5 ausspucken. Aber vorsichtshalber vielleicht noch ein if(file_exists($variable.'.html')) include (...); schreiben, damit das include nur ausgeführt wird wenn die Datei wirklich vorhanden ist.

      Grüße aus Nürnberg
      Tobias

      --
      Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
      1. TAch!

        Hallo Torsten,

        <include - sicherheitsloch>

        Richtig. Deswegen sollte man sich vorher auch belesen. Siehe meinen Verweis auf String-Verkettung und Include-Funktion.

        Und naja, falls er tatsächlich nur die die Random-Fkt. gesucht hat, dann hast du mich natürlich ideal ergänzt. Wobei Ronny eine Suche nach Zufall ihm im PHP-Handbuch mit Sicherheit schneller zum Ergebnis gebracht hätte (den faulen Hund =)

        Aber trotzdem nochmal danke für den expliziten Sicherheitshinweis!

        mit freundlichen Füßen,
        Torsten

  2. hi,

    hallo, ich möchte per include verschiedene html seiten zufällig laden.

    Wenn es um html geht, warum includen, tuts nicht ein redirect?

    Gruesse  Joachim

    <?php
    $html = array("neu.html","schoen.html","gut.html");
    srand ((double)microtime() * 1000000);
    shuffle($html);
    $selHtml =  $html[0];
    header("location:" . $selHtml);
    exit;
    ?>