danysahne: Mail mit PHP und html und sendet nicht

<?php

error_reporting(E_ALL);

$f_submit        =       isset($_POST['submit']);
$f_name          =       empty($_POST['name']);
$f_address       =       empty($_POST['address']);
$f_telephon      =       empty($_POST['tel']);
$f_email         =       empty($_POST['addy']);
$f_subject       =       empty($_POST['subject']);
$f_message       =       empty($_POST['info']);

if ($f_submit)
{

if ($f_name) || ($f_tel) || ($f_addy) || ($f_subject) || ($_info)
         {

echo            "Please fulfil all mandatory fields!";

}
         else
         {
                 $mail_empfaenger = "meine@web.de";
                 $mail_absender   = htmlspecialchars($_POST['addy']);
                 $subject      =       htmlspecialchars($_POST['subject']);
                 $text       ="<html><head><title>Test</title></head>
                               <body>
                               <table border=2>
                             <tr><td>You have a mail from: $name.</td></tr>
                             <tr><td>subject; $info</td></tr>
                             <td><tr><b>Message: </b>$info</td></tr>
                             <td><tr>The address is: $address</td></tr>
                             <td><tr>Telephone number: $tel</td></tr>
                             <td><tr>email address: $addy</td></tr>
                             </table>
                             </body>
                             </html>";
       mail($mail_empfanger, $subject, $text, "from: " . $mail_absender);

echo "Thank you for our enquiry!";
         }
}

?>

Wer kann mir dazu den Fehler zeigen? Im Form action steht="mail.php"
Wenn ich auf senden klicke dann oeffnet sich nur der Quelltext.
Ich habe auch langsam keine ahnung mehr vorher.

  1. Hallo,

    wenn der quelltext angezeigt wird, wird das script nicht ausgeführt. Das hat mit mail und dem rest nix zu tun. Ich empfehle dir, die probleme zu isolieren. Zb. mit var_dump($_REQUEST) im mail.php beginnen.

    Gruß

    jobo

    1. Hallo,

      wenn der quelltext angezeigt wird, wird das script nicht ausgeführt. Das hat mit mail und dem rest nix zu tun. Ich empfehle dir, die probleme zu isolieren. Zb. mit var_dump($_REQUEST) im mail.php beginnen.

      »Das klingt gut, aber ich habe noch nicht soviel Ahnung davon, also mit nicht in kurzen Sätzen sprechen :D

      1. Hallo,

        »Das klingt gut, aber ich habe noch nicht soviel Ahnung davon, also mit nicht in kurzen Sätzen sprechen :D

        Da sind ja jetzt schon anderer Helferlein da. Krieg erstmal PHP ins Laufen. Ohne dem geht Mail sowieso nicht (;-). und var_dump() solltest Du dir auch mal anschauen. Und auch $_GET, $_POST, $_REQUEST ...;

        Gruß

        jobo

  2. Hallo!

    Wenn ich auf senden klicke dann oeffnet sich nur der Quelltext.

    Es wird PHP-Quelltext angezeigt? Das klingt so, als wäre PHP nicht (korrekt) installiert und / oder konfiguriert. Laufen denn andere Scripte, oder ist dies Dein erster Test?
    Hast Du mal versucht ein simples phpinfo(); auszuführen?

    Ich habe auch langsam keine ahnung mehr vorher.

    Man hat meistens erst nacher Ahnung - nach dem Schmerz eben;-)

    Ciao

    GG

    --
    "If I do not seek to understand what is happening here
    - then I've got peanuts in my head!"
    (I. Hosein)
    1. Es wird PHP-Quelltext angezeigt? Das klingt so, als wäre PHP nicht (korrekt) installiert und / oder konfiguriert. Laufen denn andere Scripte, oder ist dies Dein erster Test?

      »Also die restlichen Seiten sind mit HTML programmiert. Jup das ist mein erster Test mit php und auch mit so einem Formular. Naja aber reicht es nicht, einfach schreiben und dann mal testen also Lokal oder muss man was besonderes installieren damit es funktioniert??

      Ich habe auch langsam keine ahnung mehr vorher.

      Man hat meistens erst nacher Ahnung - nach dem Schmerz eben;-)

      »
      »Stimmt da hast du recht, es ist ja noch kein Meister vonm Himmel gefallen ;)

      1. Hallo!

        Es wird PHP-Quelltext angezeigt? Das klingt so, als wäre PHP nicht (korrekt) installiert und / oder konfiguriert. Laufen denn andere Scripte, oder ist dies Dein erster Test?

        »Also die restlichen Seiten sind mit HTML programmiert.

        Nein, denn HTML ist keine Programmiersprache.

        Jup das ist mein erster Test mit php und auch mit so einem Formular. Naja aber reicht es nicht, einfach schreiben und dann mal testen also Lokal oder muss man was besonderes installieren damit es funktioniert??

        Das hatte ich fast befürchtet: Du hast also keine lokale Webserver-Installation mit PHP-Unterstützung zur Verfügung?

        Z.B: XAMPP?

        Lokal im Dateisystem wird PHP nicht ausgeführt, es bedarf dazu einer bestimmten Umgebung - ich empfehle zur Einführung:

        Was ist PHP?
        und
        Was kann PHP?

        Ich habe auch langsam keine ahnung mehr vorher.

        Man hat meistens erst nacher Ahnung - nach dem Schmerz eben;-)
        »
        »Stimmt da hast du recht, es ist ja noch kein Meister vonm Himmel gefallen ;)

        Nein, die sind noch alle oben;)

        Ciao

        GG

        --
        "If I do not seek to understand what is happening here
        - then I've got peanuts in my head!"
        (I. Hosein)
        1. so habe jetzt mal alles installiert und wenn ich dann auf senden drücke, dann zeigt er mir die den inhalt an, also die tabelle.

          habe XAMPP genutzt. was mache ich noch verkehrt?

      2. 'ǝɯɐu$ ıɥ

        »Also die restlichen Seiten sind mit HTML programmiert. Jup das ist mein erster Test mit php und auch mit so einem Formular. Naja aber reicht es nicht, einfach schreiben und dann mal testen also Lokal oder muss man was besonderes installieren damit es funktioniert??

        um es lokal zu testen brauchst du einen webserver mit PHP, entweder XAMPP oder MoWes.

        um festzustellen ob und wie PHP auf deinem webspace läuft mache folgendes:
        schreibe diese zeile in eine datei

        <php  
        phpinfo();  
        
        >
        
        

        speichere das ganze unter dem namen phpinfo.php, jage es auf den server und rufe es dann im browser auf, kommt der quelltext hat´s wohl kein PHP, wird eine seite angezeigt dann hmmm k.a. müßte mal dann weiter sehen. alternativ könntest du ja mal schauen was bei deinem hosting paket alles dabei ist, ist der schnellste weg ;-).

        ssnɹƃ
        ʍopɐɥs

        --
        Sleep is a poor substitute for caffeine.
        1. Hallo!

          »Also die restlichen Seiten sind mit HTML programmiert. Jup das ist mein erster Test mit php und auch mit so einem Formular. Naja aber reicht es nicht, einfach schreiben und dann mal testen also Lokal oder muss man was besonderes installieren damit es funktioniert??

          um es lokal zu testen brauchst du einen webserver mit PHP, entweder XAMPP oder MoWes.

          um festzustellen ob und wie PHP auf deinem webspace läuft

          Da hier von lokal die Rede ist, können wir Webspace wohl zunächst ausschließen - offensichtlich ist auch lokal kein Webserver (mit PHP-Unterstützung) vorhanden.

          Ciao

          GG

          --
          "If I do not seek to understand what is happening here
          - then I've got peanuts in my head!"
          (I. Hosein)
      3. Hallo,

        Also die restlichen Seiten sind mit HTML programmiert.

        sind sie nicht. ;-)
        Nein, es mag dir vielleicht haarspalterisch vorkommen, aber HTML ist keine Programmiersprache; wer also "mit HTML programmiert", wird unter Fachleuten gern etwas mitleidig belächelt.

        aber reicht es nicht, einfach schreiben und dann mal testen also Lokal

        Moment - du versuchst das lokal auf deinem Rechner auszuführen?
        Dann hast du etwas Grundlegendes nicht richtig verstanden:

        PHP ist eine Scriptsprache, die auf dem Server ausgeführt wird. Ein Browser kann mit PHP-Code nichts anfangen; dadurch, dass die Datei-Extension nicht .htm oder .html ist, wird er den Inhalt nicht einmal als HTML zu interpretieren versuchen, sondern tut das Beste, was er dann noch kann: Er zeigt den Dateiinhalt 1:1 als Quelltext an.

        oder muss man was besonderes installieren damit es funktioniert??

        Ja. Einen Webserver (z.B. den Apache) und PHP. Unter der Bezeichnung XAMPP gibt's auch ein Komplettpaket, das zusätzlich noch MySQL (Datenbank) und Perl (andere Scriptsprache) enthält und angeblich auch für Laien leicht zu installieren ist. Ich schreibe "angeblich", weil ich auch schon Gegenteiliges gelesen habe, es aber selbst nie ausprobiert habe - ich habe stattdessen die Komponenten (Apache, PHP, MySQL) einzeln installiert.

        Auch wenn's etwas Aufwand ist: Ich empfehle dir *dringend*, für Versuche mit PHP einen Webserver auf dem eigenen Rechner zu installieren, und nicht die -logischerweise- noch fehlerhaften und gefährdeten Scripte draußen im wilden bösen Internet auszuprobieren.

        Unterstützung bekommst du hier sicher. :-)

        So long,
         Martin

        PS: "Please fulfil all mandatory fields!" ...
        Abgesehen davon, dass "fulfill" mit Doppel-l am Schluss geschrieben wird, ist der Ausdruck hier sprachlich falsch. Es bedeutet nämlich "erfüllen", z.B. eine Forderung oder eine Vorhersage. Was du meinst, ist "fill in", ausfüllen.

        --
        Wer morgens zerknittert aufsteht, hat den ganzen Tag Gelegenheit, sich zu entfalten.
        1. Das war ja mal eine lage erklärung. aber ich danke dir dafür.

          ich weiß das ich dir die unterstützung bekomme ich dir brauche, deswegen habe ich mich hier angemeldet.

          Naja nun bin ich mal auf jedenfall schlauer und versuche mein Glück gleich mal aus.

        2. 'ǝɯɐu$ ıɥ

          Ja. Einen Webserver (z.B. den Apache) und PHP. Unter der Bezeichnung XAMPP gibt's auch ein Komplettpaket, das zusätzlich noch MySQL (Datenbank) und Perl (andere Scriptsprache) enthält und angeblich auch für Laien leicht zu installieren ist. Ich schreibe "angeblich", weil ich auch schon Gegenteiliges gelesen habe, es aber selbst nie ausprobiert habe - ich habe stattdessen die Komponenten (Apache, PHP, MySQL) einzeln installiert.

          also was die xampp installation angeht, entweder es klappt ganz hervorragend oder es wird sehr haarig...alternativ gibt es MoWesPortable, der vorteil ist das man sich sein paket ganz heinfach zusammenstellen kann (inkl. einer reihe von CMS), dann runterladen, entpacken, ein klick und es löpt :-)).

          ssnɹƃ
          ʍopɐɥs

          --
          Sleep is a poor substitute for caffeine.