Kontaktformular programmieren
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
adresse
beruflich datei
betreff
datei
doppeltes anfhrungszeichen
eins
email
error
fehler
formular
gymnasium
info
kontakt
kopie
plain
schulleitung
sender
strich
verzeichnis
vielen dank
-
erstmal vorweg: ich hab die suchfunktion benutzt und nichts gefunden.
also: ich würde mir gerne ein kontaktformular programmieren!
da ich aber ein absoluter noob bin weiß ich nicht wo ich damit anfangen soll also ich hab mir das ungefähr so überlegt:
<html>
<head>
<script language="text/javascript">
<!--
var obj1, obj2;
function getId()
{
obj1=document.getElementById("Text");
}
function sendEmail(evt)
{
(???????????)
}
//-->
</script>
</head>
<body onLoad="getId();">
<textarea style="width: 307; height: 52" name="textfield62">
<span id="text">
Hier Text eingeben
</span>
</textarea>
also das das nicht funktioniert war mir sowieso vornerein klar. also da bei dem (???????) weiss ich nichr wie ich das machen soll und wie ich das mit dem abschicken button mache weiss ich auch nicht. kann man das mal bitte einer richtigstellen? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Mit JavaScript geht es direkt nicht. Nimm PHP o.ä.:
<?php if (isset ($_POST['data']) && trim ($_POST['data'])) { mail ('email@addy.de', 'Betreff', htmlentities ($_POST['data'])); } else { print (' <form method="post" action=""> <textarea name="data" style="width: 307; height: 52;"> </textarea> <input type="submit" /> </form> '); } ?>
-
Parse error: syntax error, unexpected T_STRING in /home/webpages/lima-city/scrawl/html/test.php on line 10
das kam als ich die webseite (genauer die php datei) aufgerufen habe. ich hab die php datei ganz normal in das verzeichnis html per ftp hochgeladen, war das falsch? -
Parse error: syntax error, unexpected T_STRING in /home/webpages/lima-city/scrawl/html/test.php on line 10
das kam als ich die webseite (genauer die php datei) aufgerufen habe. ich hab die php datei ganz normal in das verzeichnis html per ftp hochgeladen, war das falsch?
Hast du die doppelten bzw. einfachen Anführungszeichen beachtet? Hier im Forum werden nämlich alle doppelten Anführungszeichen in einfache umgewandelt.
MfG, Bohrty. -
oh danke das wusste ich nicht. also alle anführungszeichen mit einem strich muss ich in welche mit zwei strichen "umwandeln"?
-
oh danke das wusste ich nicht. also alle anführungszeichen mit einem strich muss ich in welche mit zwei strichen "umwandeln"?
Nein nicht alle. Nur die markierten musst du umwandeln ->
<?php if (isset ($_POST['data']) && trim ($_POST['data'])) { mail ('email@addy.de', 'Betreff', htmlentities ($_POST['data'])); } else { print (' // Hier ein doppeltes Anführungszeichen <form method='post' action=''> <textarea name='data' style='width: 307; height: 52;'> </textarea> <input type='submit' /> </form> '); // Hier ein doppeltes Anführungszeichen } ?>
Dann müsste es klappen.
MfG, Bohrty. -
wenn ich auf "anfrage abschicken" klicke, werde ich auf eine leere seite weitergeleitet. kann man das irgendwie ändern, also z.b. dass da dann steht "Vielen Dank! Ihre Nachricht wurde gesendet!". geht das?
-
wenn ich auf "anfrage abschicken" klicke, werde ich auf eine leere seite weitergeleitet. kann man das irgendwie ändern, also z.b. dass da dann steht "Vielen Dank! Ihre Nachricht wurde gesendet!". geht das?
Ja das geht. Ich habe mal kurz was zusammengestellt:
<?php if (isset ($_POST['data']) && trim ($_POST['data'])) { if (mail ('email@addy.de', 'Betreff', htmlentities ($_POST['data']))) { print ("Vielen Dank! Ihre Nachricht wurde gesendet!"); } else { print ("Leider konnte Ihre Nachricht nicht versendet werden!"); } else { print (" <form method='post' action=''> <textarea name='data' style='width: 307; height: 52;'> </textarea> <input type='submit' /> </form> "); } ?>
Auch hier wieder die doppelten ANführungszeichen in den print-Befehlen.
MfG, Bohrty. -
php ist auf jedenfal besser!
kannst meins haben, das nutz ich auch beruflich...
datei muss logischerweise xyz.php heissen!
erste zeile in der datei
<?php ob_start(); ?>
eigentliches script
<?php if (isset($_POST["form_submitted"])) { $name = $_POST['name']; $email = $_POST['email']; $subject = $_POST['subject']; $text = $_POST['text']; unset($errors); if ($email != "" and !preg_match("/^[^@]+@.+\.\D{2,5}$/", $email)) $errors[] = "Etwas stimmt mit der email Adresse nicht.<br><br>"; if ($email == "") $errors[] = "Bitte tragen Sie eiene email Adresse ein.<br><br>"; if ($text == "") $errors[] = "Bitte teilen Sie uns mit, wie wir ihnen helfen können.<br><br>"; if ($email == "" && isset($_POST['copy'])) $errors[] = "Wenn Sie eine Kopie wünschen, geben Sie bitte Ihre e-mail Adresse an.<br><br>"; if (empty($errors)) { if ($name != "") $mail_name=$name; else $mail_name="unbekannt"; if ($subject != "") $mail_subject = $subject; else $mail_subject = "website formmailer - kein betreff angegeben"; if ($email != "") $mail_email = $email; else $mail_email = "keine_e-m@il_adresse.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[] = "z.Z. leide nicht möglich, technische Probleme.<br><br>"; } 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)) { echo "<h3> Fehler:</h3><br />"; foreach($errors as $f) { echo $f; } } ?> <form method="post" name="form" action="<?php echo basename($_SERVER["PHP_SELF"]);?>"> <table border="0" cellpadding="0" cellspacing="4"> <tr> <td>Name:</td> </tr> <tr> <td><input type="text" name="name" value="<?php if (isset($name)) echo htmlentities(stripslashes($name)); else echo ""; ?>" size="35"></td> </tr> <tr> <td>E-Mail:</td> </tr> <tr> <td><input type="text" <?php if (isset($_POST['email']) && $email == "") echo "style=\"border: 1px solid #996600;;\""; if ($email == "" && isset($_POST['copy'])) echo "style=\"border: 1px solid #996600;;\""; if ($email != "" and !preg_match("/^[^@]+@.+\.\D{2,5}$/", $email)) echo "style=\"border: 1px solid #996600;;\"";?> name="email" value="<?php if (isset($email)) echo htmlentities(stripslashes($email)); else echo ""; ?>" size="35"></td> </tr> <tr> <td>Betreff:</td> </tr> <tr> <td><input type="text" name="subject" value="<?php if (isset($subject)) echo htmlentities(stripslashes($subject)); else echo ""; ?>" size="35"></td> </tr> <tr> <td>Nachricht:</td> </tr> <tr> <td><textarea name="text" class="text" <?php if ($text == "" && isset($errors)) echo "style=\"border: 1px solid #996600;;\"";?> cols="40" rows="12"><?php if (isset($text)) echo htmlentities(stripslashes($text)); else echo ""; ?></textarea></td> </tr> <tr> <td><input type="submit" name="form_submitted" value="Absenden"></td> </tr> <tr> <td><input type="checkbox" name="copy" value="true" class="check" >Kopie an Sie?</td> </tr> </table> </form> <?php if ($email != "" and !preg_match("/^[^@]+@.+\.\D{2,5}$/", $email)) echo "geht "; ?> <script type="text/javascript"> <?php if ($email != "" and !preg_match("/^[^@]+@.+\.\D{2,5}$/", $email)) echo "document.form.email.focus();\n"; if ($email == "" && isset($_POST["form_submitted"])) echo "document.form.email.focus();\n"; if ($text == "" && isset($_POST["form_submitted"])) echo "document.form.text.focus();\n"; if ($email == "" && isset($_POST['copy'])) echo "document.form.email.focus();\n"; if (isset($_POST['copy'])) echo "document.form.copy.checked = true;\n"; ?> </script> <?php } else { if (empty($email)) { ?>Vielen Dank, Nachricht erfolgreich versendet. Allerdings wurde keine E-Mail-Adresse angegeben, wir können also leider nicht antworten.<?php } else { ?>Vielen Dank, Nachricht erfolgreich versendet. Wir werden uns umgehend mit Ihnen in Verbindung setzten!<?php } } ?>
-
php ist auf jedenfal besser!
kannst meins haben, das nutz ich auch beruflich...
datei muss logischerweise xyz.php heissen!
erste zeile in der datei
<?php ob_start(); ?>
eigentliches script
<?php if (isset($_POST["form_submitted"])) { $name = $_POST['name']; $email = $_POST['email']; $subject = $_POST['subject']; $text = $_POST['text']; unset($errors); if ($email != "" and !preg_match("/^[^@]+@.+\.\D{2,5}$/", $email)) $errors[] = "Etwas stimmt mit der email Adresse nicht.<br><br>"; if ($email == "") $errors[] = "Bitte tragen Sie eiene email Adresse ein.<br><br>"; if ($text == "") $errors[] = "Bitte teilen Sie uns mit, wie wir ihnen helfen können.<br><br>"; if ($email == "" && isset($_POST['copy'])) $errors[] = "Wenn Sie eine Kopie wünschen, geben Sie bitte Ihre e-mail Adresse an.<br><br>"; if (empty($errors)) { if ($name != "") $mail_name=$name; else $mail_name="unbekannt"; if ($subject != "") $mail_subject = $subject; else $mail_subject = "website formmailer - kein betreff angegeben"; if ($email != "") $mail_email = $email; else $mail_email = "keine_e-m@il_adresse.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[] = "z.Z. leide nicht möglich, technische Probleme.<br><br>"; } 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)) { echo "<h3> Fehler:</h3><br />"; foreach($errors as $f) { echo $f; } } ?> <form method="post" name="form" action="<?php echo basename($_SERVER["PHP_SELF"]);?>"> <table border="0" cellpadding="0" cellspacing="4"> <tr> <td>Name:</td> </tr> <tr> <td><input type="text" name="name" value="<?php if (isset($name)) echo htmlentities(stripslashes($name)); else echo ""; ?>" size="35"></td> </tr> <tr> <td>E-Mail:</td> </tr> <tr> <td><input type="text" <?php if (isset($_POST['email']) && $email == "") echo "style=\"border: 1px solid #996600;;\""; if ($email == "" && isset($_POST['copy'])) echo "style=\"border: 1px solid #996600;;\""; if ($email != "" and !preg_match("/^[^@]+@.+\.\D{2,5}$/", $email)) echo "style=\"border: 1px solid #996600;;\"";?> name="email" value="<?php if (isset($email)) echo htmlentities(stripslashes($email)); else echo ""; ?>" size="35"></td> </tr> <tr> <td>Betreff:</td> </tr> <tr> <td><input type="text" name="subject" value="<?php if (isset($subject)) echo htmlentities(stripslashes($subject)); else echo ""; ?>" size="35"></td> </tr> <tr> <td>Nachricht:</td> </tr> <tr> <td><textarea name="text" class="text" <?php if ($text == "" && isset($errors)) echo "style=\"border: 1px solid #996600;;\"";?> cols="40" rows="12"><?php if (isset($text)) echo htmlentities(stripslashes($text)); else echo ""; ?></textarea></td> </tr> <tr> <td><input type="submit" name="form_submitted" value="Absenden"></td> </tr> <tr> <td><input type="checkbox" name="copy" value="true" class="check" >Kopie an Sie?</td> </tr> </table> </form> <?php if ($email != "" and !preg_match("/^[^@]+@.+\.\D{2,5}$/", $email)) echo "geht "; ?> <script type="text/javascript"> <?php if ($email != "" and !preg_match("/^[^@]+@.+\.\D{2,5}$/", $email)) echo "document.form.email.focus();\n"; if ($email == "" && isset($_POST["form_submitted"])) echo "document.form.email.focus();\n"; if ($text == "" && isset($_POST["form_submitted"])) echo "document.form.text.focus();\n"; if ($email == "" && isset($_POST['copy'])) echo "document.form.email.focus();\n"; if (isset($_POST['copy'])) echo "document.form.copy.checked = true;\n"; ?> </script> <?php } else { if (empty($email)) { ?>Vielen Dank, Nachricht erfolgreich versendet. Allerdings wurde keine E-Mail-Adresse angegeben, wir können also leider nicht antworten.<?php } else { ?>Vielen Dank, Nachricht erfolgreich versendet. Wir werden uns umgehend mit Ihnen in Verbindung setzten!<?php } } ?>
uiuiuiui, das war aber erstmal nen hartes brot^^
vielen dank
edit: aber wo ist denn nun die email an die alles gesendet wird?
Beitrag geaendert: 13.4.2007 19:31:47 von scrawl -
Ich hab selbst mal eins geschrieben:
du findest es unter http://www.humboldt-gymnasium-eichwalde.de/index.php?site=kontakt
Hier der Quelltext:
<form action="index.php?site=kontakt" method="post"> <?php if (isset($_POST['senden'])) echo "<b>Sie haben eingegeben:</b>"; ?> <p>Absender:<br /> <input size="50" name="absender_name" <?php if(isset($_POST['senden'])) echo "value=\"".$_POST['absender_name']."\""; ?> /></p> <p>E-Mail Adresse:<br /> <input size="50" name="absender_mail" <?php if(isset($_POST['senden'])) echo "value=\"".$_POST['absender_mail']."\""; ?> /></p> <p>Betreff:<br /> <input size="50" name="betreff" <?php if(isset($_POST['senden'])) echo "value=\"".$_POST['betreff']."\""; ?> /></p> <p> E-Mail an:<br /> <input type="radio" name="empfaenger_mail" style="border:none; background-color:#fff;" value="schulleitung" <?php if($_POST['empfaenger_mail']=="schulleitung") echo 'checked="checked"'; elseif(!isset($_POST['senden'])) echo 'checked="checked"'; ?> /> Schulleitung<br /> <input type="radio" name="empfaenger_mail" style="border:none; background-color:#fff;" value="artiphex" <?php if($_POST['empfaenger_mail']=="artiphex") echo 'checked="checked"'; ?> /> Artiphex SGmbH<br /> <input type="radio" name="empfaenger_mail" style="border:none; background-color:#fff;" value="schmidt" <?php if($_POST['empfaenger_mail']=="schmidt") echo 'checked="checked"'; ?> /> Webmaster (Frau Schmidt)</p> <p>Nachricht:<br /> <textarea cols="50" rows="10" name="nachricht" style="margin-left:0px;"><?php if(isset($_POST['senden'])) echo $_POST['nachricht']; ?></textarea></p> <input type="submit" value="Abschicken" name="senden" /> <input type="reset" value="Eingaben löschen" /> <input type="hidden" name="site" value="kontakt" /> </div> </form> <hr /> <?php if (isset($_POST['absender_name'])) $absender_name = $_POST['absender_name']; if (isset($_POST['absender_mail'])) $absender_mail = $_POST['absender_mail']; if (isset($_POST['betreff'])) $betreff = $_POST['betreff']; if (isset($_POST['empfaenger_mail'])) $emfpaenger_mail = $_POST['empfaenger_mail']; if($empfaenger_mail=="schulleitung") $empfaenger_mail="humboldt-gymnasium-eichwalde@t-online.de"; if($empfaenger_mail=="artiphex") $empfaenger_mail="info@artiphex.de"; if($empfaenger_mail=="schmidt") $empfaenger_mail="eschmidt04@web.de"; if (isset($_POST['nachricht'])) $nachricht = $_POST['nachricht']; if (isset($senden)) { $i=0; if ($absender_name=="" or $absender_name==" ") $fehler['absender_name']="Ihr Name"; if ($absender_mail=="" or $absender_mail==" ") $fehler['absender_mail']="Ihre E-Mail Adresse"; if ($betreff=="" or $betreff==" ") $fehler['betreff']="Die Betreffszeile"; if ($nachricht=="" or $nachricht==" ") $fehler['nachricht']="Die Nachricht"; if (!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$",$absender_mail)) $fehler[]="E-Mail Adresse fehlerhaft"; if (isset($fehler)) { echo "E-Mail kann nicht abgeschickt werden, folgende Eingaben sind unvollständig bzw. fehlerhaft:<br />\n"; echo "<ul>\n"; foreach ($fehler as $key => $value) { echo "\t<li>$value</li>\n"; } echo "</ul>\n"; } else { $nachricht = stripslashes($nachricht); $nachricht .="\n\n~~~~~~~~~~~~~~~\nDiese E-Mail wurde "; $nachricht .="vom Kontakt-Formular der Schulhomepage aus verschickt."; if (!@mail($empfaenger_mail, $betreff, $nachricht, "From: $absender_name<$absender_mail>")) echo "Fehler beim Versenden der E-Mail."; else echo "E-Mail wurde erfolgreich verschickt."; } } else { echo "Bitte füllen Sie das Kontaktformular korrekt aus!"; } ?>
Du musst jetzt nur noch HTML darum bauen und natürlich die Adressen anpassen.
Wenn du nur an einen schicken willst, kannst du die radios auch weglassen und die variable $empfaenger_mail einfach festlegen und auf die Prüfung verzichten.
Viel Spaß :)
Beitrag geaendert: 17.4.2007 18:17:50 von timmythom -
Falls du noch ein paar Anregungen brauchst, schau mal das Kontaktformular auf http://basti.funhome in der Downloadsection an ;)
-
Ich bekomm php nicht installiert !!!
geht das auch in java-script? -
php musst du nicht unbedingt installieren, es reicht auch wenn du deine irgendwas.php per ftp in das verzeichnis html hochlädst.
nein, mit javascript geht es nicht. -
Du kannst selbstverständlich ein Kontaktformular mit JS machen. Hat aber diverse Nachteile, da man Java abschalten kann. Und das Versenden der E-Mail muss dann wieder per php gemacht werden, soweit ich weiss.
-
Ich hab eins ganz ohne Tabellen:
<h2>Kontakt</h2> <p>Humboldt Gymnasium Eichwalde<br /> Betreff: Artiphex SGmbH<br /> Bahnhofstrasse 79/80<br /> 15732 Eichwalde</p> <p>Telefon: 03375 / 95 07 05 (AB über Frau Schmidt)<br /> E-Mail: <a href="mailto:info@artiphex.de">info@artiphex.de</a></p> <p>Wenn Sie uns eine Nachricht zukommen lassen wollen, benutzen Sie bitte das Formular oder die Mailadresse.</p> <hr /> <form action="index.php?site=kontakt" method="post"> <?php if (isset($_POST['senden'])) echo "<b>Sie haben eingegeben:</b>"; ?> <p>Absender:<br /> <input size="50" name="absender_name" <?php if(isset($_POST['senden'])) echo "value=\"".$_POST['absender_name']."\""; ?> /></p> <p>E-Mail Adresse:<br /> <input size="50" name="absender_mail" <?php if(isset($_POST['senden'])) echo "value=\"".$_POST['absender_mail']."\""; ?> /></p> <p>Betreff:<br /> <input size="50" name="betreff" <?php if(isset($_POST['senden'])) echo "value=\"".$_POST['betreff']."\""; ?> /></p> <p>Nachricht:<br /> <textarea cols="50" rows="10" name="nachricht" style="margin-left:0px;"><?php if(isset($_POST['senden'])) echo $_POST['nachricht']; ?></textarea></p> <input type="submit" value="Abschicken" name="senden" /> <?php if (!isset($_POST['senden']))echo '<input type="reset" value="Eingaben löschen" />'; ?> </form> <hr /> <?php if (isset($_POST['absender_name'])) $absender_name = $_POST['absender_name']; if (isset($_POST['absender_mail'])) $absender_mail = $_POST['absender_mail']; if (isset($_POST['betreff'])) $betreff = $_POST['betreff']; $empfaenger_mail = "info@artiphex.de"; if (isset($_POST['nachricht'])) $nachricht = $_POST['nachricht']; if (isset($_POST['senden'])) { $i=0; if ($absender_name=="" or $absender_name==" ") $fehler['absender_name']="Ihr Name"; if ($absender_mail=="" or $absender_mail==" ") $fehler['absender_mail']="Ihre E-Mail Adresse"; if ($betreff=="" or $betreff==" ") $fehler['betreff']="Die Betreffszeile"; if ($nachricht=="" or $nachricht==" ") $fehler['nachricht']="Die Nachricht"; if (!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$",$absender_mail)) $fehler[]="E-Mail Adresse fehlerhaft"; if (isset($fehler)) { echo "E-Mail kann nicht abgeschickt werden, folgende Eingaben sind unvollständig bzw. fehlerhaft:<br />\n"; echo "<ul>\n"; foreach ($fehler as $key => $value) { echo "\t<li>$value</li>\n"; } echo "</ul>\n"; } else { $nachricht = stripslashes($nachricht); $nachricht .="\n\n~~~~~~~~~~~~~~~\nDiese E-Mail wurde "; $nachricht .="vom Kontakt-Formular der Artiphex-Seite aus verschickt."; if (!@mail($empfaenger_mail, $betreff, $nachricht, "From: $absender_name<$absender_mail>")) echo "Fehler beim Versenden der E-Mail."; else echo "E-Mail wurde erfolgreich verschickt."; } } else { echo "Bitte füllen Sie das Kontaktformular korrekt aus!"; } ?>
Das ist auf http://artiphex.de/artiphex_neu/index.php?site=kontakt zu finden. -
danke, jetzt hab ich schon eins :)
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage