Hallo, wegen mangelnder PHP-Kenntnisse nutze ich unten angefügtes Script für ein Formular von 4Webmaster.net. Ich finde mich ein wenig darin zurecht, aber nicht ausreichend.
Leider wusste ich auf meine Fragen nicht so recht, was ich bei der Suche eingeben soll. Bestimmt sind sie irgendwo geklärt, sorry.
Zu meinem Problem:
Wenn jemand vergisst bestimmte Angaben beim Ausfüllen zu machen, wird die Seite neu geladen und die entsprechenden Felder werden rot markiert.
Da das Formular unten auf der Seite angezeigt wird, kann man es dann beim Neuladen nicht sehen. Somit könnte es passieren, dass der Benutzer annimmt, dass das Formular abgeschickt ist.
Ich möchte also, dass sie Seite im Falle einer Fehlangabe an der Stelle (also an dem Anker) geladen wird, wo das Formular sitzt.
Kann mir jemand sagen, an welcher Stelle ich das Script dann ergänzen muss?
Danke,
Gruß Josi
Über dem Head:
<?php
header("Content-Type: text/html; charset=utf-8");
error_reporting(E_ALL);/**************************************************
Formulargenerator v1.0 by 4Webmaster.net
Programmed by Borlabs Website: www.borlabs.de
visit www.4webmaster.net
**************************************************/$error = false;$errors = array();$receiver = 'moelders1@iomweb.de';
function check_email ($string) { // RegEx created by Myle Ott, found at regexlib.com return preg_match('/^([a-zA-Z0-9_\-])+(\.([a-zA-Z0-9_\-])+)*@((\[(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5])))\.(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5])))\.(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5])))\.(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5]))\]))|((([a-zA-Z0-9])+(([\-])+([a-zA-Z0-9])+)*\.)+([a-zA-Z])+(([\-])+([a-zA-Z0-9])+)*))$/i', $string);}
function check_onlynumbers ($string) { return preg_match('/^[0-9,.]{1,}$/', $string);}
function check_onlyletters ($string) { return preg_match('/^[a-zA-Z�������]{1,}$/', $string);}
function send_email ($subject, $body, $receiver, $html = 1) { if ($html != 1) { $body = str_replace('<br />', "\n", $body); $body = str_replace('<br>', "\n", $body); $body = strip_tags($body); }
$subject = str_replace('\n', '', $subject); $subject = str_replace('\r', '', $subject);
if ($html) { $header = 'MIME-Version: 1.0' . "\n"; $header .= 'Content-type: text/html; charset=utf-8'."\n"; $header .= 'From: '.$receiver.' <'.$receiver.'>'."\n"; } else { $header = 'MIME-Version: 1.0' . "\n"; $header .= 'From: '.$receiver.' <'.$receiver.'>'."\n"; }
if (mail($receiver, $subject, $body, $header)) { return true; } else { return false; }}
function array_stripslashes(&$var) { if(is_string($var)) { $var = stripslashes($var); } else { if(is_array($var)) foreach($var as $key => $value) array_stripslashes($var[$key]); }}
if(get_magic_quotes_gpc()){ array_stripslashes($_GET); array_stripslashes($_POST); array_stripslashes($_REQUEST); array_stripslashes($_COOKIE);}
if (!empty($_POST)) { // Pr�fung f�r das Feld "E-Mail" $errors['EMail'] = null; if (empty($_POST['EMail'])) { $error = true; $errors['EMail'] = ' class="error"'; } if (!empty($_POST['EMail']) && !check_email($_POST['EMail'])) { $error = true; $errors['EMail'] = ' class="error"'; }
} $_text_Name = (!empty($_POST['Name']) ? htmlspecialchars($_POST['Name'], ENT_QUOTES, 'UTF-8') : null);
$_text_Vorname = (!empty($_POST['Vorname']) ? htmlspecialchars($_POST['Vorname'], ENT_QUOTES, 'UTF-8') : null);
$_text_Strasse = (!empty($_POST['Strasse']) ? htmlspecialchars($_POST['Strasse'], ENT_QUOTES, 'UTF-8') : null);
$_text_PLZ = (!empty($_POST['PLZ']) ? htmlspecialchars($_POST['PLZ'], ENT_QUOTES, 'UTF-8') : null);
$_text_Ort = (!empty($_POST['Ort']) ? htmlspecialchars($_POST['Ort'], ENT_QUOTES, 'UTF-8') : null);
$_text_Bundesland = (!empty($_POST['Bundesland']) ? htmlspecialchars($_POST['Bundesland'], ENT_QUOTES, 'UTF-8') : null);
$_text_Telefon = (!empty($_POST['Telefon']) ? htmlspecialchars($_POST['Telefon'], ENT_QUOTES, 'UTF-8') : null);
$_text_Fax = (!empty($_POST['Fax']) ? htmlspecialchars($_POST['Fax'], ENT_QUOTES, 'UTF-8') : null);
$_text_Mobiltelefon = (!empty($_POST['Mobiltelefon']) ? htmlspecialchars($_POST['Mobiltelefon'], ENT_QUOTES, 'UTF-8') : null);
$_text_EMail = (!empty($_POST['EMail']) ? htmlspecialchars($_POST['EMail'], ENT_QUOTES, 'UTF-8') : null);
$_checkbox_Appartement_Untergeschoss_Wohnung = (!empty($_POST['Appartement']) && in_array('Untergeschoss_Wohnung', $_POST['Appartement']) ? ' checked="checked"' : null); $_checkbox_Appartement_Obergeschoss_Wohnung = (!empty($_POST['Appartement']) && in_array('Obergeschoss_Wohnung', $_POST['Appartement']) ? ' checked="checked"' : null); $_checkbox_Appartement_Reihenhaus = (!empty($_POST['Appartement']) && in_array('Reihenhaus', $_POST['Appartement']) ? ' checked="checked"' : null);
$_text_Buchungszeitraum1 = (!empty($_POST['Buchungszeitraum1']) ? htmlspecialchars($_POST['Buchungszeitraum1'], ENT_QUOTES, 'UTF-8') : null);
$_text_Buchungszeitraum2 = (!empty($_POST['Buchungszeitraum2']) ? htmlspecialchars($_POST['Buchungszeitraum2'], ENT_QUOTES, 'UTF-8') : null);
$_textarea_Mietwagen = (!empty($_POST['Mietwagen']) ? htmlspecialchars($_POST['Mietwagen'], ENT_QUOTES, 'UTF-8') : null);
?>
Alles anzeigen
CSS-Styles ausgelassen.
Im Body:
<?phpif ($error || empty($_POST)) {?><form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES, 'UTF-8'); ?>" method="post"><fieldset>
<div class="formulargenerator-4webmaster"><?php if ($error) { ?><div class="error_msg">Bitte alle mit * markierten Felder ausfüllen.</div><?php } ?><div> <label for="Name"<?php echo !empty($errors['Name']) ? $errors['Name'] : null ; ?>>Name</label> <input tabindex="1" type="text" id="Name" name="Name" value="<?php echo $_text_Name; ?>" /></div><div> <label for="Vorname"<?php echo !empty($errors['Vorname']) ? $errors['Vorname'] : null ; ?>>Vorname</label> <input tabindex="2" type="text" id="Vorname" name="Vorname" value="<?php echo $_text_Vorname; ?>" /></div><div> <label for="Strasse"<?php echo !empty($errors['Strasse']) ? $errors['Strasse'] : null ; ?>>Straße</label> <input tabindex="3" type="text" id="Strasse" name="Strasse" value="<?php echo $_text_Strasse; ?>" /></div><div> <label for="PLZ"<?php echo !empty($errors['PLZ']) ? $errors['PLZ'] : null ; ?>>PLZ</label> <input tabindex="4" type="text" id="PLZ" name="PLZ" value="<?php echo $_text_PLZ; ?>" /></div><div> <label for="Ort"<?php echo !empty($errors['Ort']) ? $errors['Ort'] : null ; ?>>Ort</label> <input tabindex="5" type="text" id="Ort" name="Ort" value="<?php echo $_text_Ort; ?>" /></div><div> <label for="Bundesland"<?php echo !empty($errors['Bundesland']) ? $errors['Bundesland'] : null ; ?>>Bundesland</label> <input tabindex="6" type="text" id="Bundesland" name="Bundesland" value="<?php echo $_text_Bundesland; ?>" /></div><div> <label for="Telefon"<?php echo !empty($errors['Telefon']) ? $errors['Telefon'] : null ; ?>>Telefon</label> <input tabindex="7" type="text" id="Telefon" name="Telefon" value="<?php echo $_text_Telefon; ?>" /></div><div> <label for="Fax"<?php echo !empty($errors['Fax']) ? $errors['Fax'] : null ; ?>>Fax</label> <input tabindex="8" type="text" id="Fax" name="Fax" value="<?php echo $_text_Fax; ?>" /></div><div> <label for="Mobiltelefon"<?php echo !empty($errors['Mobiltelefon']) ? $errors['Mobiltelefon'] : null ; ?>>Mobiltelefon</label> <input tabindex="9" type="text" id="Mobiltelefon" name="Mobiltelefon" value="<?php echo $_text_Mobiltelefon; ?>" /></div><div> <label for="EMail"<?php echo !empty($errors['EMail']) ? $errors['EMail'] : null ; ?>>E-Mail *</label> <input tabindex="10" type="text" id="EMail" name="EMail" value="<?php echo $_text_EMail; ?>" /></div><div class="controlset"> <span<?php echo !empty($errors['Appartement']) ? $errors['Appartement'] : null ; ?>>Folgendes Appartement wäre für mich interessant</span> <input tabindex="11" type="checkbox" id="Untergeschoss_Wohnung" name="Appartement[]" value="Untergeschoss_Wohnung"<?php echo $_checkbox_Appartement_Untergeschoss_Wohnung; ?> /><label for="Untergeschoss_Wohnung">Untergeschoss-Wohnung</label> <input tabindex="12" type="checkbox" id="Obergeschoss_Wohnung" name="Appartement[]" value="Obergeschoss_Wohnung"<?php echo $_checkbox_Appartement_Obergeschoss_Wohnung; ?> /><label for="Obergeschoss_Wohnung">Obergeschoss-Wohnung</label> <br> <input tabindex="13" type="checkbox" id="Reihenhaus" name="Appartement[]" value="Reihenhaus"<?php echo $_checkbox_Appartement_Reihenhaus; ?> /><label for="Reihenhaus">Reihenhaus</label> </div> <br style="clear: both;" /><div> <label for="Buchungszeitraum1"<?php echo !empty($errors['Buchungszeitraum1']) ? $errors['Buchungszeitraum1'] : null ; ?>>Ich interessiere mich für folgenden Buchungszeitraum</label> <input tabindex="14" type="text" id="Buchungszeitraum1" name="Buchungszeitraum1" value="<?php echo $_text_Buchungszeitraum1; ?>" /></div><div> <label for="Buchungszeitraum2"<?php echo !empty($errors['Buchungszeitraum2']) ? $errors['Buchungszeitraum2'] : null ; ?>>Alternativer Buchungszeitraum</label> <input tabindex="15" type="text" id="Buchungszeitraum2" name="Buchungszeitraum2" value="<?php echo $_text_Buchungszeitraum2; ?>" /></div><br><br><label for="Mietwagen"<?php echo !empty($errors['Mietwagen']) ? $errors['Mietwagen'] : null ; ?>>Mietwagen oder Sonstiges</label><textarea tabindex="16" id="Mietwagen" name="Mietwagen" rows="5" cols="20"><?php echo $_textarea_Mietwagen; ?></textarea><div style="text-align: center; margin: 5px;"> <input type="submit" value="Absenden" /></div><p style="text-align: center; margin: 0px;">Mit * gekennzeichnete Felder müssen ausgefüllt werden.</p></div></fieldset></form><?php} else { $body = ''; $body .= 'Name: '.htmlspecialchars(!empty($_POST['Name']) ? $_POST['Name'] : '', ENT_QUOTES, 'UTF-8').'<br>'; $body .= 'Vorname: '.htmlspecialchars(!empty($_POST['Vorname']) ? $_POST['Vorname'] : '', ENT_QUOTES, 'UTF-8').'<br>'; $body .= 'Strasse: '.htmlspecialchars(!empty($_POST['Strasse']) ? $_POST['Strasse'] : '', ENT_QUOTES, 'UTF-8').'<br>'; $body .= 'PLZ: '.htmlspecialchars(!empty($_POST['PLZ']) ? $_POST['PLZ'] : '', ENT_QUOTES, 'UTF-8').'<br>'; $body .= 'Ort: '.htmlspecialchars(!empty($_POST['Ort']) ? $_POST['Ort'] : '', ENT_QUOTES, 'UTF-8').'<br>'; $body .= 'Bundesland: '.htmlspecialchars(!empty($_POST['Bundesland']) ? $_POST['Bundesland'] : '', ENT_QUOTES, 'UTF-8').'<br>'; $body .= 'Telefon: '.htmlspecialchars(!empty($_POST['Telefon']) ? $_POST['Telefon'] : '', ENT_QUOTES, 'UTF-8').'<br>'; $body .= 'Fax: '.htmlspecialchars(!empty($_POST['Fax']) ? $_POST['Fax'] : '', ENT_QUOTES, 'UTF-8').'<br>'; $body .= 'Mobiltelefon: '.htmlspecialchars(!empty($_POST['Mobiltelefon']) ? $_POST['Mobiltelefon'] : '', ENT_QUOTES, 'UTF-8').'<br>'; $body .= 'EMail: '.htmlspecialchars(!empty($_POST['EMail']) ? $_POST['EMail'] : '', ENT_QUOTES, 'UTF-8').'<br>'; $body .= 'Appartement: '; if(!empty($_POST['Appartement'])) { foreach ($_POST['Appartement'] as $value) { $body .= htmlspecialchars($value, ENT_QUOTES, 'UTF-8').', '; } } $body .= '<br>'; $body .= 'Buchungszeitraum1: '.htmlspecialchars(!empty($_POST['Buchungszeitraum1']) ? $_POST['Buchungszeitraum1'] : '', ENT_QUOTES, 'UTF-8').'<br>'; $body .= 'Buchungszeitraum2: '.htmlspecialchars(!empty($_POST['Buchungszeitraum2']) ? $_POST['Buchungszeitraum2'] : '', ENT_QUOTES, 'UTF-8').'<br>'; $body .= 'Mietwagen:<br>'.htmlspecialchars(!empty($_POST['Mietwagen']) ? $_POST['Mietwagen'] : '', ENT_QUOTES, 'UTF-8').'<br><br>'; if(send_email('ferienhausnerja.de Anfrage', $body, $receiver)) {echo "<script type='text/javascript'>document.location='danke.html';</script>"; } else { echo "<script type='text/javascript'>document.location='fehler.html';</script>"; }}?>