Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 16 bis 30 von 32
  1. #16
    Lucky-Maxx ist offline Jungspund
    registriert
    22-03-2008
    Beiträge
    12

    AW: [PHP] Dynamisch Inhalte einbinden

    ok also hier einmal der ganze code der index:
    <body>

    <?php

    ob_start();

    $direction = ( isset($_REQUEST['dir']) && !empty($_REQUEST['dir']) ) ? $_REQUEST['direction'] : FALSE;

    $the_sites = array(
    'kontakt' => "php/kontaktformular/kontakt.php",

    );

    if ($direction == FALSE) {
    $direction = '404';
    }
    // wenn kein "?dir=" in der URL, wissen wir nicht was einbinden. Die Datei "fehler404.php" ist sozusagen eine Fallbacklösung.



    if( isset($the_sites[$dir]) ) {
    //gibt es den Zeiger in unserem Array?
    include_once('./'.$the_sites[$dir]);



    } else {

    header('HTTP/1.0 404 Not Found');

    include_once('./'.$valid_sites['fehler404']);

    }
    //Fertig.

    ob_end_flush();

    ?>

    <table class="layout_tabelle">
    <!--Beginn - banner-->
    <tr>
    <td colspan="3" id="banner">

    </td>
    </tr>
    <!--Ende - banner-->

    <!--Beginn - menu_-->
    <tr>
    <td id="menu_L">

    </td>
    <td id="menu_M"> <ul id="MenuBar1" class="MenuBarHorizontal">
    <li><a href="#">Startseite</a> </li>
    <li><a href="#" class="MenuBarItemSubmenu">Informationen</a>
    <ul>
    <li><a href="#">Das Festival</a></li>
    <li><a href="#">Bands</a></li>
    <li><a href="#">Presse</a></li>
    <li><a href="#">Anfahrt</a></li>
    <li><a href="#">Newsletter</a></li>

    </ul>
    </li>
    <li><a href="#">G&auml;stebuch</a> </li>
    <li><a href="#">Galerie</a></li>
    <li><a href="#" class="MenuBarItemSubmenu">Kontakt</a>
    <ul>
    <li><a href="#">Tickets</a></li>
    <li><a href="?dir=kontakt">Anfragen</a></li>
    <li><a href="#">Ansprechpartner</a></li>
    <li><a href="#">Impressum</a></li>
    </ul>
    </li>
    <li><a href="#">Links</a></li>
    </ul>
    </td>
    <td id="menu_R">

    </td>
    </tr>
    <!--Ende - menu_-->

    <!--Beginn - main-->
    <tr>
    <td colspan="3" id="main">

    </td>
    </tr>
    <!--Ende - main-->
    <!--Beginn - zw_3-->

    <tr>
    <td id="zw_3_L">

    </td>
    <td id="zw_3_M">

    </td>
    <td id="zw_3_R">

    </td>
    </tr>
    <!--Ende - zw_3-->
    <!--Beginn - foot-->
    <tr>
    <td colspan="3" id="foot">

    </td>
    </tr>
    <!--Ende - foot-->
    </table>
    <script type="text/javascript">
    <!--
    var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1", {imgDown:"SpryAssets/SpryMenuBarDownHover.gif", imgRight:"SpryAssets/SpryMenuBarRightHover.gif"});
    //-->
    </script>
    </body>

  2. #17
    Avatar von ZeitGeist
    ZeitGeist ist offline Lounge-Member
    registriert
    26-04-2003
    Ort
    Outa Space
    Beiträge
    4.125

    AW: [PHP] Dynamisch Inhalte einbinden

    header() kann keine Ausgabe an den Browser senden, wenn bereits ausgaben erfolgt sind. In deinem Fall ist das das HTML und die whitespaces vor dem <?php

  3. #18
    Lucky-Maxx ist offline Jungspund
    registriert
    22-03-2008
    Beiträge
    12

    AW: [PHP] Dynamisch Inhalte einbinden

    Habe:
    else {

    header('HTTP/1.0 404 Not Found');

    include_once('./'.$valid_sites['fehler404']);
    etfernt. FUnktioniert trotzdem nicht...
    Irgendwie raffe ich auch die Funktionsweise nicht wirklich. Habt ihr vielleciht eine net-Adresse, wo genau das beschrieben wird? dann könnte ich mich informieren; aber ich finde nichts dazu.

    gruß Maxx

  4. #19
    ele
    ele ist offline Routinier
    registriert
    27-12-2007
    Beiträge
    473

    AW: [PHP] Dynamisch Inhalte einbinden

    Bitte die Beiträge, die geposted werden, lesen...

    Zitat Zitat von ZeitGeist Beitrag anzeigen
    header() kann keine Ausgabe an den Browser senden, wenn bereits ausgaben erfolgt sind. In deinem Fall ist das das HTML und die whitespaces vor dem <?php

  5. #20
    Avatar von jeko
    jeko ist offline Foren-Gott
    registriert
    03-06-2004
    Ort
    [CH]Vor meinem PC[/CH]
    Beiträge
    3.069

    AW: [PHP] Dynamisch Inhalte einbinden

    Die Poster oberhalb haben eigentlich schon alles gesagt, noch ein Tipp von mir: ob_start() muss _vor_ der ersten Ausgabe stehen. Also noch bevor deine HTML-Ausgabe beginnt. Am Besten du nimmst das ob_start() an den Beginn der index.php (Voraussetzung: Index.php wird nicht selber noch eingebunden).
    Arbeit an der Sprache ist Arbeit am Gedanken.
    NoPaste / Format / Analyze / Crypt
    Ich bin ein Schwätzer.

  6. #21
    Avatar von ZeitGeist
    ZeitGeist ist offline Lounge-Member
    registriert
    26-04-2003
    Ort
    Outa Space
    Beiträge
    4.125

    AW: [PHP] Dynamisch Inhalte einbinden

    Zitat Zitat von jeko Beitrag anzeigen
    ob_start() muss _vor_ der ersten Ausgabe stehen.
    sicher? Ich meine ob_start unterliegt da keiner Beschränkung.

  7. #22
    Lucky-Maxx ist offline Jungspund
    registriert
    22-03-2008
    Beiträge
    12

    AW: [PHP] Dynamisch Inhalte einbinden

    Also ich habe golgendes entfernt:
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    dann noch:

    else {

    header('HTTP/1.0 404 Not Found');

    include_once('./'.$valid_sites['fehler404']);

    }
    und die Freizeichen im <head></head>.

    Wenn ich nun auf den Link Anfragen klicke, passiert immer noch ncihts und außerdem liegt folgende Warnmeldung bei Aufruf der Seite index.php vor, wenn ich den Teil
    else {

    header('HTTP/1.0 404 Not Found');

    include_once('./'.$valid_sites['fehler404']);

    }
    nicht entferne:
    Warning: include_once(./) [function.include-once]: failed to open stream: No such file or directory in C:\xampplite\htdocs\stayfolk\index.php on line 40

    Warning: include_once() [function.include]: Failed opening './' for inclusion (include_path='.;C:\xampplite\php\pear\') in C:\xampplite\htdocs\stayfolk\index.php on line 40
    PS: Line 40 ist beii mir: include_once('./'.$valid_sites['fehler404']);

  8. #23
    Avatar von jeko
    jeko ist offline Foren-Gott
    registriert
    03-06-2004
    Ort
    [CH]Vor meinem PC[/CH]
    Beiträge
    3.069

    AW: [PHP] Dynamisch Inhalte einbinden

    Zitat Zitat von ZeitGeist Beitrag anzeigen
    sicher? Ich meine ob_start unterliegt da keiner Beschränkung.
    Afaik wird die Ausgabepufferung genau ab der Zeile gestartet, in der ob_start() aufgerufen wird. Somit wird die Ausgabe oberhalb nicht berücksichtigt und kann u.U. vorher an den Browser gesendet werden. Es ist ja auch möglich, verschieden Puffer zu verwenden (durch mehrmaliges Aufrufen von ob_start()) und jeden Puffer selektiv zu senden/manipulieren.

    Lucky-Maxx: Kein(e) Schwein(Sau) oder anderes Säugetier hat was von entfernen gesagt. Streng dich nur etwas an und lies durch was hier steht. Nur etwas.
    Arbeit an der Sprache ist Arbeit am Gedanken.
    NoPaste / Format / Analyze / Crypt
    Ich bin ein Schwätzer.

  9. #24
    Lucky-Maxx ist offline Jungspund
    registriert
    22-03-2008
    Beiträge
    12

    AW: [PHP] Dynamisch Inhalte einbinden

    Sorry, aber ich habe nicht viel Ahnung, wie unschwer zu erkennen ist. Ich bräuchte nur schnell einie Lösung. UNd ich habe probiert das zu verstehen, was ihr gesagt habt und habe aufgrund folgendesn Postes
    header() kann keine Ausgabe an den Browser senden, wenn bereits ausgaben erfolgt sind. In deinem Fall ist das das HTML und die whitespaces vor dem <?php
    den Head Bereich entfernt.

    Ich habe kene Ahung, was ich sonst mahcne sollte. Vielleiht könntet ihr mir ein paar präzisere Anweisungnen geben.
    Danke und Gruß im Voraus.
    Maxx

  10. #25
    Avatar von chickenrun
    chickenrun ist offline Grünschnabel
    registriert
    10-07-2008
    Ort
    Norddeutschland
    Beiträge
    3

    AW: [PHP] Dynamisch Inhalte einbinden

    Hallo erstmal,
    nun vorab, warum ich diesen alten Thread wieder rauskrame:
    schon vor geraumer Zeit (Sommer 2008) habe ich diese Methode versucht anzuwenden, um geschickt und ohne Probleme, meine (HTML) Header- und Footerbereiche statisch zu lassen und immer nur variablen Inhalt einbinden zu lassen.
    Nun habe ich ein Projekt, wo diese Methode von allergrößtem Vorteil wäre, nur leider bekomm ich es nicht zum Laufen.

    Habe probeweise folgende Dateien erstellt:
    - index.php <<< hier ist das Skript drin
    - punkt1.php <<<Probeseite1
    - punkt2.php <<<Probeseite1
    - 404.php <<<Fehlerseite

    Bevor ich jetzt was nachgesagt bekomme: Ich habe jeden einzelnen Post hier mehrmals und gründlich durchgelesen und der aktuelle Stand ist für mich etwas diffus...
    ...denn wenn ich das Ganze auf Funpic hochlade funktioniert es einwandfrei, auf meinem bezahlten Webspace allerdings nicht (ich habe eine .com-Domain)
    Weiterhin habe ich das nochmal bei einem anderen kostenlosen Hoster hochgeladen, wo sich das gleiche Problem wie bei meiner .com Domain auftut (daher bin ich bestrebt nicht unbedingt die .com-Domain hier anzugeben, sondern den kostenlosen Hoster "CW-City")

    index.php:
    PHP-Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
     <head>
      <title>Dynamische Inhalte</title>
     </head>
     <body>
      &#xDC;berschrift<br />
      <div id="menu">
       <ul>
        <li><a href="?dir=punkt1">Punkt1</a></li>
        <li><a href="?dir=punkt2">Punkt2</a></li>
       </ul>
      </div>
    <?php
    if(isset($_REQUEST['dir']) && !empty($_REQUEST['dir'])) {
     
    $direction $_REQUEST['dir'];
    } else {
     
    $direction false;
    }

    $sites = array (
     
    'punkt1' => "punkt1.php",
     
    'punkt2' => "punkt2.php",
     
    '404'    => "404.php"
    );

    if (
    $direction == false) {
     
    $direction $sites['404'];
    }

    if( isset(
    $sites[$dir]) ) {
     include_once(
    './'.$sites[$dir]);
    } else {
     
    header('HTTP/1.0 404 Not Found');
     include_once(
    './'.$sites['404']);
    }
    ?>
      <div id="footer"><p>Copyright by WebmastXY</p></div>
     </body>
    </html>
    ob_start() und ob_end_flush() habe ich ausprobiert einzusetzen, jedoch ist mir schleierhaft wie ich die Bedingung
    Zitat Zitat von jeko Beitrag anzeigen
    ob_start() muss _vor_ der ersten Ausgabe stehen
    erfüllen kann, wenn doch das Skript, welches die Inhalte einbindet sich mitten in der HTML-Datei befindet. Und ich weiß nicht, ob es sinnvoll wäre, das übrige HTML wie folgt außerhalb des PHPs zu notieren, da es ja dann nicht gepuffert und somit ggf. schon an den Browser ausgegeben wird:

    PHP-Code:
    <?php
    ob_start
    ();
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
     <head>
    <!-- restliches HTML bis... -->
    <?php
    if(isset($_REQUEST['dir']) && !empty($_REQUEST['dir'])) {
     
    $direction $_REQUEST['dir'];
    } else {
     
    $direction false;
    }
    // ...restliches PHP-Skript
    ob_end_flush();
    ?>
      <div id="footer"><p>Copyright by WebmastXY</p></div>
     </body>
    </html>
    Das mit dem Puffer ist folglich nicht mein Hauptproblem, oder beziehungsweise nicht das Problem, wobei ich vermute, dass es dazu führt, dass es bei meiner Domain und CW-City fehlerhaft funktioniert.
    Besteht die Möglichkeit einer Inkompatibilität des installierten PHPs auf den Servern, wo ich vorhabe, dies zu nutzen?
    Hier einmal die Beispiel-Links:
    Funpic-Seite <- hier funktioniert es super!
    CWCity-Seite <- hier funktioniert es nicht!

    Beim zweiten Link besteht einfach das Problem, dass entweder immer direkt die von Jeko genannte "Fallback-Lösung" zum tragen kommt, oder ich irgendwas mit dem Header(404-Fehler) falsch gemacht habe. Immerhin wird ja keine PHP-Fehlermeldung ausgegeben, sondern lediglich die "404.php" ausgelesen.


    So hoffe ich, dass ich mein Problem verständlich dargelegt und ihr mir unter Umständen helfen könnt.
    Weiterhin bitte ich den Puch des Threads zu entschuldigen, nur nach insgesamt 6 Stunden Gewusel und Gesuche per Google sah ich keine andere Lösung...

    Mit freundlichen Grüßen
    Dominik
    Geändert von chickenrun (07-03-2010 um 02:28 Uhr)
    o
    L_
    OL

    This is Schäuble. Copy Schäuble into your signature to help him on his way to Überwachungsstaat.

  11. #26
    Avatar von Dormilich
    Dormilich ist offline Kaiser
    registriert
    15-01-2010
    Beiträge
    1.303

    AW: [PHP] Dynamisch Inhalte einbinden

    einige Dinge, die du probieren könntest …

    PHP-Code:
    var_dump($_REQUEST); 
    um zu sehen, womit du überhaupt arbeitest.

    $_GET anstelle $_REQUEST

    PHP-Code:
    phpinfo(); 
    ganz hilfreich, wenn es um die aktuelle PHP Installation geht

  12. #27
    Avatar von dkdenz
    dkdenz ist offline Foren-Gott
    registriert
    13-04-2004
    Ort
    Lübeck
    Beiträge
    12.050

    AW: [PHP] Dynamisch Inhalte einbinden

    Beide Seiten sind keine identischen Testumgebungen...

  13. #28
    Avatar von ZeitGeist
    ZeitGeist ist offline Lounge-Member
    registriert
    26-04-2003
    Ort
    Outa Space
    Beiträge
    4.125

    AW: [PHP] Dynamisch Inhalte einbinden

    $dir wird niemals gesetzt. Bei Funpic ist register_globals auf on, das führt dazu das PHP alle Schlüssel in $_GET/$_POST/$_COOKIE ($_SESSION ?) automatisch als Variablen setzt. Somit gibt es in diesem Fall ein instanziertes $dir.
    Register_globals auf on zu setzen gilt als Sicherheitsrisiko und wird daher von vielen Hoster deaktiviert.

  14. #29
    Avatar von chickenrun
    chickenrun ist offline Grünschnabel
    registriert
    10-07-2008
    Ort
    Norddeutschland
    Beiträge
    3

    AW: [PHP] Dynamisch Inhalte einbinden

    Heyho
    ui was bin ich froh, wenn ich seh, dass ich Antwort bekommen habe :P So hab ich mich auch gleich daran gemacht, das Ein oder Andere auszutesten...


    Zitat Zitat von Dormilich Beitrag anzeigen
    PHP-Code:
    var_dump($_REQUEST); 
    um zu sehen, womit du überhaupt arbeitest.

    $_GET anstelle $_REQUEST

    PHP-Code:
    phpinfo(); 
    ganz hilfreich, wenn es um die aktuelle PHP Installation geht
    zum Ersten: var_dump hab ich schon mal vorher probiert gehabt, weil ich das in einem anderen Forum fand, um zu wissen, (wie du schon sagtest), womit man arbeitet...
    Ergebnis: bei beiden Hoster und sowohl mit $_GET, als auch mit $_REQUEST erscheint im Browser
    Code:
    array(1) { ["dir"]=>  string(6) "punkt2" }
    Demnach dachte ich mir, wenn das schonmal bei beiden funktioniert, müsste der Fehler eigentlich woanders liegen :P (ob dem allerdings so ist, weiß ich ja noch nicht )

    zum Zweiten: mit beiden $_GET und $_REQUEST funktioniert es auf Funpic - auf CWCity nicht..

    zum Dritten: Da ich mich mit PHP (leider noch) nicht allzusehr auskenne, konnte ich mit diesen schönen tollen Tabellen nicht viel anfangen (aber ZeitGeist hat ja auf etwas hingewiesen :P )
    Funpic CWCity



    Zitat Zitat von ZeitGeist Beitrag anzeigen
    $dir wird niemals gesetzt. Bei Funpic ist register_globals auf on, das führt dazu das PHP alle Schlüssel in $_GET/$_POST/$_COOKIE ($_SESSION ?) automatisch als Variablen setzt. Somit gibt es in diesem Fall ein instanziertes $dir.
    Register_globals auf on zu setzen gilt als Sicherheitsrisiko und wird daher von vielen Hoster deaktiviert.
    heißt das jetzt also für mich, dass ich mit dieser Methode, sei es mit $_GET oder $_REQUEST keine Variablenabfrage aus der URL machen kann?
    Auf jeden Fall entnehme ich deinem Beitrag eine für mich bestehende Einschränkung, die ich jetzt versuchen muss, auf anderem Weg zu umgehen
    Oder bin ich ein hoffnungsloser Fall? Wenn es halt mit dieser Methode gar nicht klappen sollte, dass ich meine Inhalte so darstellen kann... dann muss ich halt damit leben - gibt es aber eine Möglichkeit, das eventuell auf andere Art und Weise zu lösen, dann wäre ich euch sehr verbunden, wenn ihr mir damit helfen könntet

    Mit freundlichen Grüßen
    o
    L_
    OL

    This is Schäuble. Copy Schäuble into your signature to help him on his way to Überwachungsstaat.

  15. #30
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.751

    AW: [PHP] Dynamisch Inhalte einbinden

    Einfach an den Anfang des Skriptes ein
    PHP-Code:
    $dir $_GET['dir']; 
    und die Variable steht dir zur Verfügung.

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Ähnliche Themen

  1. Formularfelder dynamisch hinzufügen
    Von artw im Forum JavaScript
    Antworten: 11
    Letzter Beitrag: 02-05-2012, 12:23
  2. externe Detei dynamisch einbinden
    Von Zahnerer im Forum Allgemeines
    Antworten: 3
    Letzter Beitrag: 22-02-2005, 17:25
  3. Baumstrukturmenu dynamisch?
    Von ReCeD im Forum Allgemeines
    Antworten: 4
    Letzter Beitrag: 09-12-2003, 18:33
  4. css-Klassen dynamisch zuweisen?
    Von odyss im Forum JavaScript
    Antworten: 1
    Letzter Beitrag: 11-06-2002, 15:49
  5. einbinden von anderen dateien
    Von hupfer im Forum Serverseitige Programmierung
    Antworten: 10
    Letzter Beitrag: 23-01-2002, 17:03

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •