Willkommen | | | myGully | | | Links | | | Forum | | | | |  |
21.07.10, 19:49
|
#1 (permalink)
| | Anfänger
Registriert seit: Aug 2009
Beiträge: 17
Thanks: 0
Thanked 0 Times in 0 Posts
| E-Mail sende funktion per Button klick
Hi,
ich habe ein Kontaktformular es muss nur noch eine Sende funktion mit php eingebaut werden irgendwie.
Das ist der ist der Absende button. Code: <input id="saveForm" class="button_text" type="Submit" name="Submit" value="Absenden" />
Hoffe ich könnt mir helfen 
Greez
|
| |
22.07.10, 12:51
|
#2 (permalink)
| | Anfänger
Registriert seit: Aug 2009
Beiträge: 17
Thanks: 0
Thanked 0 Times in 0 Posts
| push
Ja. Ich habe ein PHP fähigen Webspace
push
|
| |
22.07.10, 15:32
|
#3 (permalink)
| | Newbie
Registriert seit: Feb 2010
Beiträge: 58
Thanks: 1
Thanked 2 Times in 2 Posts
|
mit php bekommst du keine Sende Funktion hin, da PHP schon lange sein dienst beendet hast wenn du die Seite siehst.
Dein button ist so vollständig. Was aber sein muss, er muss in ein <form ...> .... </form> stehen. Dieses Form benötigt auch ein action was das Ziel angibt.
|
| |
22.07.10, 15:39
|
#4 (permalink)
| | Anfänger
Registriert seit: Jul 2009
Beiträge: 6
Thanks: 1
Thanked 0 Times in 0 Posts
|
such dir nen kostenlosen formmailer, ist meiner meinung nach die beste variante. direkt über z.B. onlex.de zu deiner email.
lg
|
| |
23.07.10, 02:42
|
#5 (permalink)
| | Anfänger
Registriert seit: Aug 2009
Beiträge: 17
Thanks: 0
Thanked 0 Times in 0 Posts
|
Habs ausprobiert ging aber nicht mit dem formmailer.
Weiß nicht ob es richtig war mit dem einbinden:
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
Kann mir ja mal bitte wer helfen der ein wenig mehr ahnung hat.
Danke |
| |
23.07.10, 07:03
|
#6 (permalink)
| | Anfänger
Registriert seit: Oct 2008
Beiträge: 2
Thanks: 5
Thanked 0 Times in 0 Posts
|
dein skript muss entweder sich selbst oder ein 2tes aufrufen. dann sollte das formular auf gueltigkeit geprueft wreden und dann via sendmail verschickt werden.
|
| |
23.07.10, 12:32
|
#7 (permalink)
| | Anfänger
Registriert seit: Aug 2009
Beiträge: 10
Thanks: 0
Thanked 0 Times in 0 Posts
|
Hallöchen,
so muss das denn ungefähr aussehen: PHP-Code:
<!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>Unbenanntes Dokument</title>
</head>
<body>
<form method="post" name="form1" action="<? $PHP_SELF;?>" >
Hier können Sie sich eine Email zuschicken:
<br /><br />
Email-Adresse:
<input type="text" name="email" id="email_adresse" value=""/>
<input id="saveForm" class="button_text" type="Submit" name="Submit" value="Absenden" />
<?php
function email ($w_empfaenger, $w_cc, $w_bcc, $w_absender, $w_reply, $w_betreff, $w_nachricht)
{
/* Empfänger */
$empfaenger = array($empfaenger);
/* Empfänger CC */
$empfaengerCC = array($w_cc);
/* Empfänger BCC */
$empfaengerBCC = array($w_bcc);
/* Absender */
$absender = $w_absender;
/* Rueckantwort */
$reply = $w_reply;
/* Betreff */
$subject = $w_betreff;
/* Nachricht */
$message = $w_nachricht;
/* Baut Header der Mail zusammen */
$headers .= 'From:' . $absender . "\n";
$headers .= 'Reply-To:' . $reply . "\n";
$headers .= 'X-Mailer: PHP/' . phpversion() . "\n";
$headers .= 'X-Sender-IP: ' . $REMOTE_ADDR . "\n";
$headers .= "Content-type: text/html\n";
// Extrahiere Emailadressen
$empfaengerString = implode(',', $empfaenger);
$empfaengerCCString = implode(',', $empfaengerCC);
$empfaengerBCCString = implode(',', $empfaengerBCC);
$headers .= 'Cc: ' . $empfaengerCCString . "\n";
$headers .= 'Bcc: ' . $empfaengerBCCString . "\n";
/* Verschicken der Mail */
mail($empfaengerString, $subject, $message, $headers);
}
/* Ueberpruefen ob der Button gedrueckt wurde und ob der String ein @-Symbol enthaelt */
if (isset($_POST['Submit']) && strstr($_POST['email'],'@'))
{
$mess = '<html>
<head>
</head>
<body>
Dringende Nachricht: Ich hab die ne Email geschickt *wuhu*
</body>
</html>';
email('[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]', '', '', 'Karl Karlsen', '[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]', 'Ich muss dir mal was sagen!', $mess)
}
?>
</form>
</body>
</html>
ansonsten guck doch mal auf [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] da stehen die wichtigsten Funktionen und Befehle unter "Befehlsreferenz"
__________________  Er schlägt seine Frau, er vergewaltigt seine Kinder - Es ist ALABAMA-MAN |
| |
23.07.10, 15:39
|
#8 (permalink)
| | Anfänger
Registriert seit: Aug 2009
Beiträge: 17
Thanks: 0
Thanked 0 Times in 0 Posts
| Zitat:
Zitat von Ray69 dein skript muss entweder sich selbst oder ein 2tes aufrufen. dann sollte das formular auf gueltigkeit geprueft wreden und dann via sendmail verschickt werden. | Ja. Nur wie das 2.te
Kannst du mir den Code von der send.php geben und den Code vom Submit button den ichd ann nur einbauen muss?
Oder hab ich das jetzt falsch verstanden?
Wäre nett und ist auch recht wichtig. Daher bedanke ich mich auch schonmal für die Antworten, freue mich natürlich auf weitere.
Greez |
| |
23.07.10, 21:45
|
#9 (permalink)
| | Anfänger
Registriert seit: Dec 2009 Ort: Deutschland
Beiträge: 8
Thanks: 0
Thanked 0 Times in 0 Posts
| Zitat:
Zitat von DJ-LaCo Ja. Nur wie das 2.te
Kannst du mir den Code von der send.php geben und den Code vom Submit button den ichd ann nur einbauen muss?
Oder hab ich das jetzt falsch verstanden?
Wäre nett und ist auch recht wichtig. Daher bedanke ich mich auch schonmal für die Antworten, freue mich natürlich auf weitere.
Greez  | So wie es Kotkruemel gemacht hat, brauchst du garkein 2tes Dokument...
Mit sendet er es an sich selber, dh. an das selbe Dokuement ... trotzdem würde ich denn php-Code noch ein bisschen aufbessern |
| |
23.07.10, 22:48
|
#10 (permalink)
| | Newbie
Registriert seit: Feb 2010
Beiträge: 58
Thanks: 1
Thanked 2 Times in 2 Posts
| Zitat:
Zitat von Sascha_K1994 So wie es Kotkruemel gemacht hat, brauchst du garkein 2tes Dokument...
Mit sendet er es an sich selber, dh. an das selbe Dokuement ... trotzdem würde ich denn php-Code noch ein bisschen aufbessern  | Kleine Klugscheißer anmerken am späten Abend:
Was aber auch nur Funktioniert weil action am ende leer ist  . Heißt du kannst auch Code: action="<?php echo $_SERVER["PHP_SELF"];?>"
einsetzten wenn man was eintragen will.
|
| |
24.07.10, 00:54
|
#11 (permalink)
| | Anfänger
Registriert seit: Dec 2009 Ort: Deutschland
Beiträge: 8
Thanks: 0
Thanked 0 Times in 0 Posts
| Zitat:
Zitat von Irolight Kleine Klugscheißer anmerken am späten Abend:
Was aber auch nur Funktioniert weil action am ende leer ist  . Heißt du kannst auch Code: action="<?php echo $_SERVER["PHP_SELF"];?>"
einsetzten wenn man was eintragen will. | Tzz zu viel Kluggeschissen
Ist ja egal, wie man es machen will, ich würde das Dokuent selbst anders machen, deshalb mal hier meine Version
Da ich nicht genau weiß welche Felder du brauchst und warum er das an den User senden soll, der sich einträgt ... egal, der Kunde ist König ...
Außerdem gehe ich mal von diesem Kontaktformular aus ::
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
So und hier meine Version, bei Fragen, ich beiße nicht :P:P
Ach ja und bedanken tut auch nicht weh PHP-Code: <?php
/* Prüfen ob das Formular abgesendet wurde */
if (isset($_POST['submit']) and $_POST['submit'] == 'Absenden') {
/* wenn das Formular abgesendet wurde, überprüfen, ob alle felder exestieren */
$errors = array();
if (!isset($_POST['Name'], $_POST['Mail'], $_POST['Betreff'], $_POST['Text'])) { $errors[] = "Das Formular wurde manipluiert, bitte wenden Sie sich an den Webmaster."; } else {
/* wenn alle Felder da sind, überprüfen, ob der User in dein formular kein kak reinschreibt */
if (trim($_POST['Name']) == '') $errors[] = "Bitte geben Sie einen gültigen Namen ein."; elseif (strlen(trim($_POST['Name'])) < 3) $errors[] = "Ihr Name muss mindestens 3 Zeichen lang sein."; elseif (trim($_POST['Mail']) == '') $errors[] = "Bitte geben Sie Ihre E-Mailadresse ein."; elseif (!preg_match('§^[\w\.-]+@[\w\.-]+\.[\w]{2,4}$§', trim($_POST['Mail']))) $errors[] = "Ihre E-Mailadresse hat eine falsche Syntax."; elseif (trim($_POST['Betreff']) == '') $errors[] = "Bitte geben Sie einen Betreff ein."; elseif (trim($_POST['Text']) == '') $errors[] = "Bitte geben Sie eine Nachricht ein.";
/* wenn irgendwo ein fehler gefunden wurde, wird dieser ausgegeben */
if (count($errors)) { echo "Das Formular konnte nicht abgesendet werden.<br><br>" . "<br>"; foreach ($errors as $error) echo $error . "<br>"; } else {
/* ansonsten das formular gesendet, natürlich mit htmlentities, stripcslashes, Uhrzeit &' Datum und der IP */
$empfaenger = htmlentities($_POST['Mail']); $titel = htmlentities($_POST['Betreff']); $mailbody = 'Guten Tag ' . htmlentities($_POST['Name']) . '<br><br>' . 'Sie haben sich gerade eben an unser Formular gewand.<br><br>' . 'Dabei haben Sie folgende Nachricht hinterlassen:<br><br>---<br>' . '' . htmlentities(stripcslashes($_POST['Text'])) . '' . '<br>---<br><br>Diese Nachricht wurde am ' . date('d.m.Y \- H:i \U\h\r', time()) . ' von der IP-Adresse "' . $HTTP_SERVER_VARS['REMOTE_ADDR'] . ' gesendet.'; $header = 'From: die_absender@mail.de'; if (@mail($empfaenger, $titel, $mailbody, $header)) {
echo 'Das Formular wurde erfolgreich gesendet.';
} else { echo 'Beim Senden ist ein Fehler aufgetreten, bitte wenden Sie sich an den Webmaster';
}
}
}
} else {
/* wenn das FFormaular nicht gesendet wurde, das formulareingabefeld anzeigen */
?> <!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 content="de" http-equiv="Content-Language" /> <meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> <title>Kontakt</title> </head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> <h1>Kontakt</h1> <table style="width: 25%"> <tr> <td style="width: 550px">Name :</td> <td> <input name="Name" style="width: 200px" type="text" /></td> </tr> <tr> <td style="width: 550px">E-Mailadresse : </td> <td> <input name="Mail" style="width: 200px" type="text" /></td> </tr> <tr> <td style="width: 550px">Betreff :</td> <td> <input name="Betreff" style="width: 200px" type="text" /></td> </tr> <tr> <td style="width: 550px">Text :</td> <td> <textarea name="Text" rows="2" style="width: 200px"></textarea></td> </tr> <tr> <td style="width: 550px"></td> <td><input type="submit" value="Absenden" name="submit" class="button_text" id="saveForm" /></td> </tr> </table> </form>
</body>
</html> <?php } ?>
Geändert von Sascha_K1994 (24.07.10 um 00:57 Uhr)
Grund: Das Formular war komischerweise 2mal da..::D
|
| |
24.07.10, 10:03
|
#12 (permalink)
| | Newbie
Registriert seit: Feb 2010
Beiträge: 58
Thanks: 1
Thanked 2 Times in 2 Posts
|
Darf ich dir ein Vorschlag machen wie du das Script Optimieren kannst?
Alles was oben mit einem echo ausgegeben wird, sollte am besten in eine Variable gespeichert werden (wie bei $error) so das man sie im HTML Teil ausgeben kann, ideal wäre wohl eine extra Tabellenzeile oder darüber. zudem sollten die Feld mit ein value die alten Daten wieder bekommen, hat man ein Pflichtfeld vergessen darf alles noch einmal eingeben werden. Ist zwar nicht nötig hat ist aber etwas benutzerfreundliches |
| |
24.07.10, 11:48
|
#13 (permalink)
| | Anfänger
Registriert seit: Dec 2009 Ort: Deutschland
Beiträge: 8
Thanks: 0
Thanked 0 Times in 0 Posts
| Zitat:
Zitat von Irolight Darf ich dir ein Vorschlag machen wie du das Script Optimieren kannst?
Alles was oben mit einem echo ausgegeben wird, sollte am besten in eine Variable gespeichert werden (wie bei $error) so das man sie im HTML Teil ausgeben kann, ideal wäre wohl eine extra Tabellenzeile oder darüber. zudem sollten die Feld mit ein value die alten Daten wieder bekommen, hat man ein Pflichtfeld vergessen darf alles noch einmal eingeben werden. Ist zwar nicht nötig hat ist aber etwas benutzerfreundliches  | Stimmt auch wieder ... :P
Naja war spät, wenn der Kunde es so möchte, soll er es selber bitte auch äußern... |
| |
24.07.10, 15:53
|
#14 (permalink)
| | Anfänger
Registriert seit: Aug 2009
Beiträge: 17
Thanks: 0
Thanked 0 Times in 0 Posts
|
Ich habe noch ein Formular mit Boxen zum Anklicken.
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
Da muss man ja noch was anderes machen im Code.
Wäre nett wenn mir da wer hilft.
Bei obrigen Code wo muss ich meine E-Mail eintragen?
Das 3. Formular ist übrings [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
MFG EDIT: @Sascha_K1994 Das soll garnicht an den User gesendet werden welcher sich dort einträgt, sondern an mich. Weiß nicht ob ihr das falsch verstanden habt.
Greez
Geändert von DJ-LaCo (25.07.10 um 00:50 Uhr)
|
| |
25.07.10, 19:17
|
#15 (permalink)
| | Anfänger
Registriert seit: Aug 2009
Beiträge: 17
Thanks: 0
Thanked 0 Times in 0 Posts
|
So habe es nun nach langem herumprobieren und einstellen geschaft.
Ich benutzte nun den Onlex Formmailer.
Das einzige Problem ist das man in der erhaltenen Mail ruhig ab und zu eine Leertaste haben könnte.
Wie mache ich das?
Greez
--------------------
Meine Formulare:
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
|
| |
29.07.10, 11:32
|
#16 (permalink)
| | Anfänger
Registriert seit: Dec 2009 Ort: Deutschland
Beiträge: 8
Thanks: 0
Thanked 0 Times in 0 Posts
| Zitat:
Zitat von DJ-LaCo Ich habe noch ein Formular mit Boxen zum Anklicken.
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
Da muss man ja noch was anderes machen im Code.
Wäre nett wenn mir da wer hilft.
Bei obrigen Code wo muss ich meine E-Mail eintragen?
Das 3. Formular ist übrings [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
MFG EDIT: @Sascha_K1994 Das soll garnicht an den User gesendet werden welcher sich dort einträgt, sondern an mich. Weiß nicht ob ihr das falsch verstanden habt.
Greez | Achso sags doch
Kann dir ruhig noch eins machen, habe heute Zeit, musst nur sagen  das würde ich dann komplett nochmal überarbeiten, so wie andere mir auch Tipps usw. gegeben haben...
|
| |
29.07.10, 11:34
|
#17 (permalink)
| | Anfänger
Registriert seit: Dec 2009 Ort: Deutschland
Beiträge: 8
Thanks: 0
Thanked 0 Times in 0 Posts
| Zitat:
Zitat von DJ-LaCo So habe es nun nach langem herumprobieren und einstellen geschaft.
Ich benutzte nun den Onlex Formmailer.
Das einzige Problem ist das man in der erhaltenen Mail ruhig ab und zu eine Leertaste haben könnte.
Wie mache ich das?
Greez
--------------------
Meine Formulare:
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] | Oh wie ich gerade sehe, hast du ja schon eins
Naja, für die Leerzeichen bräuchten wir wohl das Script, weil du dort wohl Zeilenumbrüche vergessen hast |
| | | Themen-Optionen | | | | Ansicht | Linear-Darstellung |
Forumregeln
| Du kannst keine neue Themen eröffnen Du kannst keine Antworten verfassen Du kannst keine Anhänge posten Du kannst nicht deine Beiträge editieren HTML-Code ist An. | | | |