App installieren
How to install the app on iOS
Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
PHP-Formulare auswerten bzw. an ne Mail-Addi schicken ?!
- Ersteller Desertdelphin
- Erstellt am
Desertdelphin
Grand Admiral Special
- Mitglied seit
- 23.10.2002
- Beiträge
- 4.395
- Renomée
- 185
Also hab jetzt ne php Seite gemacht mit meinen gewünschten Eingabefeldern etc...
sieht so aus (nur zum testen)
<?php
if(isset($abschicken)==0){
?>
<form name="test" action="test.php" method="get">
Größe: <select name=größe>
<option value=1 selected>M</option>
<option value=2>L</option>
<option value=3>XL</option>
<option value=4>XXL</option>
</select>
<br>
<br>
Farbe: <select name=farbe>
<option value=1 selected>weiß</option>
<option value=2>gelb</option>
</select>
<br>
<br>
T-Shirt Text: <textarea name=shirt-text rows=3>Tragen sie hier ihren Text ein</textarea><br><br><br><br>
Vorname: <input type=text name=vorname><br><br>
Straße & Hausnummer: <input type=text name=straße><br><br>
PLZ: <input type=text name=plz><br><br>
Ort: <input type=text name=ort><br><br>
<input type=submit name=abschicken>
</form>
<?php
} else {
echo "Danke für ihre Bestellung Herr $vorname $nachname ";
}
?>
Jetzt ist die frage: Wie kann ich die an meine mail-Adresse senden Ich hab bei google gesucht aber da gibts nur fertig-Scripts und Seiten bei denen ich was zahlen muss wenn ich die anleitung will :/
Danke schonmal ... ICh mach in der Zeit bissel am design weiter
sieht so aus (nur zum testen)
<?php
if(isset($abschicken)==0){
?>
<form name="test" action="test.php" method="get">
Größe: <select name=größe>
<option value=1 selected>M</option>
<option value=2>L</option>
<option value=3>XL</option>
<option value=4>XXL</option>
</select>
<br>
<br>
Farbe: <select name=farbe>
<option value=1 selected>weiß</option>
<option value=2>gelb</option>
</select>
<br>
<br>
T-Shirt Text: <textarea name=shirt-text rows=3>Tragen sie hier ihren Text ein</textarea><br><br><br><br>
Vorname: <input type=text name=vorname><br><br>
Straße & Hausnummer: <input type=text name=straße><br><br>
PLZ: <input type=text name=plz><br><br>
Ort: <input type=text name=ort><br><br>
<input type=submit name=abschicken>
</form>
<?php
} else {
echo "Danke für ihre Bestellung Herr $vorname $nachname ";
}
?>
Jetzt ist die frage: Wie kann ich die an meine mail-Adresse senden Ich hab bei google gesucht aber da gibts nur fertig-Scripts und Seiten bei denen ich was zahlen muss wenn ich die anleitung will :/
Danke schonmal ... ICh mach in der Zeit bissel am design weiter
Also du kannst ja in deiner test.php per $_GET["namedeinesformularelements"] die Daten auslesen und in eigene Variablen speichern.
Später kannst du dann mit der mail() - Funktion das Ganze als eMail versenden
Später kannst du dann mit der mail() - Funktion das Ganze als eMail versenden
Desertdelphin
Grand Admiral Special
- Mitglied seit
- 23.10.2002
- Beiträge
- 4.395
- Renomée
- 185
cool danke jetzt hab ich die ansätze nach denen ich suchen muss
Daumen hoch !
Daumen hoch !
Desertdelphin
Grand Admiral Special
- Mitglied seit
- 23.10.2002
- Beiträge
- 4.395
- Renomée
- 185
so hab mal bissel gesucht (hatte letzten wochen keine zeit) und das ist bei rausgekommen (ganz unten der mail anhang bzw das was es machen SOLLTE das es mir die farben an meine mail sendet)
Leider sagt es das da ein fehler ist... Kann mir wer auf die sprünge helfen?
Weil da unten der teil der macht ja, wenn alles ausgefüllt ist, das es dann sagt "danke für ihre bestelltung herr "variable name" "variable nachname". Also hab ich da auch den Mail anhang reingesetzt das es neben dem dankeschön auchnoch das ganze als mail sendet. nur irgendwas ist da falsch?!?
<?php
if(isset($abschicken)==0){
?>
<form name="test" action="test.php" method="get">
Größe: <select name=größe>
<option value=1 selected>M</option>
<option value=2>L</option>
<option value=3>XL</option>
<option value=4>XXL</option>
</select>
<br>
<br>
Farbe: <select name=farbe>
<option value=1 selected>weiß</option>
<option value=2>gelb</option>
</select>
<br>
<br>
T-Shirt Text: <textarea name=shirt-text rows=3>Tragen sie hier ihren Text ein</textarea><br><br><br><br>
Vorname: <input type=text name=vorname><br><br>
Straße & Hausnummer: <input type=text name=straße><br><br>
PLZ: <input type=text name=plz><br><br>
Ort: <input type=text name=ort><br><br>
<input type=submit name=abschicken>
</form>
<?php
} else {
echo "Danke für ihre Bestellung Herr $nachname $vorname";
mail("Christoph_hotmail@yahoo.de", "farbe", $_POST['farbe'], "Christoph_hotmail@yahoo.de");
}
?>
Leider sagt es das da ein fehler ist... Kann mir wer auf die sprünge helfen?
Weil da unten der teil der macht ja, wenn alles ausgefüllt ist, das es dann sagt "danke für ihre bestelltung herr "variable name" "variable nachname". Also hab ich da auch den Mail anhang reingesetzt das es neben dem dankeschön auchnoch das ganze als mail sendet. nur irgendwas ist da falsch?!?
<?php
if(isset($abschicken)==0){
?>
<form name="test" action="test.php" method="get">
Größe: <select name=größe>
<option value=1 selected>M</option>
<option value=2>L</option>
<option value=3>XL</option>
<option value=4>XXL</option>
</select>
<br>
<br>
Farbe: <select name=farbe>
<option value=1 selected>weiß</option>
<option value=2>gelb</option>
</select>
<br>
<br>
T-Shirt Text: <textarea name=shirt-text rows=3>Tragen sie hier ihren Text ein</textarea><br><br><br><br>
Vorname: <input type=text name=vorname><br><br>
Straße & Hausnummer: <input type=text name=straße><br><br>
PLZ: <input type=text name=plz><br><br>
Ort: <input type=text name=ort><br><br>
<input type=submit name=abschicken>
</form>
<?php
} else {
echo "Danke für ihre Bestellung Herr $nachname $vorname";
mail("Christoph_hotmail@yahoo.de", "farbe", $_POST['farbe'], "Christoph_hotmail@yahoo.de");
}
?>
Hmm is vielleicht nicht 100% richtig, müsste so aber gehen.
Vielleicht hab ich was vergessen, aber das mit der Nachricht, das das erfolgreih entgegengenommen ist, geht so auf jedenfall
Vielleicht hab ich was vergessen, aber das mit der Nachricht, das das erfolgreih entgegengenommen ist, geht so auf jedenfall
PHP:
<?php
$ip = getenv('REMOTE_ADDR');
$datum = date('d-m-Y');
$zeit = date('H:i:s');
if ($sent==1)
{
$t1=chr(10);
$nachricht=str_replace($t1,'<br>',$nachricht);
echo "Ihr Vorname ist <br>$vorname <br>";
echo "Ihr Nachname ist <br>$nachname <br>";
echo "Ihre E-Mail-Adresse ist <br>$email <br>";
echo "Ihre Nachricht ist <br>$nachricht <p>";
if (!$vorname) {echo '<font color=red><b>Bitte geben Sie Ihren Vornamen ein</b></font> <br>';unset($sent);}
if (!$nachname) {echo '<font color=red><b>Bitte geben Sie Ihren Nachnamen ein</b></font> <br>';unset($sent);}
if (!$plz) {echo '<font color=red><b>Bitte geben Sie Ihre PLZ an</b></font> <br>';unset($sent);}
if (!$ort) {echo '<font color=red><b>Bitte geben Sie Ihren Wohnort an</b></font> <br>';unset($sent);}
if (!$text) {echo '<font color=red><b>Bitte geben Sie einen T-Shirt text ein</b></font> <p>';unset($sent);}
if($vorname AND $nachname AND $nachname AND $plz AND $ort AND $text)
{
$message="<html><body>";
$message.="<p>Vorname: ";
$message.=$vorname;
$message.="<br>Nachname: ";
$message.=$nachname;
$message.="<br>PLZ: ";
$message.=$plz;
$message.="<br>Ort: ";
$message.=$ort;
$message.="<br>T-Shirt text";
$message.="$text";
$message.="<br><br>Bestellung vom $datum um $zeit:<br><br>";
$message.="IP-Adresse von $vorname $nachname: $ip";
$message.="</p></body></html>";
$header = "T-Shirt bestellung";
$header .= "Content-Type: text/html\n";
if(mail("Christoph_hotmail@yahoo.de","Farbe:",$_POST['farbe'],"Christoph_hotmail@yahoo.de"))
{
echo "<br><b>Vielen Dank, Ihre Bestellung wird in Kürze bearbeitet.</b>";
echo "<br>Ihre Informationen wurden übermittelt";
echo "<br><br><a href=\"$startseite\">Zurück zur Startseite</a>";
}
else
{
echo "<br>Die Informationsübermittelung ist fehlgeschlagen, bitte versuchen Sie es Später noch einmal.";
echo "<br><br><a href=\"$startseite\">Zurück zur Startseite</a>";
unset($sent);
}
}
}
if(!$sent)
{
?>
<form action="test.php" method=post>
<input type=hidden name=sent value=1>
Vorname <br><input type=Text name="vorname" value"<?php echo $vorname; ?>" size="20" maxlength="20"><br>
Nachname <br><input type=Text name="nachname" value"<?php echo $nachname; ?>" size="20" maxlength="20"><p>
PLZ <br><input type=Text name="email" value"<?php echo $plz; ?>" size="7" maxlength="5"><p>
Ort <br><input type=Text name="email" value"<?php echo $ort; ?>" size="30" maxlength="30"><p>
T-Shirt Text <br><textarea name='nachricht' rows='5' cols='15' wrap="virtual">
<?php $nachricht=str_replace('<br>',$t1,$nachricht); echo $nachricht; ?>
</textarea><p>
<form name="test" action="test.php" method="get">
Größe: <select name=größe>
<option value=1 selected>M</option>
<option value=2>L</option>
<option value=3>XL</option>
<option value=4>XXL</option>
</select>
<br>
<br>
Farbe: <select name=farbe>
<option value=1 selected>weiß</option>
<option value=2>gelb</option>
</select>
<input type=submit name="submit" value="Abschicken">
</form>
Desertdelphin
Grand Admiral Special
- Mitglied seit
- 23.10.2002
- Beiträge
- 4.395
- Renomée
- 185
Cool danke ich probiers gleich aus wenn ich wieder von der arbeit komme !!!
Ciao
Haltet euch für neue Fragen bereit denn ich bin recht lahm im kapieren *G*
Ciao
Haltet euch für neue Fragen bereit denn ich bin recht lahm im kapieren *G*
Desertdelphin
Grand Admiral Special
- Mitglied seit
- 23.10.2002
- Beiträge
- 4.395
- Renomée
- 185
Der sagt mir das in Zeile 104 (die letzte Zeile in der nur </form> steht) ein Fehler wäre...
Soll ich den ganzen Code den du mir gemacht hast (nochmal viiieeeelen dank!!! auch von den mädels meiner klasse) kopieren oder nur den oberen teil
Will erstmal ne T-Shirtseite machen für den Jahrgang auf Wunsch der Mädchen bei der sich jeder seine größe etc eintragen soll.. Wenns läuft mach ich noch mehr.
Leider ist das z.Z. der Haken an der ganzen Sache :/
Soll ich den ganzen Code den du mir gemacht hast (nochmal viiieeeelen dank!!! auch von den mädels meiner klasse) kopieren oder nur den oberen teil
Will erstmal ne T-Shirtseite machen für den Jahrgang auf Wunsch der Mädchen bei der sich jeder seine größe etc eintragen soll.. Wenns läuft mach ich noch mehr.
Leider ist das z.Z. der Haken an der ganzen Sache :/
- Mitglied seit
- 16.10.2000
- Beiträge
- 24.371
- Renomée
- 9.696
- Standort
- East Fishkill, Minga, Xanten
- Aktuelle Projekte
- Je nach Gusto
- Meine Systeme
- Ryzen 9 5900X, Ryzen 7 3700X
- BOINC-Statistiken
- Folding@Home-Statistiken
- Mein Laptop
- Samsung P35 (16 Jahre alt ;) )
- Prozessor
- AMD Ryzen 9 5900X
- Mainboard
- ASRock B550
- Speicher
- 2x 16 GB DDR4 3200
- Grafikprozessor
- GeForce GTX 1650
- Display
- 27 Zoll Acer + 24 Zoll DELL
- SSD
- Samsung 980 Pro 256 GB
- HDD
- diverse
- Soundkarte
- Onboard
- Gehäuse
- Fractal Design R5
- Netzteil
- be quiet! Straight Power 10 CM 500W
- Tastatur
- Logitech Cordless Desktop
- Maus
- Logitech G502
- Betriebssystem
- Windows 10
- Webbrowser
- Firefox, Vivaldi
- Internetanbindung
- ▼250 MBit ▲40 MBit
Musst du nur noch die Formularfelder anpassen:
PHP:
<?php # Adresse, an die die Formulardaten gesendet werden sollen: $mailto = "XXXX@xxxxx.de"; ?>
<?php
if (isset($_POST["form_submitted"]))
{
// übergebene Variablen ermitteln:
$name = $_POST['name'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$text = $_POST['text'];
// Überprüfungen der Daten:
unset($errors);
if ($email != "" and !preg_match("/^[^@]+@.+\.\D{2,5}$/", $email)) $errors[] = "die E-Mail-Adresse sieht nicht richtig aus";
if ($text == "") $errors[] = "es wurde kein Text eingegeben";
if (empty($errors))
{
if ($name != "") $mail_name=$name; else $mail_name="unbekannt";
if ($subject != "") $mail_subject = $subject; else $mail_subject = "kein Betreff";
if ($email != "") $mail_email = $email; else $mail_email = "email@unknown.xyz";
$ip = $_SERVER["REMOTE_ADDR"];
$text = stripslashes($text);
$header= "From: ".$mail_name." <".$mail_email.">\n";
$header .= "Reply-To: ".$mail_name." <".$mail_email.">\n";
$header .= "X-Mailer: PHP/" . phpversion(). "\n";
$header .= "X-Sender-IP: $ip\n";
$header .= "Content-Type: text/plain";
if (@mail($mailto, $mail_subject, $text, $header)) { $sent = true; } else { $errors[] = "keine Verbindung zum Mailserver - bitte nochmal versuchen"; }
// Kopie an Absender:
if (isset($sent) && isset($email) && $email != "" && isset($_POST['copy']))
{
$header= "From: ".$mailto."\n";
$header .= "X-Mailer: PHP/" . phpversion(). "\n";
$header .= "X-Sender-IP: $ip\n";
$header .= "Content-Type: text/plain";
@mail($email, $mail_subject, "Kopie der versendeten E-Mail:\n\n".$text, $header);
}
}
}
if (empty($sent))
{
if(isset($errors))
{
?><p class="caution">Fehler:</p><ul><?php foreach($errors as $f) { ?><li><?php echo $f; ?></li><?php } ?></ul><br /><?php
}
?><form method="post" action="<?php echo basename($_SERVER["PHP_SELF"]); ?>"><div>
<p><b>Name:</b><br /><input class="fs" type="text" name="name" value="<?php if (isset($name)) echo htmlentities(stripslashes($name)); else echo ""; ?>" size="35" /></p>
<p><b>E-Mail:</b><br /><input class="fs" type="text" name="email" value="<?php if (isset($email)) echo htmlentities(stripslashes($email)); else echo ""; ?>" size="35" /></p>
<p><b>Betreff:</b><br /><input class="fs" type="text" name="subject" value="<?php if (isset($subject)) echo htmlentities(stripslashes($subject)); else echo ""; ?>" size="35" /></p>
<b>Nachricht:</b><br /><textarea class="fs" name="text" cols="30" rows="12"><?php if (isset($text)) echo htmlentities(stripslashes($text)); else echo ""; ?></textarea><br />
<p><input type="submit" name="form_submitted" value="OK - Absenden" /> <input type="checkbox" name="copy" value="true" /> Kopie an Absender</p>
</div></form><?php
}
else
{
if (empty($email)) { ?><p><b>Danke!</b><br />Nachricht erfolgreich versendet. Allerdings wurde keine E-Mail-Adresse angegeben, ich kann also nicht antworten.</p><?php }
else { ?><p><b>Danke!</b><br />Nachricht erfolgreich versendet.</p><?php }
}?>
Desertdelphin
Grand Admiral Special
- Mitglied seit
- 23.10.2002
- Beiträge
- 4.395
- Renomée
- 185
Danke !!!
Ich hab mich auf die Aufgabe der Page "gestürtzt" weil ich dachte "ne internet seite machen ist kein problem und php... naja soviel wird das nicht sein" *G*
Naja ... Wohl überschätzt
So hab den Text nun genommen wie er ist, hab die Mail Adresse ganz oben eingefügt (muss ich die erklärung mit dem # wegmachen) und auf den server geladen und wenn ich was schreibe dann sagt er auch "erfolgreich verschickt"
Nur irgendwie kommt bei mir nix an... Kann das daran liegen das der Server von mir das nicht mitmacht oder muss ich noch was spezielles ändern? Will erstmal nur sehen das was an meine addi ankommt dann passe ich die formulare etc an...
Ich weiß ich nerve euch bestimmt aber ich verzweifel noch daran *G*
Was nützt mir ne designte seite wenn sie dann doch nix bringt ?! Ich war etwas voreilig...
Achja unter Bulk is auchnix angekommen ...
Irgendwas mach ich falsch *Grummel*
Ich hab mich auf die Aufgabe der Page "gestürtzt" weil ich dachte "ne internet seite machen ist kein problem und php... naja soviel wird das nicht sein" *G*
Naja ... Wohl überschätzt
So hab den Text nun genommen wie er ist, hab die Mail Adresse ganz oben eingefügt (muss ich die erklärung mit dem # wegmachen) und auf den server geladen und wenn ich was schreibe dann sagt er auch "erfolgreich verschickt"
Nur irgendwie kommt bei mir nix an... Kann das daran liegen das der Server von mir das nicht mitmacht oder muss ich noch was spezielles ändern? Will erstmal nur sehen das was an meine addi ankommt dann passe ich die formulare etc an...
Ich weiß ich nerve euch bestimmt aber ich verzweifel noch daran *G*
Was nützt mir ne designte seite wenn sie dann doch nix bringt ?! Ich war etwas voreilig...
Achja unter Bulk is auchnix angekommen ...
Irgendwas mach ich falsch *Grummel*
Desertdelphin
Grand Admiral Special
- Mitglied seit
- 23.10.2002
- Beiträge
- 4.395
- Renomée
- 185
bütte nurnoch einmal helfe *trauriger hundeblick*
Bei so Kontaktformularen sollte man besonders gründlich programmieren, da sonst das Formular von Spammern missbraucht werden könnte.
Deshalb würd ich folgenden Aufbau vorschlagen:
Du hast drei Dateien. In der ersten ist nur das Formular, das die Daten an die zweite Datei schickt. Die wertet die Daten aus (überprüft ob alle Pflichtfelder ausgefüllt wurden etc.) und leitet den User im Fehlerfall zurück zum Formular. Falls aber alles korrekt ausgefüllt war wird die Mail mit dem phpMailer verschickt. Aus Sicherheitsgründen die mail()-Funktion von PHP bitte nicht direkt verwenden! Vorteil dieser Variante: Einfach zu programmieren, aber trotzdem sicher und leicht erweiterbar. Außerdem kann der User nicht durch einen Reload der Seite die E-Mail nochmal verschicken.
Nun zur Praxis:
Die Datei mit dem Formular (in meinem Fall index.php):
Die Datei die die Daten verarbeitet (process.php)
Die Erfolgsseite muss nur noch eine Bestätigung enthalten (success.php):
Das ganze kann natürlich noch beliebig erweitert werden, z.B. durch einen Spamschutz.
Falls du noch Fragen hast kannst du dich gerne nochmal bei mir melden.
Gruß,
Max
Deshalb würd ich folgenden Aufbau vorschlagen:
Du hast drei Dateien. In der ersten ist nur das Formular, das die Daten an die zweite Datei schickt. Die wertet die Daten aus (überprüft ob alle Pflichtfelder ausgefüllt wurden etc.) und leitet den User im Fehlerfall zurück zum Formular. Falls aber alles korrekt ausgefüllt war wird die Mail mit dem phpMailer verschickt. Aus Sicherheitsgründen die mail()-Funktion von PHP bitte nicht direkt verwenden! Vorteil dieser Variante: Einfach zu programmieren, aber trotzdem sicher und leicht erweiterbar. Außerdem kann der User nicht durch einen Reload der Seite die E-Mail nochmal verschicken.
Nun zur Praxis:
Die Datei mit dem Formular (in meinem Fall index.php):
PHP:
<?php
# Ueberpruefen ob Daten uebergeben wurden
if( isset( $_GET['data'] ) && !empty( $_GET['data'] ) )
{
# Die angehaenten Daten werden erstmal von PHP bzw HTML-Code und unnoetigen Leerzeichen befreit
# Dann wird der String dekodiert und wieder zu einem Array umgewandelt
$data = unserialize( base64_decode( trim( strip_tags( $_GET['data'] ) ) ) );
}
# Ueberpruefen ob eine Fehlermeldung uebergeben wurde
if( isset( $_GET['error'] ) && !empty( $_GET['error'] ) )
{
# Die angehaenten Daten werden erstmal von PHP bzw HTML-Code und unnoetigen Leerzeichen befreit und anschliessend dekodiert
$error = base64_decode( trim( strip_tags( $_GET['error'] ) ) );
}
?>
<form action="process.php" method="post">
<?php
# Falls vorhanden Fehlermeldung ausgeben
if( isset( $error ) && !empty( $error ) )
{
echo '<p class="error">' . $error . '</div>';
}
?>
<fieldset>
<label for="vorname">Vorname: *</label>
<input type="text" name="input[vorname]" id="vorname" value="<?php echo @$data['vorname']; ?>" />
<br />
<label for="name">Name: *</label>
<input type="text" name="input[name]" id="name" value="<?php echo @$data['name']; ?>" />
<br />
<label for="email">E-Mail: *</label>
<input type="text" name="input[email]" id="email" value="<?php echo @$data['email']; ?>" />
<br />
<label for="anliegen">Ihr Anliegen: *</label>
<textarea name="input[anliegen]" id="anliegen" rows="10" cols="20"><?php echo @$data['anliegen']; ?></textarea>
</fieldset>
<button type="submit">Absenden</button>
</form>
Die Datei die die Daten verarbeitet (process.php)
PHP:
<?php
# Konfiguration Start
define( C_TOMAIL, 'mail@example.com' ); # Empfaenger-Adresse
define( C_SUBJECT, 'Kontaktformular von example.com' ); # Betreffzeile der E-Mail
# Konfiguration Ende
# Ueberpruefen ob Daten vorliegen
if( isset( $_POST['input'] ) && is_array( $_POST['input'] ) )
{
# Eingehende Daten bereinigen
$clean = array();
$clean['vorname'] = trim( strip_tags( $_POST['input']['vorname'] ) );
$clean['name'] = trim( strip_tags( $_POST['input']['name'] ) );
$clean['email'] = trim( strip_tags( $_POST['input']['email'] ) );
$clean['anliegen'] = trim( strip_tags( $_POST['input']['anliegen'] ) );
# Array fuer Fehlermeldungen definieren
$error = array();
# Fehlerueberpruefung
if( empty( $clean['vorname'] ) )
{
$error[] = 'Bitte geben Sie Ihren Vornamen ein.';
}
if( empty( $clean['name'] ) )
{
$error[] = 'Bitte geben Sie Ihren Nachnamen ein.';
}
if( empty( $clean['email'] ) )
{
$error[] = 'Bitte geben Sie Ihre E-Mail-Adresse ein.';
}
elseif( !eregi( "^[a-z0-9\._-]+@+[a-z0-9\._-]+\.+[a-z]{2,4}$", $clean['email'] ) )
{
$error[] = 'Ihre E-Mail-Adresse ist ungültig.';
}
if( empty( $clean['anliegen'] ) )
{
$error[] = 'Bitte geben Sie Ihr Anliegen ein.';
}
# Ueberpruefen ob Fehler vorlagen (-> Das Array hat mehr als 0 Eintraege)
if( count( $error ) > 0 )
{
# Das Error-Array umformen, damit es direkt ausgegeben werden kann
$error_msg = implode( "<br />", $error );
# Bereits eingegebene Daten zu einem String konvertieren, damit sie an die URL angehängt werden können
$data = serialize( $clean );
# Redirect-URL zusammenbauen
# Die Parameter werden base64 encoded, damit der User nicht sofort sieht was hier übergeben wird
$redirect_url = 'http://' . $_SERVER['SERVER_NAME'] . '/kontakt/index.php?data=' . base64_encode( $data ) . '&error=' . base64_encode( $error_msg );
# Zurueck zum Formular leiten
header( "Location: " . $redirect_url );
# Sicherheitshalber das Skript abbrechen, falls die Weiterleitung nicht korrekt ausgefuehrt wird
exit;
}
# Es sind keine Fehler aufgetreten, deshalb wird die E-Mail jetzt verschickt
else
{
# E-Mail zusammenbauen
$mailtext = "Anfrage von: ". $clean['vorname'] . " " . $clean['name'] . "\nE-Mail: " . $clean['email'] . "\n\nAnfrage:\n\n" . $clean['anliegen'];
# phpMailer einbinden
require( $_SERVER['DOCUMENT_ROOT'] . '/php/class.phpmailer.php' );
# Neues phpMailer-Objekt erstellen
$mail = new PHPMailer();
# Absender-Adresse festlegen
$mail->From = $clean['email'];
# Absender-Name festlegen
$mail->FromName = $clean['vorname'] . ' ' . $clean['name'];
# Empfaenger-Adresse festlegen
$mail->AddAddress( C_TOMAIL );
# Betreffszeile festlegen
$mail->Subject = C_SUBJECT;
# Mailtext festlegen
$mail->Body = $mailtext;
# Zeichensatz festlegen
# Falls Umlaute nicht richtig dargestellt werden muss hier eventl. 'iso-8859-1' eingetragen werden
$mail->CharSet = "utf-8";
# Falls der Mailversand nicht geklappt hat wieder zurueck zum Formular leiten
if( !$mail->Send() )
{
$error_msg = "Es ist ein unbekannter Fehler aufgetreten.";
$data = serialize( $clean );
$redirect_url = 'http://' . $_SERVER['SERVER_NAME'] . '/kontakt/index.php?data=' . base64_encode( $data ) . '&error=' . base64_encode( $error_msg );
header( "Location: " . $redirect_url );
exit;
}
# Ansonsten muss zur Erfolgsseite weitergeleitet werden
else
{
header( "Location: http://" . $_SERVER['SERVER_NAME'] . "/kontakt/success.php" );
exit;
}
}
}
else
{
# Zum Formular weiterleiten, da es nichts zu tun gibt
header( "Location: http://" . $_SERVER['SERVER_NAME'] . "/kontakt/index.php" );
exit;
}
?>
Die Erfolgsseite muss nur noch eine Bestätigung enthalten (success.php):
PHP:
<p>
Vielen Dank!<br />
Wir haben Ihre E-Mail erhalten und werden sie umgehend bearbeiten!
</p>
Das ganze kann natürlich noch beliebig erweitert werden, z.B. durch einen Spamschutz.
Falls du noch Fragen hast kannst du dich gerne nochmal bei mir melden.
Gruß,
Max
Bitspyer
Admiral Special
- Mitglied seit
- 12.10.2002
- Beiträge
- 1.010
- Renomée
- 43
- Standort
- Mainz
- Mein Laptop
- Wintermute
- Prozessor
- Intel i5-6500
- Mainboard
- Asrock H170 Pro4s
- Kühlung
- Boxed
- Speicher
- 2x8 GB Kingston
- Grafikprozessor
- GeForce 960GTX
- Display
- LG 22
- SSD
- Samsung 840, Crucial MX100
- HDD
- 1x WD EARX 2TB
- Optisches Laufwerk
- Nec 3500 DVDR/RW, Toshiba DVD-ROM
- Soundkarte
- X-FI Music
- Gehäuse
- Bitfenix Shinobi 3.0
- Netzteil
- BeQuiet 500W
- Betriebssystem
- Gentoo , Windows 7
- Webbrowser
- Firefox
Oder ganz ohne PHP als Form action ein mailto ?
Damit sperrst du viele Benutzer aus, weil nicht jeder ein E-Mail-Programm auf seinem Rechner eingerichtet hat. Außerdem werden die Formulardaten nicht bei jedem Browser auch übergeben. Und mehr als zwei Felder (Betreff und Mailtext) kannst du auch nicht nutzen.Oder ganz ohne PHP als Form action ein mailto ?
Gruß,
Max
Ähnliche Themen
- Antworten
- 3
- Aufrufe
- 7K
- Antworten
- 3
- Aufrufe
- 2K