Ergebnis 1 bis 4 von 4

Thema: PHP Formular - bei Fehleingabe Formular-Seite an bestimmter Stelle (Anker) laden

  1. #1
    HTML Newbie
    Registriert seit
    11.12.2011
    Beiträge
    6
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Frage PHP Formular - bei Fehleingabe Formular-Seite an bestimmter Stelle (Anker) laden

    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-Code:
    <?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);
    ?>
    CSS-Styles ausgelassen.

    Im Body:


    PHP-Code:
      <?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($valueENT_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>";    }}?>
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Bandit
    Gast

    Standard AW: PHP Formular - bei Fehleingabe Formular-Seite an bestimmter Stelle (Anker) laden

    Ähm, Scripte mit einer Zeilenlänge von über 6400 Zeichen sieht sich niemand an, zumindest ich nicht.

    Lustigerweise haben wir das Thema auch hier: http://www.forum-hilfe.de/threads/52...osition-merken

  3. #3
    HTML Newbie
    Themenstarter

    Registriert seit
    11.12.2011
    Beiträge
    6
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: PHP Formular - bei Fehleingabe Formular-Seite an bestimmter Stelle (Anker) laden

    Hallo Bandit,

    entschuldigung, da habe ich meine Frage wohl etwas falsch formuliert.
    Mir würde es auch reichen, wenn ich nur einen Lösungsansatz hätte, dann würde ich selber schauen, wo das reinkommt. Das Problem ist eben, dass ich nicht genau weiß, was ich bei der Suche eingeben muss (Xeretic witzigerweise auch). Ich werde nun versuchen, den Ansatz von Xeretic aufzugreifen.

  4. #4
    HTML Newbie
    Themenstarter

    Registriert seit
    11.12.2011
    Beiträge
    6
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: PHP Formular - bei Fehleingabe Formular-Seite an bestimmter Stelle (Anker) laden

    Okay, ich scheine jetzt eine Lösung gefunden zu haben. Gute Suchworte sind übrigens: "formular php anker" - .

    Habe meinen schon gesetzten Anker verwendet und dann:

    PHP-Code:
    <form action="testkontakt.php?#kontaktformular" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES'UTF-8'); ?>" method="post">
    Nun ist action ja doppelt. Leider ist mir die Bedeutung von dem Php-Teil nicht ganz klar. Wenn ich es ganz rausnehme, funktioniert das Formular trotzdem. Wenn ich es wieder reintue, so wie oben, dann auch.

    Mag mir das jemand erklären bzw. mutmaßen, ob es so wie es jetzt steht Probleme geben könnte?

    edit:
    Geht es auch so? (ja es funktioniert, aber ist es richtig)?

    PHP-Code:
    <form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES'UTF-8'); ?>#kontaktformular" method="post">
    Geändert von Josifine (01.02.2012 um 13:52 Uhr)

Ähnliche Themen

  1. Problem mit Formular und zurück Button im Formular
    Von sven77 im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 13
    Letzter Beitrag: 30.08.2010, 21:20
  2. Problemmit Wortpositionierung an bestimmter Stelle unter einem Text
    Von Abendfrieden im Forum HTML & CSS Forum
    Antworten: 3
    Letzter Beitrag: 20.12.2009, 04:29
  3. Text in Page laden + Formular für email + scrollbar
    Von micson im Forum HTML & CSS Forum
    Antworten: 8
    Letzter Beitrag: 03.06.2007, 22:19
  4. Formular ( logout ) absenden, gleichzeitig Neue Seite laden
    Von D-Night im Forum HTML & CSS Forum
    Antworten: 2
    Letzter Beitrag: 10.03.2007, 22:10
  5. formular - neue seite mit bestimmter größe
    Von iop im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 28.09.2004, 01:49

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •