PHP-Script in einer HTML-Ausgabedatei eines PHP-Scripts einbetten

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

  • PHP-Script in einer HTML-Ausgabedatei eines PHP-Scripts einbetten

    Hallo!

    Ich habe ein kleines E-Mail-Script, welches die Daten eines Formulars an meine E-Mail-Adresse sendet.

    Wenn das Formular unvollständig ausgefüllt ist, produzier ich eine HTML-Ausgabe, in der der User aufgefordert wird das Formular vollständig auszufüllen.
    PHP-Code:
    <?php
    if($name=='' || $email=='' || $text=='') die ('
    <html>....
    </html>
    In diese HTML-Ausgabe möchte ich ein PHP-Script einbetten, welches Daten aus einer Text-Datei liest und zwar mit diesem Script:
    PHP-Code:
    <?php
    $fp 
    fopen("news.txt","r");
    if (
    $fp)
    {
    while (!
    feof($fp))
    {
    $zeile fgets($fp100);
    echo 
    "$zeile<br>";
    }
    fclose($fp);
    }
    else
    echo 
    "Datei wurde nicht gefunden";
    ?>
    Wird die HTML-Datei bei unvollständiger Ausfüllung des Formulars nun produziert, erscheint nichts an der Stelle, an der der Inhalt der Textdatei erscheinen sollte.
    Wenn ich mir den Quelltext der Datei im IE anschau, so seh ich auch o.g. Script dort, wo der Text-Inhalt stehen sollte.

    Über Hilfe würde ich mich freuen!

    Gruß
    Airwave
    MfG
    Airwave

  • #2
    achte drauf dass die seite die endung .php hat
    der webserver kommt ja offensichtlich nicht mal auf die idee die datei durch den parser zu jagen
    mfg,
    [color=#0080c0]Coragon[/color]

    Kommentar


    • #3
      du kannst das include nicht in dem die, sondern höchstens davor ausgeben.

      Kommentar


      • #4
        @TobiaZ:

        Wie meinst du das?
        Sorry, bin Anfänger.
        MfG
        Airwave

        Kommentar


        • #5
          ich geh mal davon aus, dass du das zusätzliche file per include() in dem die() einfügst. Das geht aber nicht. versuch folgendes:

          [PHP]
          if(blabla) {
          include("datei.php");
          die("Fehler");
          }

          Kommentar


          • #6
            Ich füge kein include() im die() ein sondern so:

            PHP-Code:
            <?php
            if($name=='' || $email=='' || $text==''
            die (
            '
            <html>
            <head>
            </head>
            <body>
            </body>
            </html>
            '
            );

            $mailtext "Name: $name \nE-Mail: $email \nText: $text";
            mail("mail@host.xx""Betreff"$mailtext"From:blabla");
            include(
            'reply.php');

            ?>
            In der HTML-Ausgabe in dem die() möchte ich im body-Tag folgendes Script platzieren, um Daten aus einer Textdatei auszulesen und entsprechend anzuzeigen:
            PHP-Code:
            <?php
            $fp 
            fopen("news.txt","r");
            if (
            $fp)
            {
            while (!
            feof($fp))
            {
            $zeile fgets($fp100);
            echo 
            "$zeile<br>";
            }
            fclose($fp);
            }
            else
            echo 
            "Datei wurde nicht gefunden";
            ?>
            MfG
            Airwave

            Kommentar


            • #7
              Dann machste so:

              PHP-Code:

              if($name=='' || $email=='' || $text=='') {
              echo
              "
              <html>
              <head>
              </head>
              <body>"
              ;

              $fp fopen("news.txt","r");
              if (
              $fp)
              {
              while (!
              feof($fp))
              {
              $zeile fgets($fp100);
              echo 
              "$zeile<br>";
              }
              fclose($fp);
              }
              else
              echo 
              "Datei wurde nicht gefunden";


              echo 
              "</body>
              </html>"
              ;
              exit;
              }

              $mailtext "Name: $name \nE-Mail: $email \nText: $text";
              mail("mail@host.xx""Betreff"$mailtext"From:blabla");
              include(
              'reply.php'); 

              Kommentar


              • #8
                So klappts auch nicht.
                Im head- und body-Tag stehen ja noch andere Sachen drin, ich wollte nur nicht den ganzen Quellcode posten.
                Aber genau daran hängt es jetzt, wenn ich deine Lösung darin einbette.

                Ich könnte aber anstatt des auszugebenden HTML-Codes doch auch auf ne ganze PHP-Datei verweisen, die dann ausgegeben wird, wenn die Vorraussetzungen des Formulars nicht erfüllt werden, oder?

                PHP-Code:
                <?php
                if($name=='' || $email=='' || $text=='')

                --->(
                diedatei.php//ich weiß leider nicht wie...

                $mailtext "Name: $name \nE-Mail: $email \nText: $text";
                mail("mail@host.xx""Betreff"$mailtext"From:blabla");
                include(
                'reply.php');
                ?>
                MfG
                Airwave

                Kommentar


                • #9
                  @TobiaZ:

                  Hat doch geklappt!!
                  Hab blos alle " in den HTML-Tags entfernen müssen, weil er mir sonst nen Parse Error ausgegeben hat!!

                  Super!! Ich bedanke mich für die schnelle Hilfe!!!
                  MfG
                  Airwave

                  Kommentar

                  Lädt...
                  X