Antworten auf deine Fragen:
Neues Thema erstellen

Formular absenden

ackermaennchen

Normalo

Teammitglied
Hallo zusammen, ich steh irgendwie auf dem Schlauch. hab n schönes Formular erstellt, und nun sollen alle Eingaben die gemacht wurden per mail an mich versendet werden. Aber irgendwie steh ich gerade total auf dem Schlauch und verliere die Übersicht, hab mich durch mehrere Tutorials geklickt und gelesen aber irgendwie gehts nicnt. hab jetzt wieder auf das reine Formular zurückgesetzt. Vieleicht kann mir wer auf die Sprünge helfen.



falls wichtig ich baue auf Bootrtrap 4 auf.

Code:
 <form role="form" class="well" method="post" >
  <div class="form-group">
    <label></label>
    <div class="input-group">
      <div class="input-group-prepend">
        <div class="input-group-text" >
          <i class="fa fa-user-circle"></i>
        </div>
      </div>
      <input id="name" name="text" placeholder="Nachname*" type="text" required="required" class="form-control" value="<?php echo $_POST['name']; ?>">
      <div class="input-group-append">
        <div class="input-group-text">
          <i class="fa fa-star"></i>
        </div>
      </div>
    </div>
  </div>
  <div class="form-group">
    <label></label>
    <div class="input-group">
      <div class="input-group-prepend">
        <div class="input-group-text">
          <i class="fa fa-user-circle-o"></i>
        </div>
      </div>
      <input id="vorname" name="Vorname" placeholder="Vorname*" type="text" required="required" class="form-control" value="<?php echo $_POST['vorname']; ?>">
      <div class="input-group-append">
        <div class="input-group-text">
          <i class="fa fa-star"></i>
        </div>
      </div>
    </div>
  </div>
  <div class="form-group">
    <label></label>
    <div class="input-group">
      <div class="input-group-prepend">
        <div class="input-group-text">
          <i class="fa fa-flag-checkered"></i>
        </div>
      </div>
      <input id="nationalität" name="Nationalität" placeholder="Nationalität*" type="text" required="required" class="form-control">
      <div class="input-group-append">
        <div class="input-group-text">
          <i class="fa fa-star"></i>
        </div>
      </div>
    </div>
  </div>
  <div class="form-group">
    <label></label>
    <div class="input-group">
      <div class="input-group-prepend">
        <div class="input-group-text">
          <i class="fa fa-group"></i>
        </div>
      </div>
      <input id="spitzname" name="Spitzname" placeholder="Spitzname" type="text" class="form-control">
    </div>
  </div>
  <div class="form-group">
    <label></label>
    <div class="input-group">
      <div class="input-group-prepend">
        <div class="input-group-text">
          <i class="fa fa-phone"></i>
        </div>
      </div>
      <input id="telefon" name="telefon" placeholder="Telefonnummer" type="text" required="required" class="form-control">
      <div class="input-group-append">
        <div class="input-group-text">
          <i class="fa fa-star"></i>
        </div>
      </div>
    </div>
  </div>
  <div class="form-group">
    <label></label>
    <div class="input-group">
      <div class="input-group-prepend">
        <div class="input-group-text">
          <i class="fa fa-location-arrow"></i>
        </div>
      </div>
      <input id="dart" name="Dart" placeholder="Dart" type="text" required="required" class="form-control">
      <div class="input-group-append">
        <div class="input-group-text">
          <i class="fa fa-star"></i>
        </div>
      </div>
    </div>
  </div>
  <div class="form-group">
    <label></label>
    <div class="input-group">
      <div class="input-group-prepend">
        <div class="input-group-text">
          <i class="fa fa-balance-scale"></i>
        </div>
      </div>
      <input id="gewicht" name="gewicht" placeholder="Gewicht des Darts" type="text" required="required" class="form-control" >
      <div class="input-group-append">
        <div class="input-group-text">
          <i class="fa fa-star"></i>
        </div>
      </div>
    </div>
  </div>
  <div class="form-group">
    <label></label>
    <div class="input-group">
      <div class="input-group-prepend">
        <div class="input-group-text">
          <i class="fa fa-adjust"></i>
        </div>
      </div>
      <input id="avg" name="avg" placeholder="Ø Avg der letzten 2 Monate" type="text" required="required" class="form-control" >
      <div class="input-group-append">
        <div class="input-group-text">
          <i class="fa fa-star"></i>
        </div>
      </div>
    </div>
  </div>
  <div class="form-group">
    <label></label>
   <div class="input-group">
  <div class="input-group-prepend"> <span class="input-group-text" id="inputGroupFileAddon01"> <i class="fa fa-picture-o"></i></span>
    </div>
  <div class="custom-file">
    <input type="file" class="custom-file-input" id="inputGroupFile01"
      aria-describedby="inputGroupFileAddon01">
    <label class="custom-file-label" for="inputGroupFile01">Profilbild</label>
  </div>
</div>
  </div>
<div class="form-group">Die mit Stern gegkennzeichneten Felder sind Pflichtfelder und werden benötigt um einen reibungslosen Spielablauf zu gewähren oder dienen der Spielerstatistik.</div>
  <div class="form-group">
    
    <button name="submit" type="submit" class="btn btn-primary">Absenden</button>
  </div>
</form>
 

Dudlhofer

Aktives Mitglied

Ich sehe keine "action", die Dein Form ausführen soll, üblicherweise im FORM-Tag
Code:
<form action="das-ausfuehrende-versenden.php" ...>
Es sei denn, Du verwendest irgendein Script, das auf das Submit-Event lauscht...
 

Chris_EDI

PixelNik

Schau mal, hier ist ein Beispiel, wie ein solches mail versendet wird. Das ganze besteht aus 2 Teilen Teil 1 (das Formular) hast du schon. Teil 2 der durch die 'action' aufgerfen wird, erledigt den Versand der e-mails.
 

ackermaennchen

Normalo

Teammitglied
Genau das hatte ich schon aber er wolle es nicht senden. Hatte das Formular allerdings unter das php script gesetzt. Sprich in der selben Datei.
 

Chris_EDI

PixelNik

Hast du auch versucht, wie es in dem Beispiel angegeben ist?
  1. Dem Form einen Action-Namen geben
  2. eine datei namens send_email.php erstellen (gleich dem Action-Namen)
  3. den Code zum Versenden in diese Datei einfügen.
Vorteil: das ganze bleibt schön übersichtlich.
PHP:
<form method="post" action="send_email.php">
 

ackermaennchen

Normalo

Teammitglied
Danke, getrennt funktioniert es :D nur noch das Problem mit dem Profilbild, anklicken und ne Datei aussuchen kann ich. Nur wie löse ich das am besten das ich das Bild dann auch bekomme?
 

ackermaennchen

Normalo

Teammitglied
So hab es mal auf mein Formular umgewandelt. es wird alles übertragen, im Browser zeigt er auch unten n abloadstatus an, aber in der email ist das FIle nicht drin. auch nicht im Ordner "upload" der mal im Momennt die cmod Rechte 777 hat.
PHP:
<?php
$postData = $uploadedFile = $statusMsg = '';
$msgClass = 'errordiv';
if(isset($_POST['submit'])){
    // Get the submitted form data
    $postData = $_POST;
    $vorname = $_POST['vorname'];
    $name = $_POST['name'];
     $email = $_POST['email'];
    $nation = $_POST['nation'];
    $spitzname = $_POST['spitzname'];
     $telefon = $_POST['telefon'];
     $dart = $_POST['dart'];
     $gewicht = $_POST['gewicht'];
     $avg = $_POST['avg'];
   
            // Check whether submitted data is not empty
    if(!empty($email) && !empty($name) ){
       
        // Validate email
        if(filter_var($email, FILTER_VALIDATE_EMAIL) === false){
            $statusMsg = 'Please enter your valid email.';
        }else{
            $uploadStatus = 1;
            // Upload attachment file
            if(!empty($_FILES["attachment"]["name"])){
               
                // File path config
                $targetDir = "uploads/";
                $fileName = basename($_FILES["attachment"]["name"]);
                $targetFilePath = $targetDir . $fileName;
                $fileType = pathinfo($targetFilePath,PATHINFO_EXTENSION);
               
                // Allow certain file formats
                $allowTypes = array('jpg', 'png', 'jpeg');
                if(in_array($fileType, $allowTypes)){
                    // Upload file to the server
                    if(move_uploaded_file($_FILES["attachment"]["tmp_name"], $targetFilePath)){
                        $uploadedFile = $targetFilePath;
                    }else{
                        $uploadStatus = 0;
                        $statusMsg = "Sorry, there was an error uploading your file.";
                    }
                }else{
                    $uploadStatus = 0;
                    $statusMsg = 'Sorry, only JPG, JPEG, & PNG files are allowed to upload.';
                }
            }
           
            if($uploadStatus == 1){
               
                // Recipient
                $toEmail = 'prodartsleague@ackermaennchen.at';

                // Sender
                $from = 'prodartsleague@ackermaennchen.at';
                $fromName = 'Prodartsleague';
               
                // Subject
                $emailSubject = 'Neue Profilanmeldung von '.$name;
               
                // Message
                $htmlContent = '<h2>Contact Request Submitted</h2>
                    <p><b>Name:</b> '.$name.'</p>
                    <p><b>Voname:</b> '.$vorname.'</p>
                    <p><b>Nationalität:</b> '.$nation.'</p>
                    <p><b>Spitzname:</b><br/>'.$spitzname.'</p>
                    <p><b>Telefonnummer:</b><br/>'.$telefon.'</p>
                    <p><b>Dart:</b><br/>'.$dart.'</p>
                    <p><b>Gewicht:</b><br/>'.$gewicht.'</p>
                    <p><b>Avarege:</b><br/>'.$avg.'</p>';
               
                // Header for sender info
                $headers = "From: $fromName"." <".$from.">";

                if(!empty($uploadedFile) && file_exists($uploadedFile)){
                   
                    // Boundary
                    $semi_rand = md5(time());
                    $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
                   
                    // Headers for attachment
                    $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\"";
                   
                    // Multipart boundary
                    $message = "--{$mime_boundary}\n" . "Content-Type: text/html; charset=\"UTF-8\"\n" .
                    "Content-Transfer-Encoding: 7bit\n\n" . $htmlContent . "\n\n";
                   
                    // Preparing attachment
                    if(is_file($uploadedFile)){
                        $message .= "--{$mime_boundary}\n";
                        $fp =    @fopen($uploadedFile,"rb");
                        $data =  @fread($fp,filesize($uploadedFile));
                        @fclose($fp);
                        $data = chunk_split(base64_encode($data));
                        $message .= "Content-Type: application/octet-stream; name=\"".basename($uploadedFile)."\"\n" .
                        "Content-Description: ".basename($uploadedFile)."\n" .
                        "Content-Disposition: attachment;\n" . " filename=\"".basename($uploadedFile)."\"; size=".filesize($uploadedFile).";\n" .
                        "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n";
                    }
                   
                    $message .= "--{$mime_boundary}--";
                    $returnpath = "-f" . $email;
                   
                    // Send email
                    $mail = mail($toEmail, $emailSubject, $message, $headers, $returnpath);
                   
                    // Delete attachment file from the server
                    @unlink($uploadedFile);
                }else{
                     // Set content-type header for sending HTML email
                    $headers .= "\r\n". "MIME-Version: 1.0";
                    $headers .= "\r\n". "Content-type:text/html;charset=UTF-8";
                   
                    // Send email
                    $mail = mail($toEmail, $emailSubject, $htmlContent, $headers);
                }
               
                // If mail sent
                if($mail){
                    $statusMsg = 'Your contact request has been submitted successfully !';
                    $msgClass = 'succdiv';
                   
                    $postData = '';
                }else{
                    $statusMsg = 'Your contact request submission failed, please try again.';
                }
            }
        }
    }else{
        $statusMsg = 'Please fill all the fields.';
    }
}
?>
<div class="platz"></div>

<?php if(!empty($statusMsg)){ ?>
    <p class="statusMsg <?php echo !empty($msgClass)?$msgClass:''; ?>"><?php echo $statusMsg; ?></p>
<?php } ?>
       <form role="form" class="well" method="post" action="" enctype="multipart/form-data">
  <div class="form-group">
    <label></label>
    <div class="input-group">
      <div class="input-group-prepend">
        <div class="input-group-text" >
          <i class="fa fa-user-circle"></i>
        </div>
      </div>
      <input id="name" name="name" placeholder="Nachname*" type="text" required="required" class="form-control" value="<?php echo $_POST['name']; ?>">
      <div class="input-group-append">
        <div class="input-group-text">
          <i class="fa fa-star"></i>
        </div>
      </div>
    </div>
  </div>
  <div class="form-group">
    <label></label>
    <div class="input-group">
      <div class="input-group-prepend">
        <div class="input-group-text">
          <i class="fa fa-user-circle-o"></i>
        </div>
      </div>
      <input id="vorname" name="vorname" placeholder="Vorname*" type="text" required="required" class="form-control" value="<?php echo $_POST['vorname']; ?>">
      <div class="input-group-append">
        <div class="input-group-text">
          <i class="fa fa-star"></i>
        </div>
      </div>
    </div>
  </div>
           <div class="form-group">
    <label></label>
    <div class="input-group">
      <div class="input-group-prepend">
        <div class="input-group-text">
          <i class="fa fa-user-circle-o"></i>
        </div>
      </div>
      <input id="email" name="email" placeholder="meinname@daoian.de" type="text" required="required" class="form-control" value="<?php echo $_POST['email']; ?>">
      <div class="input-group-append">
        <div class="input-group-text">
          <i class="fa fa-star"></i>
        </div>
      </div>
    </div>
  </div>
         
  <div class="form-group">
    <label></label>
    <div class="input-group">
      <div class="input-group-prepend">
        <div class="input-group-text">
          <i class="fa fa-flag-checkered"></i>
        </div>
      </div>
      <input id="nation" name="nation" placeholder="Nationalität" type="text" required="required" class="form-control" value="<?php echo $_POST['nation']; ?>">
      <div class="input-group-append">
        <div class="input-group-text">
          <i class="fa fa-star"></i>
        </div>
      </div>
    </div>
  </div>
  <div class="form-group">
    <label></label>
    <div class="input-group">
      <div class="input-group-prepend">
        <div class="input-group-text">
          <i class="fa fa-group"></i>
        </div>
      </div>
      <input id="spitzname" name="spitzname" placeholder="Spitzname" type="text" class="form-control"value="<?php echo $_POST['spitzname']; ?>">
    </div>
  </div>
  <div class="form-group">
    <label></label>
    <div class="input-group">
      <div class="input-group-prepend">
        <div class="input-group-text">
          <i class="fa fa-phone"></i>
        </div>
      </div>
      <input id="telefon" name="telefon" placeholder="Telefonnummer" type="text" required="required" class="form-control"value="<?php echo $_POST['telefon']; ?>">
      <div class="input-group-append">
        <div class="input-group-text">
          <i class="fa fa-star"></i>
        </div>
      </div>
    </div>
  </div>
  <div class="form-group">
    <label></label>
    <div class="input-group">
      <div class="input-group-prepend">
        <div class="input-group-text">
          <i class="fa fa-location-arrow"></i>
        </div>
      </div>
      <input id="dart" name="dart" placeholder="Dart" type="text" required="required" class="form-control"value="<?php echo $_POST['dart']; ?>">
      <div class="input-group-append">
        <div class="input-group-text">
          <i class="fa fa-star"></i>
        </div>
      </div>
    </div>
  </div>
  <div class="form-group">
    <label></label>
    <div class="input-group">
      <div class="input-group-prepend">
        <div class="input-group-text">
          <i class="fa fa-balance-scale"></i>
        </div>
      </div>
      <input id="gewicht" name="gewicht" placeholder="Gewicht des Darts" type="text" required="required" class="form-control" value="<?php echo $_POST['gewicht']; ?>">
      <div class="input-group-append">
        <div class="input-group-text">
          <i class="fa fa-star"></i>
        </div>
      </div>
    </div>
  </div>
  <div class="form-group">
    <label></label>
    <div class="input-group">
      <div class="input-group-prepend">
        <div class="input-group-text">
          <i class="fa fa-adjust"></i>
        </div>
      </div>
      <input id="avg" name="avg" placeholder="Ø Avg der letzten 2 Monate" type="text" required="required" class="form-control" value="<?php echo $_POST['avg']; ?>" >
      <div class="input-group-append">
        <div class="input-group-text">
          <i class="fa fa-star"></i>
        </div>
      </div>
    </div>
  </div>
  <div class="form-group">
    <label></label>
   <div class="input-group">
  <div class="input-group-prepend"> <span class="input-group-text" id="inputGroupFileAddon01"> <i class="fa fa-picture-o"></i></span>
    </div>
  <div class="custom-file">
    <input type="file" class="custom-file-input" name="profilepic"
      aria-describedby="inputGroupFileAddon01">
    <label class="custom-file-label" for="profilepic">Profilbild</label>
  </div>
</div>
  </div>
<div class="form-group">Die mit Stern gegkennzeichneten Felder sind Pflichtfelder und werden benötigt um einen reibungslosen Spielablauf zu gewähren oder dienen der Spielerstatistik.</div>
  <div class="form-group">
   
    <button name="submit" type="submit" class="btn btn-primary">Absenden</button>
  </div>
</form>
        <br><br>

übrigens meckert er auch nicht wenn ich ne PDF anhängen will, obwohl ja eig. nur Bilddateien erlaubt sind :confused:
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.611
Beiträge
1.538.341
Mitglieder
67.524
Neuestes Mitglied
BSKGA
Oben