Ankündigung

Einklappen
Keine Ankündigung bisher.

Inhalt im Emailformular wird nicht verschickt

Einklappen

Neue Werbung 2019

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

  • Inhalt im Emailformular wird nicht verschickt

    Hey,
    also ich versuche mich grade an meinen ersten Schritten im PHP-Universum. Momentan versuche ich eine Art Homepage zu basteln in der ich meine Kenntnisse austeste und stecke grade bei einem Emailformular fest. Email wird versendet, nur der Inhalt kommt nicht an.

    PHP-Code:
    <html>
     <head>
       <title>Fretschen's Homepage </title>
        <link rel="stylesheet" type="text/css" href="style.css">
     </head>

    <body>

     <form  method="post">
      <?php
       
    echo "Name:";
      
    ?>
      <input type="text" size="17" name="Name">
       <br>
      <?php
       
    echo "Emailadresse:";
      
    ?>
      <input type="text" size="17" name="Absendermail">
       <br>
      <?php
       
    echo "Betreff:";
      
    ?>
      <input type="text" size="17" name="Betreff">
       <br>
      <?php
       
    echo "Inhalt:";
      
    ?>
      <textarea name="Inhalt" cols="60" rows="20"></textarea>
     </form>


      <form action="<?php


      $empfaenger 
    "Rakaimillack@web.de";
      
    $betreff $_POST["Betreff"];
      
    $text $_POST["Inhalt"];
      
    $absender $_POST["Name"];
      
    $sendermail $_POST["Absendermail"];

      
    mail ($empfaenger$betreff$text"From: $sender <$sendermail>");


     
    ?> email2.php">

      <input type="submit" value="Absenden">

      </form>

    </html>
    Also wie gesagt, bin ein ziemlicher Anfänger und weiß gar nicht ob ich jetzt was Ansatzweise richtig gemacht habe^^
    Habe dieses jetzt von einer Lernseite her und versucht umzusetzen.
    Hoffe ihr fidnet Zeit um mir zu helfen. Danke im Vorraus!

  • #2
    Hi,

    den absenden knopf in das erste formular rein, das zweite formular funktioniert nicht so, wie es laut code geplant ist.

    php wird ausgeführt, bevor das html angezeigt wird, ergo mail via php so auf knopfdruck abzusenden ist nicht.

    bau lieber eine abfrage vor dem html-code ein, ob das formular abgeschickt wurde und verschick dann die mail. Beispielsweise mit
    PHP-Code:
    <?php
    if(!empty($_POST['Betreff'])){
     
    // versende mail, wie im 2. formular versucht
    }
    ?>
    hat zusätzlich den vorteil, du kannst prüfen, ob was eingegeben wurde

    vg
    Drache

    Kommentar


    • #3
      Okay, vielen Dank schonmal für die Hilfe. Also Inhalt kommt nun an. Doch jetzt hab ich das Problem mit der IF-Anweisung. Kann man das so einrichten das man die eigene Emailadresse angeben muss, bevor die Email verschickt wird? Wenn ja, kann man dann auf eine php datei verlinken falls man die Emailadresse nicht abgegeben hat, in der man dann darauf hingewiesen wird?

      Hoffentlich nerv ich nicht zu sehr mti diesen Anfängerfragen

      Hab dies jetzt in der email.php:

      PHP-Code:
      <html>
       <head>
         <title>Fretschen's Homepage </title>
          <link rel="stylesheet" type="text/css" href="style.css">
       </head>

      <body>



       <form  method="post" action="email2.php">
        <?php
         
      echo "Name:";
        
      ?>
        <input type="text" size="17" name="Name">
         <br>
        <?php
         
      echo "Emailadresse:";
        
      ?>
        <input type="text" size="17" name="Absendermail">
         <br>
        <?php
         
      echo "Betreff:";
        
      ?>
        <input type="text" size="17" name="Betreff">
         <br>
        <?php
         
      echo "Inhalt:";
        
      ?>
        <textarea name="Inhalt" cols="60" rows="20"></textarea>
         <br>

         <?php
         
      if(!empty($_POST['Betreff']))

         {


        
      $empfaenger "Rakaimillack@web.de";
        
      $betreff $_POST["Betreff"];
        
      $text $_POST["Inhalt"];
        
      $absender $_POST["Name"];
        
      $sendermail $_POST["Absendermail"];

        
      mail ($empfaenger$betreff$text"From: $sender <$sendermail>");



          }



          
      ?>

        <input  type="submit" value="Absenden" >

       </form>



      </body>
      </html>

      Kommentar


      • #4
        wie waere es mit

        PHP-Code:
        if(empty($_POST['Absendermail']))
        {
            
        // Hinweis auf Leere absenderadresse
        }
        else
        {
            
        // Mail versenden

        Ich persönlich würde noch Zeilenumbrüche entschärfen um mich vor CLRF Injections zu schützen. Dazu weiterführend:

        http://wiki.hackerboard.de/index.php/Crlf_injection

        kann man mit str_replace recht schnell bewältigen

        Kommentar


        • #5
          Zitat von Fretschen
          Hoffentlich nerv ich nicht zu sehr mti diesen Anfängerfragen
          Das Probelm ist, dass das eigentlich keinen Anfängerfragen, sondern Grundlagenfragen sind. Und um diese zu behandeln ist das Forum eigentlich nicht da.
          Du solltest dich zuerst einmal damit befassen, wie Webseiten funktionieren, was läuft auf dem Server, und was auf dem Client.
          Wenn du das dann begriffen hast, kannst damit beginnen, die Grundlagen der Formularverarbeitung zu lernen, hier ein Tutorial dazu.
          Wenn du dann eine konkrete Frage hast, dann kannst du die hier bringen.

          Kommentar


          • #6
            Vielen Dank an alle, habt mich echt weitergebracht. Werde mich dann wieder ans lernen begeben.

            Dankeschön!

            Kommentar

            Lädt...
            X