tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
5
ZUGRIFFE
1269
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    fredolin fredolin ist offline Mitglied Gold
    Registriert seit
    Mar 2007
    Beiträge
    151
    Hey Tutorialjaner,

    Leute echt ich kann mich uffen Kopf stellen.. Dieses Formular macht mich NERVIG..
    Letzter Ausweg seit IHR...

    PHP-Code:
    <?php
    error_reporting
    (E_ALL);
    ini_set("display_errors","1");

    $achtungImages '<img src="pic/gif/achtung.gif" width="14" height="12" />';
        
        
    $orgidatum date("d.m.Y"$row['datum']);  // ISO-8601 Format
                
                
    $feldvname true;
                
    $feldnname true;
                
    $feldemail true;
                
    $feldmessages true;
                            
                
    $fehler false;
                
    $ausgabe '';
                
                echo 
    'Sendtest<br />';
                
    print_r($_POST);
                
            if(isset(
    $_POST['senden'])){
                
                            
                if(isset(
    $_POST['vname']) && !is_array($_POST['vname']) && $_POST['vname'] != ''){
                    
    $ausgabe .= 'Test';
                } else {
                    
    $fehler[] .= ' Bitte Vorname angeben ';
                    
    $feldvname false;
                }
                
                if(isset(
    $_POST['nname']) && !is_array($_POST['nname']) && $_POST['nname'] != ''){
                    
    $ausgabe .= 'Test';
                } else {
                    
    $fehler[] .= ' Bitte Nachname angeben ';
                    
    $feldvname false;
                }
                
                if(isset(
    $_POST['email']) && !is_array($_POST['email']) && $_POST['email'] != ''){
                    
    $ausgabe .= 'Test';
                } else {
                    
    $fehler[] .= ' Bitte Email Adresse angeben ';
                    
    $feldvname false;
                }
                
    // Überprüfung ob die E-Mail auch eine richtig eingegeben ist @ und .domain
                  
    if(preg_match("/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-z]{2,6}$/i"$_POST['email'])){
                    
    $fehler[] .= 'Bitte geben Sie ihre E-Mail Adresse <strong>richtig</strong> an!<br />';
                    
    $feldemail false;
                  }
                if(isset(
    $_POST['messages']) && !is_array($_POST['messages']) && $_POST['messages'] != ''){
                    
    $ausgabe .= 'Test';
                } else {
                    
    $fehler[] .= ' Bitte ein kurz Nachricht an Uns angeben <br />
                        Mit wieviele Personen Sie anreisen<br />
                        Ob wir uns um ein Hotel, Verpflegung usw. kümmern müssen?<br /> '
    ;
                    
    $feldvname false;
                }
            }
    ?>

    <!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=iso-8859-1" />
    <title>Unbenanntes Dokument</title>
    <!-- CSS //-->
    <link rel="Stylesheet" type="text/css" href="scripts/css/style.css" />
    <link rel="stylesheet" type="text/css" href="scripts/css/default.css" />
    <link rel="stylesheet" type="text/css" href="scripts/css/lightwindow.css" />
    <link rel="stylesheet" type="text/css" href="scripts/css/demo.css" />

    <!-- JavaScript -->
    <script type="text/javascript" src="scripts/js/prototype.js"></script>
    <script type="text/javascript" src="scripts/js/effects.js"></script>
    <script type="text/javascript" src="scripts/js/lightwindow.js"></script>
    <script type="text/javascript" src="scripts/js/showpanel.js"></script>
    </head>

    <body>

        
                <div class="clear"></div>
                <div class="anfrageform" style="background-color: #D9D9D9;margin: 0;padding: 8px 8px 8px 8px;width:534px; height: 534px;-moz-opacity: 0.7;-khtml-opacity: 0.7;opacity: 0.7;filter:Alpha(opacity=70);">
                    <form action="<?php htmlspecialchars($_SERVER['PHP_SELF'])?>?ID=<?php echo $row['ID'?>" method="post" enctype="text/plain">
                    <div class="formular">
                        <h1 class="h1text">Buchungsnafrage</h2>
                        <span class="feld">Aktuelles Datum: </span>
                        <span class="formfeld"><input type="text" name="senddatum" value="<?php echo $datum ?>"></span>
                        <div class="clear"></div>
                        <br>
                        <h2 class="h2text"><strong>Kurze Angaben von Ihnen</strong></h2><br />
                        <span class="feld">Ihren Vornamen:<br />
                        <?php
                            
    if(!$feldvname){
                              echo 
    '<span class="error">'$achtungImages.''.$fehler[0].'</span>';
                             } 
                        
    ?> </span>
                        <span class="formfeld"><input type="text" name="vname" value="" /></span>
                        <div class="clear"></div>
                        <span class="feld">Ihren Nachnamen:<br />
                        <?php
                            
    if(!$feldnname){
                              echo 
    '<span class="error">'$achtungImages.''.$fehler[1].'</span>';
                             } 
                        
    ?> </span>
                        <span class="formfeld"><input type="text" name="nname" value="" /></span>
                        <div class="clear"></div>
                        <span class="feld">Ihre E-Mail Adresse:<br />
                        <?php
                            
    if(!$feldemail){
                              echo 
    '<span class="error">'$achtungImages.''.$fehler[2].'</span>';
                             } 
                        
    ?> </span>
                        <span class="formfeld"><input class="email" type="text" name="email" value="" /><br />
                        <?php
                            
    if(!$feldemail){
                              echo 
    '<span class="error">'$achtungImages.''.$fehler[3].'</span>';
                             }  
                        
    ?></span>
                        <div class="clear"></div>
                        <span class="feld">Kurzmitteilungen an uns von Ihnen<br />
                        <?php
                            
    if(!$feldmessages){
                              echo 
    '<span class="error">'$achtungImages.''.$fehler[4].'</span>';
                             }  
                            
    ?></span>
                        <span class="formfeld"><textarea name="messages" rows="8" cols="35"></textarea></span>
                        <div class="clear"></div>
                        <span class="feld">Anfrage abschicken</span>
                        <span class="formfeld"><input type="submit" name="senden" value="Absenden" onclick="javascript:alert('Butten wurde geklickt');" /></span>
                    </div>
                    </form>
                </div>
                <div class="clear"></div>
            <?php
    closedb
    ($dbhandle);
        
    ?>    
    </body>
    </html>
    Schaut einfach mal rein, kopiet Euch den COde.. ABer bitte sag mir warum die Feldüberprüfung ned klappt.. Hab dies so an die tausendmal gemacht.. aber es klappt net und es kommt keine Fehlermessages..

    Danke vorab..
    Fredolin
    Geändert von fredolin (03.12.08 um 14:55 Uhr) Grund: damit keine Fehler durch die includes und DB kommen
     

  2. #2
    frogg06 frogg06 ist offline Mitglied Silber
    Registriert seit
    Aug 2007
    Beiträge
    57
    sehr komplex gemacht so eine formularprüfung geht auch einfacher ;o)
    zb:
    PHP-Code:
    if ((isset($_POST['senden'])) && ($_POST['senden'] ="insert")); {
    if(
    strlen($_POST['vname']) <3) {
    $fehler[0]="bitte Vorname eingeben"; } 
    f(strlen($_POST['nname']) <3) {
    $fehler[1]="bitte Nachname eingeben"; } 
    if(!
    preg_match("/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-z]{2,6}$/i"$_POST['email'])){
                    
    $fehler[2] .= 'Bitte geben Sie ihre E-Mail Adresse <strong>richtig</strong> an!<br />';
                  
                  }
    //usw//
    if (count($fehler)=0) {
    ///Formular übertragen//



    HTML-Code:
    <span class="formfeld"><input type="text" name="vname" value=" [PHP]<? if (!empty($fehler[0])) { echo $fehler[0]; } else echo $_POST[''vname'] ?>[/PHP]" /></span>
                        <div class="clear"></div>
    
    
     

  3. #3
    fredolin fredolin ist offline Mitglied Gold
    Registriert seit
    Mar 2007
    Beiträge
    151
    danke für deine Antwort froog06

    doch leider zeigt mir dann der Browser das Formular nicht an.. somit klappt es, zu mindesten bei mir, auch nicht.. aber warum mein script nicht funktioniert hat keiner heraus gefunden

    Danke für Eure Mithilfe..

    Ciao
    Fredolin
     

  4. #4
    Nord-Süd-Richtung Nord-Süd-Richtung ist offline Mitglied Platin
    Registriert seit
    Feb 2008
    Beiträge
    522
    Hi

    Ich denke, dass du keine Fehlermeldung erhählst, weil du $fehler als false initialiserts, aber mit $fehler[] Elemente an ein array Anhängen würdest.
    Abhilfen:
    PHP-Code:
    // Entweder
    $fehler '';
    $fehler .= 'KEin Vorname';
    //Oder
    $fehler = array();
    $fehler[] = 'Kein Vorname';
    for( 
    $i 0$i count($fehler); $i++){
       echo 
    $fehler[$i];

    Sollte funktionieren.
     
    Napoleon trug rote Kleidung, damit seine Soldaten nicht sahen, dass er verwundet war.
    Die Naz!s trugen braune Hosen ...

  5. #5
    fredolin fredolin ist offline Mitglied Gold
    Registriert seit
    Mar 2007
    Beiträge
    151
    So Leute hab da mal wieder ne ganze Nacht durch gemacht.. aber mit Erfolg..
    ich habe noch mal die Überprüfung neu geschrieben und nach einigen Fehlerhinweisen, habe ich doch zum Schluss es hin bekommen das die Überprüfung klappt. So wie ich die hier gepostet hab..

    Aber fragt ned was falsch war..

    Nochmals herzlichen Dank an Eure Mithilfe.. DANKE


    Ciao
    Fredolin
     

  6. #6
    PHP-Profi PHP-Profi ist offline Rookie
    Registriert seit
    Dec 2008
    Beiträge
    7
    Dein Formular könntest du noch verbessern, indem du HTML Code, Javascript und Leerzeichen entfernst,... filterst. Dafür lässt du deine Variabeln durch folgende Funktion von mir laufen.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    
             function clean($dokument){
        
                $suche = array ('@<script[^>]*?>.*?</script>@si',
                            '@<[\/\!]*?[^<>]*?>@si', 
                            '@([\r\n])[\s]+@',
                            '@&(quot|#34);@i',
                            '@&(amp|#38);@i',
                            '@&(lt|#60);@i',
                            '@&(gt|#62);@i',
                            '@&(nbsp|#160);@i',
                            '@&(iexcl|#161);@i',
                            '@&(cent|#162);@i',
                            '@&(pound|#163);@i',
                            '@&(copy|#169);@i',
                            '@&#(\d+);@e');
                
                $ersetze = array ('',
                                  '',
                                '\1',
                                 '"',
                                 '&',
                                 '<',
                                 '>',
                                 ' ',
                            chr(161),
                            chr(162),
                            chr(163),
                            chr(169),
                          'chr(\1)');
                $cleantext = preg_replace($suche, $ersetze, $dokument);
                
                return htmlspecialchars($cleantext);
            }
     
    Wir bieten Programmierung zum günstigen Preis.

Ähnliche Themen

  1. Antworten: 6
    Letzter Beitrag: 03.10.10, 20:29
  2. Antworten: 5
    Letzter Beitrag: 20.06.10, 14:46
  3. Antworten: 2
    Letzter Beitrag: 26.12.06, 00:25
  4. Mit Ajax Html-Datei einbinden -> Html wird nicht angezeigt
    Von FlorianR im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 11.09.06, 09:44
  5. Antworten: 3
    Letzter Beitrag: 26.02.06, 21:33

Stichworte