Formular als Textdatei speichern und verschicken

01/04/2017 21:06 Glad743#1
Hallo,
ich versuche mich gerade daran eine Website zu erstellen. Ich habe schon ein bisschen was geschrieben, komme aber gerade nicht weiter. Ich hoffe um Hilfe.


html>
<head>
<meta charset="utf-8">
<title>Formular</title>
<link href="icon.png">
<style type="text/css">
fieldset{
width: 400px
}

body {
align-items: center;
justify-content: center;
display: flex;
font-family: Arial;
font-size:12px;
text-align: left;
}

#vorname{
margin-left: 15px;
}
#hausnummer{
margin-left: 15px;
}
#Stadt{
margin-left: 15px;
}
#Handy{
margin-left: 15px;
}
</style>
</head>
<body>
<form name="formular" action="formular.php" method="post">
<fieldset class="pDaten">
<legend>
<b>Anschrift</b>
</legend>
<br>
<div style="float:left">
<label for="Name">
Name
<br>
<input id="Name" name="Name" type="text" value="" size="20" maxlength="50"/>
</label>
</div>

<label for="Vorname" id="Vorname">
Vorname
<br>
<input id="Vorname" name="Vorname" type="text" value="" size="20" maxlength="50"/>
</label>

<br>
<br>
<div style="float:left">
<label for="Adresse">
Straße
<br>
<input id="Straße" name="Adresse" type="text" value="" size="20" maxlength="50"/>
</label>
</div>

<label for="Hausnummer" id="Hausnummer">
Hausnummer
<br>
<input id="Hausnummer" name="Adresse" type="number" value="" />
</label>

<br>
<br>
<div style="float:left">
<label for="PLZ">
PLZ
<br>
<input id="PLZ" name="PLZ" type="text" value="" size="20" maxlength="50"/>
</label>
</div>

<label for="Stadt" id="Stadt">
Stadt
<br>
<input id="Stadt" name="Stadt" type="text" value="" size="20" maxlength="50"/>
</label>
<br>
<br>
</fieldset>
<br>
<br>
<fieldset class="Kontakt">
<legend>
<b>Kontaktdaten</b>
</legend>
<br>
<label for="Email">
Email
<br>
<input id="Email" name="Email" type="email" value="" />
</label>
<br>
<br>
<div style="float:left">
<label for="Telefon">
Telefon
<br>
<input id="Telefon" name="Telefon" type="tel" value="" />
</label>
</div>
<label for="Handy" id="Handy">
Handy(optional)
<br>
<input id="Handy" name="Handy" type="tel" value="" />
</label>
<br>
<br>
</fieldset>
<br>
<br>
<fieldset class="Auto">
<legend>
<b>Angaben zum Auto</b>
</legend>
<br>
<label for="MarkeModell">
Marke/Modell
<br>
<input id="MarkeModell" name="MarkeModell" type="text" value="" size="20" maxlength="50"/>
</label>
<br>
<br>
<label for="kmStand">
km-Stand
<br>
<input id="km-Stand" name="kmStand" type="text" value="" size="20" maxlength="8" value="" />
</label>
<br>
<br>
<label for="Erstzulassung">
Erstzulassung
<br>
<input id="Erstzulassung" name="Erstzulassung" type="date" value=""/>
</label>
<br>
<br>
<label for="Fahrgestellnummer">
Fahrgestellnummer
<br>
<input id="Fahrgestellnummer" name="Fahrgestellnummer" type="text" value="" size="20" maxlength="50"/>
</label>
<br>
<br>
<fieldset class="Motorart">
<legend>
<b>Motorart</b>
</legend>
<label for="Benzin">
<input name="Motorart" id="Benzin" type="radio" value="Benzin" />
Benzin
</label>

<label for="Diesel">
<input name="Motorart" id="Diesel" type="radio" value="Diesel" />
Diesel
</label>
<input name="Motorart" id="andere" type="radio" value="on" />
<input name="andere" type="text" />
</fieldset>
<br />
<br />
<labe for="Schadensbeschreibung">
Schadensbeschreibung
</labe>
<br />
<textarea rows="5" cols="50" type="textarea" maxlength="1000" value=""></textarea>
<br />
<br />
<label for="Preisv">
Preisvorstellung
<br>
<input id="Preisv" name="Preisv" type="number" value=""/>
</label>
<br>
<br>
</fieldset>
<br />
<br />
<br />
<br />
<button type="submit">
Abschicken
</button>
</form>

</body>
</html>

Nun möchte ich dass alle Informationen abgespeichert werden und danach per Email versendet werden.

Hoffe jemand kann mir helfen.

Gruß,
Kai.
01/05/2017 03:13 Mikesch01#2
Tag. Du hast ja überhaupt keinen PHP Code bisher im Script. Vielleicht solltest du erst lernen wie man programmiert.

Aber hier mal Links die dir weiterhelfen könnten:
Textdatei speichern: [Only registered and activated users can see links. Click Here To Register...]
Mails versenden: [Only registered and activated users can see links. Click Here To Register...]
01/06/2017 18:32 Icetea#3
Keine Ahnung ob's funktioniert. Habe nichts getestet und mir auch deinen Code nicht komplett angeschaut. Nur die Namen der Inputs stimmen jedenfalls überein. ;)

#Edit: Du solltest dann auch noch abfragen ob die Felder auch ausgefüllt worden sind, so dass kein Unsinn gemacht wird.

PHP Code:
<?php
    $time 
date("d.m.Y H:i:s");
    
$file $time.$_POST['Name'].$_POST['Vorname'];
    
$recipient "Empfänger Adresse";
    
$title "Plaplaplaplapla";
    
$from "Plaplaplaplapla Mail System";
    
$text "$content";
        
    
$content $_POST['Name']."\r\n".$_POST['Vorname']."\r\n".$_POST['Adresse']."\r\n".$_POST['PLZ']."\r\n".$_POST['Stadt']."\r\n".$_POST['Email']."\r\n".$_POST['Telefon']."\r\n".$_POST['Handy']."\r\n".$_POST['MarkeModell']."\r\n".$_POST['kmStand']."\r\n".$_POST['Erstzulassung']."\r\n".$_POST['Fahrgestellnummer']."\r\n".$_POST['Motorart']."\r\n".$_POST['Preisv']."\r\n"
    
$handler fOpen($file 'a+');
    
fWrite($handler $content);
    
fClose($handler);
    
    
mail($recipient$title$text$from); 
?>
01/06/2017 18:39 False#4
Quote:
Originally Posted by Icetea' View Post
Keine Ahnung ob's funktioniert. Habe nichts getestet und mir auch deinen Code nicht komplett angeschaut. Nur die Namen der Inputs stimmen jedenfalls überein. ;)

#Edit: Du solltest dann auch noch abfragen ob die Felder auch ausgefüllt worden sind, so dass kein Unsinn gemacht wird.

PHP Code:
<?php
    $time 
date("d.m.Y H:i:s");
    
$file $time.$_POST['Name'].$_POST['Vorname'];
    
$recipient "Empfänger Adresse";
    
$title "Plaplaplaplapla";
    
$from "Plaplaplaplapla Mail System";
    
$text "$content";
        
    
$content $_POST['Name']."\r\n".$_POST['Vorname']."\r\n".$_POST['Adresse']."\r\n".$_POST['PLZ']."\r\n".$_POST['Stadt']."\r\n".$_POST['Email']."\r\n".$_POST['Telefon']."\r\n".$_POST['Handy']."\r\n".$_POST['MarkeModell']."\r\n".$_POST['kmStand']."\r\n".$_POST['Erstzulassung']."\r\n".$_POST['Fahrgestellnummer']."\r\n".$_POST['Motorart']."\r\n".$_POST['Preisv']."\r\n"
    
$handler fOpen($file 'a+');
    
fWrite($handler $content);
    
fClose($handler);
    
    
mail($recipient$title$text$from); 
?>
Habe zwar noch nie eine Email (mit Anhang) mit purem PHP verschickt, bin mir jedoch relativ sicher das deine Lösung nicht so richtig sein kann.
Das erste was mir auffällt ist das bei '$text = "$content";' $content noch gar nicht definiert ist.
Zum verschicken von Email + Anhang müssen doch Headerdaten genutzt werden oder nicht ? (z.b. wie hier [Only registered and activated users can see links. Click Here To Register...])
01/07/2017 03:36 GurkenÜberAlles#5
@TE Wenn du möchtest schreib mir deinen Skype Namen hier, dann schreibe ich dir das morgen schnell runter.
01/08/2017 05:08 Icetea#6
Hier hast du schonmal einen auf die schnelle überarbeiteten validen HTML Code. Den CSS-Part habe ich in eine externe Datei gepackt. Dazu legst du einfach im gleichen Verzeichnis den Ordner css an und erstellst darin die Datei mit dem Namen main & füllst diese dann auch mit dem Inhalt den ich dir unten poste. :)


Den PHP-Mail-Part würde ich dir auch noch komplett fertig machen, aber ich geh' jetzt mal schlafen. ;) Im Webverzeichnis musst du Rechte zum Lesen & Schreiben zur Verfügung stellen, damit die Dateien erstellt werden können.

#edit: Habe noch ein paar Dinge am HTML & CSS Part abgeändert.

Liebe Grüße,
Icetea'