PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : simples Weiterempfehlenscript


Pr1me
07.04.2009, 09:45
Achtung es ist nur auf die schnelle und absolut ungesichert nur zum testen!

Also ich würde gerne Besuchern einer Seite die Möglichkeit geben Verwandten/Bekannten eine Email mit der URL der Seite sowie eine Nachricht etc zukomen zulassen.

Hierzu sollen Name/Vorname/Empfehler-Email und Empfänger-Email/ mit Betreff sowie eine Nachricht angegeben werden.

Dachte eigentlich währe dies nicht so dramatisch nur aus irgendeinem Grund will das Script nicht die Email versenden.

Ist mein erstes dieser Art und bin mit der Mail-Funktion noch nicht so gut vertraut, aber ich denke evtl gibt es hier den einen oder anderen der sich besser damit auskennt.

Ich werde das komplette Script später komplett absichern, und erweitern, sprich das es, möglich ist Anhänge mithochzuladen (Ajax) und komplette Bewerbungsformulare auszufüllen und zu versenden da es in diese Richtung (u.a.) gehen soll und selbstverständlich auch hier zur verfügung stellen, denke mal irgendwer wird sowas mal brauchen (ausser mir) :D

so nun erstmal das Formular zur Eingabe der Daten:

formular.html:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<form action="emphfehlen_senden.php" method="post">
<table>
<tr>
<td>Vorname:</td>
<td><input type="text" name="vorname"></td>
</tr>
<tr>
<td>Name:</td>
<td><input type="text" name="name"></td>
</tr>
<tr>
<td>Betreff:</td>
<td><input type="text" name="betreff"></td>
</tr>
<tr>
<td>Absender-E-Mail:</td>
<td><input type="text" name="email"></td>
</tr>
<tr>
<td>Empfänger-E-Mail:</td>
<td><input type="text" name="empf_email"></td>
</tr>
<tr>
<td>Nachricht:</td>
<td><input type="text" name="text1"></td>
</tr>
<td><input type="submit" name="senden" value=">Email abschicken!<"></td>
</form>
<td></td>
<td>
</td>
</tr>
</table>

</body>
</html>

sowie das Script zum Versandt formular_senden.php:


<?php
$name = "$name";

$vorname = "$vorname";

$betreff = "$betreff";

$an = "$empf_email";

$von = "$email";

$date = date("d.m.Y");

$home = "url zum empfehlen hier rein";

$inhalt = "Du hast eine Empfehlung der Seite: $home\n von $vorname $nachname erhalten.\n Die Email des Absenders lautet: $email\nDie eingegebene Nachricht lautet: $nachricht\n";

@mail ($an,$betreff,$inhalt,"von: ".$von);
echo "Email wurde erfolgreich versandt!";
?>
Wie gesagt es ist noch sehr Basic und wird sich noch komplett ändern, es geht mir erstmal nur um das Verständniss bei der Auswertung von Formulardaten in Kombination mit einer Email die vom Server versandt werden soll, Sicherheit und Design lass ich zunächst der Übersicht wegen aussen vor :)

gotthummer
07.04.2009, 10:44
bau dir doch die email php aus der nv source um die ist ganz gut für dein vorhaben

Solstice
07.04.2009, 13:23
is besser da das script so oben nicht funkitoniert.

du musst die POST sachen schon ordentlich übernehmen...
die stehn net einfach so in variablen drin XD

man nimmt die so:
$_POST["*Feldname*"]

Pr1me
07.04.2009, 18:13
hmm bin nun hier angelangt:

mangels absicherung erstmal rausgenommen, es wird gepostet wenns soweit ist :D

und würde gerne das sich das formular verschickt ohne zusätzliche Verarbeitungsdatei.
Evtl kann mal jemand drüber schauen was da nicht stimmt mit, soweit ich mich eingelesen habe sollte es aber mit isset gehn nur irgendwas hab ich wohl übersehen.

mfg

gotthummer
10.04.2009, 11:51
die variablen solltest du absichern usw udn warum arbeitest du hier
if (!preg_match("/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/", $email)) {
echo '<h4>Bitte geben sie eine Empfänger-Emailadresse an</h4>';


mit preg_match udn machst es nicht einfach wie zb beim namen ? wenn ich heute abend noch zeit habe kann ich dir das mal überarbeiten und fertig machen das was verschickt wird wenn du willst

Pr1me
10.04.2009, 12:03
so habs nun raus, war einfach nur ein = zu wenig *g so ich mach mich mal bei absichern zu lernen etc.

P4N1C
12.04.2009, 14:19
Hab mir nicht den kompletten Code angesehen,
wird das Formular auf der gleichen Seite angezeigt oder im Popup?

MfG P4N1C

Pr1me
14.04.2009, 21:01
der code oben ist schon weit veraltet :)
Das Script sendet im selben Fenster etc, bin nun bei das mehrseitig auf einer seite zu machen mit attachment funktion und nem haufen schnickschnack (ajax-upload etc)
Wenns done is wirds hier gepostet.