Ankündigung

Einklappen
Keine Ankündigung bisher.

Echo Ausgabe endet nicht

Einklappen

Neue Werbung 2019

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

  • Echo Ausgabe endet nicht

    Hi Leute,

    Ich bin gerade dabei ein Kontaktformular für meine Homepage zu erstellen.
    Mein Problem:
    Statt
    Die Nachricht wurde erfolgreich abgeschickt
    wird
    Die Nachricht wurde erfolgreich abgeschickt

    "; ?>
    ausgegeben.

    Erst habe ich gedacht das ich einfach ein ";" vergessen habe, ist aber das nicht der Fall.

    Vielleicht könnt ihr mir ja weiterhelfen.

    Hier der Code:
    PHP-Code:
    <?php

    $anrede        
    =    $_REQUEST['anrede'];
    $vorname    =    $_REQUEST['vorname'];
    $nachname    =    $_REQUEST['nachname'];
    $email        =    $_REQUEST['email'];
    $nachricht    =    $_REQUEST['nachricht'];

    $empfaenger "nicoherborn@aol.de";
    $absender $email;

    $betreff    =    "Kontaktanfrage ($vorname $nachname)";
    $geruest    =    "$vorname hat ueber die Webseite nico-herborn.de folgende Kontaktanfrage gestellt: \n\n" 
    "\n\n
    Kontaktdaten: \n
    \t Name:    
    $anrede $vorname $nachname \n
    \t eMail:    
    $email \n
    \n\n" 

    $nachricht;

    mail("$empfaenger""$betreff""$geruest\n""FROM: $absender\n");
    echo 
    "<p>Die Nachricht wurde erfolgreich angeschickt</p>";


    ?>


  • #2
    Wird die Datei direkt aufgerufen oder eingebunden?

    Kommentar


    • #3
      das ganze ist eingebunden auf einer seite

      Kommentar


      • #4
        dann schau mal was passiert, wenn du den PHP-End-Tag weglässt, den braucht es nämlich normal nicht bei diesem Aufbau
        "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste

        Kommentar


        • #5
          Sieht mir aus als würde der PHP-Interpreter nicht laufen. Daher wird <?php... als öffnendes Tag und am Ende </p> als schließendes Tag vom Browser interpretiert. Und den Rest zeigt er dann an.

          Kommentar


          • #6
            dann schau mal was passiert, wenn du den PHP-End-Tag weglässt, den braucht es nämlich normal nicht bei diesem Aufbau
            ändert leider nichts, lediglich das "?>" fällt weg bei der ausgabe

            Kommentar


            • #7
              Hast du meinen Beitrag auch gelesen? Lass dir mal den HTML-Quelltext der Seite anzeigen, dann siehst du was läuft.

              Kommentar


              • #8
                Kann weg

                Handy spinnt

                Kommentar


                • #9
                  PHP-Code:
                  mail("$empfaenger""$betreff""$geruest\n""FROM: $absender\n"); 
                  Entferne die ganzen ""

                  EDIT:

                  Du prüfst gar nicht ob die mail auch versendet wurde deine Nachricht kommt immer unabhängig davon ob alles glatt lief.

                  Kommentar


                  • #10
                    @the-basti
                    mail("$empfaenger", "$betreff", "$geruest\n", "FROM: $absender\n");
                    Entferne die ganzen ""

                    EDIT:

                    Du prüfst gar nicht ob die mail auch versendet wurde deine Nachricht kommt immer unabhängig davon ob alles glatt lief.
                    Ja ich arbeite gerade zum ersten mal mit php und will das Kontaktformular erstmal generell zum laufen bringen bevor ich mich um speziellere Dinge wie eine Überprüfung oder einen Spamschutz kümmere.
                    Durch das Weglassen der Anführungszeichen ändert sich nichts, ich bekomme allerdings einen Syntaxfehler angezeigt.



                    @Tropi:
                    Ja, aber ich weiß nicht wirklich was du meinst. Inwiefern kann ein "</p>" ein "<?php" schließen?

                    Kommentar


                    • #11
                      \n darf auch nicht so direkt an die Variable geklatscht werden.

                      Falls dir die Referenz noch Fremd sein sollte hier der Link

                      http://de3.php.net/manual/de/function.mail.php

                      sogar mit Beispielen

                      Kommentar


                      • #12
                        Zitat von Toschki Beitrag anzeigen
                        @Tropi:
                        Ja, aber ich weiß nicht wirklich was du meinst. Inwiefern kann ein "</p>" ein "<?php" schließen?
                        lass dir doch mal den browserquelltext anzeigen, wie tropi vorschlägt.
                        ich wette, da ist 1 zu 1 dein code drin zu sehen. das bedeutet, dass der nicht durch den php interpreter verarbeitet wurde.

                        gründe hierfür könnten sein:
                        - datei hat die endung .html
                        - php läuft gar nicht auf dem server
                        - die datei wurde direkt aus dem explorer mit doppelklick geöffnet, statt über den browser. was steht in der adressleiste im browser?
                        - ... (gibt bestimmt noch welche, aber das sind sicherlich die häufigsten)

                        was hat das nun mit tropis aussage zu tun, dass <?php durch </p> geschlossen wird?

                        nachdem der code genau so im browser angekommen ist versucht der html-parser des browsers daraus irgendetwas brauchbares zu basteln.
                        html ist grundsätzlich ja aus tags aufgebaut. mögliche syntaxen sind z.b.
                        Code:
                        <tag attribut="irgendwas"> inhalt des tags </tag>
                        hier kann noch was stehen
                        <nichtschließenderTag attribut="irgendwas">
                        hier kann noch was stehen
                        <selbstschließenderTag attribut="irgendwas"/>
                        der parser sucht nun nach öffnenden und schließenden eckigen klammern. er findet als erstes die öffende klammer bei <?php und die schließende bei <p>. alles was zwischen den zwei klammern ist wird als erstes tag interpretiert. tags werden nicht angezeigt, daher siehst du das nur im browserquelltext.

                        nächstes tag was der browser findet ist dann </p>. hier ist der browser zwar kurz verwundert, warum es zu dem schließenden tag kein öffnendes gibt aber er macht das beste draus. er weiß, dass bei </p> ein absatz enden sollte. also packt er alles was davor ist in einen absatz, denn den beginn des absatzes hat er ja nicht gefunden. nach dem " Die Nachricht wurde erfolgreich abgeschickt" kommt daher eine leerzeile.
                        danach kommt der rest des htmls, also hier noch "; ?>"

                        zum thema mail:
                        http://www.php.de/beitragsarchiv/642...lebe-mail.html

                        bitte nicht die php funktion mail() nutzen
                        liebe Grüße
                        Fräulein Dingsda

                        Kommentar

                        Lädt...
                        X