Hallo!
Ich bin neu hier und bin auch neuling, was php betrifft.
Ich habe für meine Internetseite ein Kontaktformular erstellt. Das soll einmal komplett ausgefüllt werden und weiterhin auch sicher sein und diversen Unsinn von mir fern halten.
Bis auf die Tatsache, dass ich nach einem Fehler nicht mehr die Eingabefelder reseten kann bin ich eigentlich mit der Funktion zufrieden.
Was mich interessieren würde ist, was könnte man am code noch verbessern?
Evtl hat ja jemand lust mal darüber zu schauen.
Ach, und nicht erschrecken. Die errortexte und alles andere ist auf schwedisch.
Schon mal vielen Dank fürs ansehen!
/xcvbnm,
...der schon sehr gespannt ist.
ups! sorry das das so breit ist. Mal sehen, evtl kann ich da noch mal dran rum editieren
Ich bin neu hier und bin auch neuling, was php betrifft.
Ich habe für meine Internetseite ein Kontaktformular erstellt. Das soll einmal komplett ausgefüllt werden und weiterhin auch sicher sein und diversen Unsinn von mir fern halten.
Bis auf die Tatsache, dass ich nach einem Fehler nicht mehr die Eingabefelder reseten kann bin ich eigentlich mit der Funktion zufrieden.
Was mich interessieren würde ist, was könnte man am code noch verbessern?
Evtl hat ja jemand lust mal darüber zu schauen.
Ach, und nicht erschrecken. Die errortexte und alles andere ist auf schwedisch.
Schon mal vielen Dank fürs ansehen!
PHP-Code:
<?php
$Empfaenger = "info@sample.org";
$regexmail="/^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,6})$/";
$regextext="/^[a-zA-Z0-9\ßäüöåÄÜÖÅ\-\ ]{1,400}$/";
$regexlongtext="/^[[:print:][:space:]ßäüöåÄÜÖÅ]{3,4000}$/";
if(isset($_POST['submit']) AND $_POST['submit']=='skicka'){
// Fehlerarray erzeugen
$errors = array();
if(trim($_POST['efternamn'])=='') {
$errors[] = "Du har glömt att fylla i ditt efternamn."; }
else {
if (!preg_match($regextext,$_POST['efternamn']))
$errors[] = "Fel i efternamn! Specialtecken är ej tillåtna, t ex. !,/,%"; }
if(trim($_POST['fornamn'])=='') {
$errors[] = "Du har glömt att fylla i ditt förnamn."; }
else {
if (!preg_match($regextext,$_POST['fornamn']))
$errors[] = "Fel i förnamn! Specialtecken är ej tillåtna, t ex. !,/,%"; }
if(trim($_POST['adress'])=='') {
$errors[] = "Du har glömt att fylla i din adress."; }
else {
if (!preg_match($regextext,$_POST['adress']))
$errors[] = "Fel i adress! Specialtecken är ej tillåtna, t ex. !,/,%"; }
if(trim($_POST['postnummer'])=='') {
$errors[] = "Du har glömt att fylla i ditt postnummer."; }
else {
if (!preg_match($regextext,$_POST['postnummer']))
$errors[] = "Fel i postnummer! Specialtecken är ej tillåtna, t ex. !,/,%"; }
if(trim($_POST['ort'])=='') {
$errors[] = "Du har glömt att fylla i din ort."; }
else {
if (!preg_match($regextext,$_POST['ort']))
$errors[] = "Fel i ort! Specialtecken är ej tillåtna, t ex. !,/,%"; }
if(trim($_POST['email'])=='') {
$errors[] = "Du har glömt att fylla i din emailadress."; }
else {
if (!preg_match($regexmail,$_POST['email']))
$errors[] = "Fel i emailadress! "; }
if(trim($_POST['meddelande'])=='') {
$errors[] = "Du har glömt att skriva ett meddelande."; }
else {
if (!preg_match($regexlongtext,$_POST['meddelande']))
$errors[] = "Fel i meddelande! Specialtecken är ej tillåtna, t ex. <,/,%"; }
if(isset($errors) AND !count($errors))
{
$Mailnachricht = "du fick följande meddelande: \n\n";
while(list($Formularfeld, $Wert)=each($_REQUEST))
{
if($Formularfeld!="Send")
{
$Mailnachricht .= $Formularfeld.": ".$Wert."\n";
}
}
$Mailnachricht .= "\nDatum/Zeit: ";
$Mailnachricht .= date("d.m.Y H:i:s");
$Mailbetreff = "Meddelande från - kontaktsidan -: ";
$Mailbetreff .= $_REQUEST['efternamn'];
mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['email']);
echo"<p><strong>Tack för ditt meddelande.</strong></p>";
$_POST['efternamn'] = "";
$_POST['fornamn'] = "";
$_POST['adress'] = "";
$_POST['postnummer'] = "";
$_POST['ort'] = "";
$_POST['email'] = "";
$_POST['meddelande'] = "";
}
else
{
// Wurde bei der Formularprüfung ein Fehler gefunden wird er über dem Formular ausgegeben
if(isset($errors)) {
echo "<p><br /><strong>Det uppstod ett fel!</strong><br />\n".
"<br />\n</p><p class='error' >";
foreach($errors as $error)
echo $error."<br />\n";
echo "<br /></p><hr />\n"; }
}
}
echo"
<table>
<form action=' ".$_SERVER['PHP_SELF']."' method='post'>
<tr>
<td>Efternamn:*</td><td>";
if(isset($_POST['efternamn']))
echo "<input size='45' maxlength='45' type='text' name='efternamn' value='".htmlentities($_POST['efternamn'], ENT_QUOTES)."'>\n";
else
echo "<input size='45' maxlength='45' type='text' name='efternamn'>\n";
echo"</td>
</tr>
<tr>
<td>Förnamn:*</td><td>";
if(isset($_POST['fornamn']))
echo "<input size='45' maxlength='45' type='text' name='fornamn' value='".htmlentities($_POST['fornamn'], ENT_QUOTES)."'>\n";
else
echo "<input size='45' maxlength='45' type='text' name='fornamn'>\n"; echo"</td>
</tr>
<tr>
<td>Adress:*</td><td>";
if(isset($_POST['adress']))
echo "<input size='45' maxlength='45' type='text' name='adress' value='".htmlentities($_POST['adress'], ENT_QUOTES)."'>\n";
else
echo "<input size='45' maxlength='45' type='text' name='adress'>\n"; echo"</td>
</tr>
<tr>
<td>Postnummer:*</td><td>";
if(isset($_POST['postnummer']))
echo "<input size='8' maxlength='8' type='text' name='postnummer' value='".htmlentities($_POST['postnummer'], ENT_QUOTES)."'>\n";
else
echo "<input size='8' maxlength='8' type='text' name='postnummer'>\n"; echo"</td>
</tr>
<tr>
<td>Ort:*</td><td>";
if(isset($_POST['ort']))
echo "<input size='45' maxlength='45' type='text' name='ort' value='".htmlentities($_POST['ort'], ENT_QUOTES)."'>\n";
else
echo "<input size='45' maxlength='45' type='text' name='ort'>\n"; echo"</td>
</tr>
<tr>
<td>Email:*</td><td>";
if(isset($_POST['email']))
echo "<input size='45' maxlength='45' type='text' name='email' value='".htmlentities($_POST['email'], ENT_QUOTES)."'>\n";
else
echo "<input size='45' maxlength='45' type='text' name='email'>\n"; echo"</td>
</tr>
<tr>
<td>Meddelande:*</td><td>";
if(isset($_POST['meddelande']))
echo "<textarea name='meddelande' cols='60' rows='15' >".htmlentities($_POST['meddelande'], ENT_QUOTES)."</textarea>\n";
else
echo "<textarea name='meddelande' cols='60' rows='15'></textarea>\n"; echo"</td>
</tr>
<tr>
<td></td><td><input name='submit' type='submit' value='skicka' id='skicka' ><input name='Reset' type='reset' value='radera' id='radera'></td>
</tr>
</form>
</table>";
?>
/xcvbnm,
...der schon sehr gespannt ist.
ups! sorry das das so breit ist. Mal sehen, evtl kann ich da noch mal dran rum editieren
Kommentar