Willkommen |
|
myGully |
|
Links |
|
Forum |
|
|
|
 |
21.07.10, 19:49
|
#1
|
Deejay
Registriert seit: Aug 2009
Beiträge: 25
Bedankt: 0
|
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
|
Deejay
Registriert seit: Aug 2009
Beiträge: 25
Bedankt: 0
|
push
Ja. Ich habe ein PHP fähigen Webspace
push
|
|
|
22.07.10, 15:32
|
#3
|
Newbie
Registriert seit: Feb 2010
Beiträge: 70
Bedankt: 7
|
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
|
Anfänger
Registriert seit: Jul 2009
Beiträge: 4
Bedankt: 1
|
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
|
Deejay
Registriert seit: Aug 2009
Beiträge: 25
Bedankt: 0
|
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
|
Anfänger
Registriert seit: Oct 2008
Beiträge: 0
Bedankt: 0
|
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
|
Anfänger
Registriert seit: Aug 2009
Beiträge: 10
Bedankt: 0
|
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
|
Deejay
Registriert seit: Aug 2009
Beiträge: 25
Bedankt: 0
|
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
|
Anfänger
Registriert seit: Dec 2009
Ort: fdsfdsfdsfsd
Beiträge: 7
Bedankt: 0
|
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
|
Newbie
Registriert seit: Feb 2010
Beiträge: 70
Bedankt: 7
|
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
|
Anfänger
Registriert seit: Dec 2009
Ort: fdsfdsfdsfsd
Beiträge: 7
Bedankt: 0
|
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: [email protected]'; 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 } ?>
|
|
|
24.07.10, 10:03
|
#12
|
Newbie
Registriert seit: Feb 2010
Beiträge: 70
Bedankt: 7
|
Darf ich dir ein Vorschlag machen wie du das S***** 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
|
Anfänger
Registriert seit: Dec 2009
Ort: fdsfdsfdsfsd
Beiträge: 7
Bedankt: 0
|
Zitat:
Zitat von Irolight
Darf ich dir ein Vorschlag machen wie du das S***** 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
|
Deejay
Registriert seit: Aug 2009
Beiträge: 25
Bedankt: 0
|
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
|
|
|
25.07.10, 19:17
|
#15
|
Deejay
Registriert seit: Aug 2009
Beiträge: 25
Bedankt: 0
|
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
|
Anfänger
Registriert seit: Dec 2009
Ort: fdsfdsfdsfsd
Beiträge: 7
Bedankt: 0
|
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
|
Anfänger
Registriert seit: Dec 2009
Ort: fdsfdsfdsfsd
Beiträge: 7
Bedankt: 0
|
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 S*****, weil du dort wohl Zeilenumbrüche vergessen hast
|
|
|
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 Aus.
|
|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:08 Uhr.
().
|