Ankündigung

Einklappen
Keine Ankündigung bisher.

php Formular input Feld

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • php Formular input Feld

    Hallo zusammen,

    ich bin fast am Verzweifeln!

    Ich habe in einem Formular ein Feld, in welches nur Zahlen 0-9 eingegeben werden dürfen. Der Code hierfür funktioniert auch soweit.

    Desweiteren muss das Feld aber auch gefüllt sein, zumindest mit einer 0.
    Aber genau hier habe ich das Problem mit der Überprüfung, denn die Eingabe der Zahl 0 führt dazu, dass meine Überprüfung ob das Feld leer ist auch anschlägt!

    Wie bekomm ich es hin, dass eine Meldung erscheint, wenn Werte ausserhalb von 0-9 eingegeben werden, es aber genauso meckert, wenn nichts eingegeben wurde, bzw. nicht meckert wenn 0 eingegeben wird?

    PHP-Code:
    function check_onlynumbers ($string) {
        return 
    preg_match('/^[0-9,.]{1,}$/'$string);

    hier meine Überprüfung:

    PHP-Code:
    // Prüfung für das Feld "Anzahl CD 3"
                            
                            
    $errors["Anzahl_cd3"] = null;
                            if (empty(
    $_POST["Anzahl_cd3"])) {
                                
    $error true;
                                
    $errors["Anzahl_cd3"] = ' class="error"';
                                
    $errormessage .= 'Feld "Anzahl CD 3" muss ausgefüllt werden.<br>';
                            }

                            if (!
    check_onlynumbers($_POST["Anzahl_cd3"])) {
                                
    $error true;
                                
    $errors["Anzahl_cd3"] = ' class="error"';
                                
    $errormessage .= empty($_POST["Anzahl_cd3"]) ? '' 'In das Feld "Anzahl CD 3" können Sie nur Zahlen eingeben<br>';
                } 
    DANKE!!

  • #2
    bool empty ( mixed $var )
    Determine whether a variable is considered to be empty. A variable is considered empty if it does not exist or if its value equals FALSE.
    In einem nicht-Typsicheren vergleich mit einem Bool evaluiert die 0 zu false, daher gibt empty(0) false zurück. Nutz isset() für die Existenz, alles weitere prüfst du ja schon selbst.
    [QUOTE=nikosch]Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.[/QUOTE]

    Kommentar


    • #3
      PHP-Code:
        $x "0";
        
      var_dump( empty($x) );   // bool(true) 
      Daher: Verwende mal isset() statt empty(), denn "0" ist da true -> siehe Doku.
      The string "()()" is not palindrom but the String "())(" is.

      Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
      PHP.de Wissenssammlung | Kein Support per PN

      Kommentar


      • #4
        Nur als Vorschlag:
        Code:
        ^[\d,.]+$
        Competence-Center -> Enjoy the Informatrix
        PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

        Kommentar


        • #5
          Hallo,

          ich habe empty mit isset getauscht, es meckert aber immer noch, wenn ich eine 0 eintrage, dass das Feld leer ist.

          habe noch diese Zeile gefunden, vermute mal das hängt damit zusammen, ich versteh den Code aber nicht wirklich.

          PHP-Code:
          $_text_Anzahl_cd3 = (!empty($_POST["Anzahl_cd3"]) ? htmlspecialchars($_POST["Anzahl_cd3"], ENT_QUOTES"iso-8859-15") : null); 

          Kommentar


          • #6
            Code zu nutzen den man nicht versteht ist immer eine gute Idee.

            BTW du siehst doch, dass dort erneut empty() genutzt wird... Das ist doch ein offensichtlicher Hinweis darauf, warum das nicht klappt, auch wenn du nicht komplett verstehst, was die Zeile tut?

            Kommentar


            • #7
              wenn ich komplett eigenen Code verwenden würde/könnte, dann müsste ich sicherlich hier nicht nachfragen

              ich hatte dort natürlich auch schon isset eingetragen, hat aber auch nichts geholfen, deswegen habe ich das dann hier gepostet.

              Kommentar


              • #8
                PHP-Code:
                function hasNumbersOnly$var ) {

                    return (bool)
                preg_match'/^[\d,.]+$/'$var );

                }


                var_dumphasNumbersOnly('0') );
                var_dumphasNumbersOnly('1,1') );
                var_dumphasNumbersOnly(',99') );
                var_dumphasNumbersOnly('0a,12') );
                var_dumphasNumbersOnly('') ); 
                Code:
                bool(true)
                bool(true)
                bool(true)
                bool(false)
                bool(false)
                Und für das isset() darsft Du kurz mal zeigen, wie Du das eingebaut hast.
                Competence-Center -> Enjoy the Informatrix
                PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                Kommentar


                • #9
                  Zur Erklärung:

                  PHP-Code:
                  $_text_Anzahl_cd3 = (!empty($_POST["Anzahl_cd3"]) ? htmlspecialchars($_POST["Anzahl_cd3"], ENT_QUOTES"iso-8859-15") : null); 
                  bedeutet das: (wobei das htmlspecialchars imho an dieser Stelle ev. fragwürdig ist, müsste man mehr vom Code sehen, aber gut anderes Thema...)

                  PHP-Code:
                  if (!empty($_POST["Anzahl_cd3"]) {
                      
                  $_text_Anzahl_cd3 htmlspecialchars($_POST["Anzahl_cd3"], ENT_QUOTES"iso-8859-15");
                  } else {
                      
                  $_text_Anzahl_cd3 null;

                  http://php-de.github.io/jumpto/if/#bedingungsoperator-


                  wenn ich komplett eigenen Code verwenden würde/könnte, dann müsste ich sicherlich hier nicht nachfragen
                  Vorsicht mit solchen Aussagen, hier wird davon ausgegangen das es um eigenen Code geht.
                  http://www.php.de/php-einsteiger/543...produkten.html

                  LG
                  The string "()()" is not palindrom but the String "())(" is.

                  Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                  PHP.de Wissenssammlung | Kein Support per PN

                  Kommentar


                  • #10
                    hasNumbersOnly, da gibt es was zu meckern:
                    PHP-Code:
                    function hasNumbersOnly$var ) {

                        return (bool)
                    preg_match'/^[\d,.]+$/'$var );

                    }
                    var_dumphasNumbersOnly('-5') );  //false
                    var_dumphasNumbersOnly('+7') );  //false
                    var_dumphasNumbersOnly('..,') );  //true 
                    String nur auf Ziffern prüfen: ctype_digit

                    oder prüfen auf INT : Validate filters (FILTER_VALIDATE_INT)

                    Kommentar


                    • #11
                      Hallo Zusammen,

                      vielen Dank schon mal für die diversen Anregungen.

                      Ich hatte empty mit isset ersetzt, wobei ich meine, dass das reine ersetzen nicht korrekt ist.

                      es wird in meinem kompletten Code wohl noch andere Stellen geben die relevant sind, deswegen habe ich hier mal den kompletten Code.

                      Falls jemand von Euch Lust hat und mir sagen kann wie der Code geändert werden kann damit es eben ach die Zahl 0 akzeptiert wäre ich sehr dankbar dafür!

                      Grüße

                      PHP-Code:
                      <?php
                      error_reporting
                      (E_ALL);

                      $sicherheitsabfrage false;    //true oder false (ein- oder ausblenden)

                      $error false;
                      $errors = array();
                      $errormessage "";
                      $receiver = isset($_POST["e_m_a_i_l"]) ? $_POST["e_m_a_i_l"] : 'receiver@test.de';
                      $chkSendCopy = isset($_POST["chkSendCopy"]) ? true false;
                      $sendermail "info@test.de";



                      srand((double)microtime()*1000000);
                      $zahl1 rand(010);
                      $zahl2 rand(010);
                      $ergebnis $zahl1 $zahl2;


                      function 
                      check_email ($string) {
                          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$sendermail "") {
                          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);

                          
                      $header    'MIME-Version: 1.0' "\n";
                          
                      $header .= $html 'Content-type: text/html; charset=iso-8859-15'."\n" "";
                      //    $header .= 'From: '.$receiver.' <'.$receiver.'>'."\n";
                      //    $header .= 'From: '.$_SERVER["SERVER_ADMIN"]."\n";

                          
                      if($sendermail != "") {
                              
                      $header .= 'From: '.$sendermail."\n";
                              
                      $header .= 'Reply-To: '.$sendermail."\n";
                          } else {
                              
                      $header .= 'From: '.$_SERVER["SERVER_ADMIN"]."\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 "Vorname"
                                  
                      $errors["Vorname"] = null;
                                  if (empty(
                      $_POST["Vorname"])) {
                                      
                      $error true;
                                      
                      $errors["Vorname"] = ' class="error"';
                                      
                      $errormessage .= 'Feld "Vorname" muss ausgefüllt werden.<br>';
                                  }

                                  if (!
                      check_onlyletters($_POST["Vorname"])) {
                                      
                      $error true;
                                      
                      $errors["Vorname"] = ' class="error"';
                                      
                      $errormessage .= empty($_POST["Vorname"]) ? '' 'In das Feld "Vorname" können Sie nur Buchstaben eingeben<br>';
                                  }

                                  
                      // Prüfung für das Feld "Nachname"
                                  
                      $errors["Nachname"] = null;
                                  if (empty(
                      $_POST["Nachname"])) {
                                      
                      $error true;
                                      
                      $errors["Nachname"] = ' class="error"';
                                      
                      $errormessage .= 'Feld "Nachname" muss ausgefüllt werden.<br>';
                                  }

                                  if (!
                      check_onlyletters($_POST["Nachname"])) {
                                      
                      $error true;
                                      
                      $errors["Nachname"] = ' class="error"';
                                      
                      $errormessage .= empty($_POST["Nachname"]) ? '' 'In das Feld "Nachname" können Sie nur Buchstaben eingeben<br>';
                                  }

                                  
                      // Prüfung für das Feld "Strasse und Hausnummer"
                                  
                      $errors["Strasse"] = null;
                                  if (empty(
                      $_POST["Strasse"])) {
                                      
                      $error true;
                                      
                      $errors["Strasse"] = ' class="error"';
                                      
                      $errormessage .= 'Feld "Strasse und Hausnummer" muss ausgefüllt werden.<br>';
                                  }

                                  
                      // Prüfung für das Feld "Postleitzahl"
                                  
                      $errors["PLZ"] = null;
                                  if (empty(
                      $_POST["PLZ"])) {
                                      
                      $error true;
                                      
                      $errors["PLZ"] = ' class="error"';
                                      
                      $errormessage .= 'Feld "Postleitzahl" muss ausgefüllt werden.<br>';
                                  }

                                  
                      // Prüfung für das Feld "PLZ" auf 5 stellig
                                  
                      if (strlen($_POST["PLZ"]) < 5) {
                                  
                      $error true;
                                                  
                      $errors["PLZ"] = ' class="error"';
                                                  
                      $errormessage .= 'Feld "Postleitzahl" muss mit 5 Zahlen gef&uuml;llt werden.<br>';
                                  }

                                  
                      // Prüfung für das Feld "PLZ" auf nur Zahlen
                                  
                      if (!check_onlynumbers($_POST["PLZ"])) {
                                      
                      $error true;
                                      
                      $errors["PLZ"] = ' class="error"';
                                      
                      $errormessage .= empty($_POST["PLZ"]) ? '' 'In das Feld "Postleitzahl" können Sie nur Zahlen eingeben<br>';
                                  }
                                  
                      // Prüfung für das Feld "Wohnort"
                                  
                      $errors["Ort"] = null;
                                  if (empty(
                      $_POST["Ort"])) {
                                      
                      $error true;
                                      
                      $errors["Ort"] = ' class="error"';
                                      
                      $errormessage .= 'Feld "Wohnort" muss ausgefüllt werden.<br>';
                                  }

                                  if (!
                      check_onlyletters($_POST["Ort"])) {
                                      
                      $error true;
                                      
                      $errors["Ort"] = ' class="error"';
                                      
                      $errormessage .= empty($_POST["Ort"]) ? '' 'In das Feld "Wohnort" können Sie nur Buchstaben eingeben<br>';
                                  }


                                  
                      // Prüfung für das Feld "Anzahl CD 1"

                                                          
                      $errors["Anzahl_cd1"] = null;
                                                          if (empty(
                      $_POST["Anzahl_cd1"])) {
                                                              
                      $error true;
                                                              
                      $errors["Anzahl_cd1"] = ' class="error"';
                                                              
                      $errormessage .= 'Feld "Anzahl CD 1" muss ausgefüllt werden.<br>';
                                                          }

                                                          if (!
                      check_onlynumbers($_POST["Anzahl_cd1"])) {
                                                              
                      $error true;
                                                              
                      $errors["Anzahl_cd1"] = ' class="error"';
                                                              
                      $errormessage .= empty($_POST["Anzahl_cd1"]) ? '' 'In das Feld "Anzahl CD 1" können Sie nur Zahlen eingeben<br>';
                                  }

                                  
                      // Prüfung für das Feld "Anzahl CD 2"

                                                          
                      $errors["Anzahl_cd2"] = null;
                                                          if (empty(
                      $_POST["Anzahl_cd2"])) {
                                                              
                      $error true;
                                                              
                      $errors["Anzahl_cd2"] = ' class="error"';
                                                              
                      $errormessage .= 'Feld "Anzahl CD 2" muss ausgefüllt werden.<br>';
                                                          }

                                                          if (!
                      check_onlynumbers($_POST["Anzahl_cd2"])) {
                                                              
                      $error true;
                                                              
                      $errors["Anzahl_cd2"] = ' class="error"';
                                                              
                      $errormessage .= empty($_POST["Anzahl_cd2"]) ? '' 'In das Feld "Anzahl CD 2" können Sie nur Zahlen eingeben<br>';
                                  }


                                  
                      // Prüfung für das Feld "Anzahl CD 3"

                                              
                      $errors["Anzahl_cd3"] = null;
                                              if (empty(
                      $_POST["Anzahl_cd3"])) {
                                                  
                      $error true;
                                                  
                      $errors["Anzahl_cd3"] = ' class="error"';
                                                  
                      $errormessage .= 'Feld "Anzahl CD 3" muss ausgefüllt werden.<br>';
                                              }

                                              if (!
                      check_onlynumbers($_POST["Anzahl_cd3"])) {
                                                  
                      $error true;
                                                  
                      $errors["Anzahl_cd3"] = ' class="error"';
                                                  
                      $errormessage .= empty($_POST["Anzahl_cd3"]) ? '' 'In das Feld "Anzahl CD 3" können Sie nur Zahlen eingeben<br>';
                                  }




                                  
                      // Prüfung für das Feld "Anrede"
                                  
                      $errors["Anrede"] = null;
                                  if (empty(
                      $_POST["Anrede"])) {
                                      
                      $error true;
                                      
                      $errors["Anrede"] = ' class="error"';
                                      
                      $errormessage .= 'Feld "Anrede" muss ausgefüllt werden.<br>';
                                  }

                                  
                      // Prüfung für das Feld "Bitte akzeptieren Sie unsere AGB"
                                              
                      $errors["AGB"] = null;
                                              if (empty(
                      $_POST["AGB"])) {
                                                  
                      $error true;
                                                  
                      $errors["AGB"] = ' class="error"';
                                                  
                      $errormessage .= 'Feld "AGB" muss akzeptiert werden.<br>';
                                  }


                                  
                      // Prüfung für das Feld "Bitte akzeptieren Sie unsere Datenschutzerklärung"
                                              
                      $errors["datenschutz"] = null;
                                              if (empty(
                      $_POST["datenschutz"])) {
                                                  
                      $error true;
                                                  
                      $errors["datenschutz"] = ' class="error"';
                                                  
                      $errormessage .= 'Feld "Datenschutzerkl&auml;rung" muss akzeptiert werden.<br>';
                                              }




                                  if(
                      $sicherheitsabfrage === true) {
                                      if(empty(
                      $_POST["ergebnis"])) {
                                          
                      $error true;
                                          
                      $errors["ergebnis"] = ' class="error"';
                                          
                      $errormessage .= 'Das Ergebnis von Rechenaufgabe muss angegeben werden.<br>';
                                      } elseif(
                      $_POST["ergebnis"] != $_POST["tmpErgebnis"]) {
                                          
                      $error true;
                                          
                      $errors["ergebnis"] = ' class="error"';
                                          
                      $errormessage .= 'Das Ergebnis von Rechenaufgabe ist falsch.<br>';
                                      }
                                  }
                      }


                              
                      $_select_Anrede_Frau = (!empty($_POST["Anrede"]) && $_POST["Anrede"] == "Frau" ' selected="selected"' null);
                              
                      $_select_Anrede_Herr = (!empty($_POST["Anrede"]) && $_POST["Anrede"] == "Herr" ' selected="selected"' null);

                              
                      $_text_Vorname = (!empty($_POST["Vorname"]) ? htmlspecialchars($_POST["Vorname"], ENT_QUOTES"iso-8859-15") : null);

                              
                      $_text_Nachname = (!empty($_POST["Nachname"]) ? htmlspecialchars($_POST["Nachname"], ENT_QUOTES"iso-8859-15") : null);

                              
                      $_text_Strasse = (!empty($_POST["Strasse"]) ? htmlspecialchars($_POST["Strasse"], ENT_QUOTES"iso-8859-15") : null);

                              
                      $_text_PLZ = (!empty($_POST["PLZ"]) ? htmlspecialchars($_POST["PLZ"], ENT_QUOTES"iso-8859-15") : null);

                              
                      $_text_Ort = (!empty($_POST["Ort"]) ? htmlspecialchars($_POST["Ort"], ENT_QUOTES"iso-8859-15") : null);

                              
                      $_text_Anzahl_cd1 = (!empty($_POST["Anzahl_cd1"]) ? htmlspecialchars($_POST["Anzahl_cd1"], ENT_QUOTES"iso-8859-15") : null);

                              
                      $_text_Anzahl_cd2 = (!empty($_POST["Anzahl_cd2"]) ? htmlspecialchars($_POST["Anzahl_cd2"], ENT_QUOTES"iso-8859-15") : null);

                              
                      $_text_Anzahl_cd3 = (!empty($_POST["Anzahl_cd3"]) ? htmlspecialchars($_POST["Anzahl_cd3"], ENT_QUOTES"iso-8859-15") : "");

                              
                      $_checkbox_AGB_Allgemeine_Geschäftsbedingungen = (!empty($_POST["AGB"]) && $_POST["AGB"] == "Allgemeine Geschäftsbedingungen" ' checked="checked"' null);

                              
                      $_checkbox_datenschutz = (!empty($_POST["datenschutz"]) && $_POST["datenschutz"] == "Datenschutzerklärung" ' checked="checked"' null);

                      ?>

                      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
                      <html xmlns="http://www.w3.org/1999/xhtml">

                      <head>
                      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
                      <title>Hans Mustermann - CDs online bestellen</title>
                      <link rel="shortcut icon" type="image/ico" href="../favicon.ico" />
                      <meta content="de" name="Content-Language" />
                      <link href="../style.css" rel="stylesheet" media="screen" type="text/css" />


                      </head>


                      <body>
                      <div id="coverall">
                         <div id="head">
                          <h1 class="noe">Hans Mustermann</h1>
                          <a href="#main" class="noe">Navigation &uuml;berspringen</a>
                         </div>


                        <div id="cover2">
                          <div id="main">
                            <div class="content">
                      <h1>Online bestellen</h1>
                      <p>Hier können Sie ganz einfach online bestellen. <br>

                      <br>

                      <?php
                      if ($error || empty($_POST)) {?>
                      <form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES'iso-8859-15'); ?>" method="post">
                      <input type="hidden" name="tmpErgebnis" value="<?php echo $ergebnis ?>" />

                      <?php
                      if ($error) {
                      ?>
                      <div class="error_msg">Mit * bezeichnete Felder sind zwingend auszufüllen.<p><?php echo $errormessage ?></p></div>
                      <?php
                      }
                      ?>
                      <table style="margin-left:20px;" width="550px" align="left">

                              <tr>
                                  <td width="170px" ><label for="Anrede" style="color: #000000; font-weight: bold;"<?php echo (!empty($errors["Anrede"]) ? $errors["Anrede"] : null); ?>>Anrede&nbsp;*</label></td>
                                  <td width="380px"><select id="Anrede" name="Anrede" >
                                      <option value="">-- Auswahl --</option>
                                      <option value="Frau"<?php echo $_select_Anrede_Frau?>>Frau</option>
                                      <option value="Herr"<?php echo $_select_Anrede_Herr?>>Herr</option>
                                      </select></td>
                                  </tr>

                              <tr>
                                  <td><label for="Vorname" style="color: #000000; font-weight: bold;"<?php echo (!empty($errors["Vorname"]) ? $errors["Vorname"] : null); ?>>Vorname&nbsp;*</label></td>
                                  <td><input class="inputText" type="text" maxlength="15" id="Vorname" name="Vorname" value="<?php echo $_text_Vorname?>"  /></td>
                              </tr>
                              <tr>
                                  <td><label for="Nachname" style="color: #000000; font-weight: bold;"<?php echo (!empty($errors["Nachname"]) ? $errors["Nachname"] : null); ?>>Nachname&nbsp;*</label></td>
                                  <td><input class="inputText" type="text" maxlength="25" id="Nachname" name="Nachname" value="<?php echo $_text_Nachname?>"  /></td>
                              </tr>
                              <tr>
                                  <td><label for="Strasse" style="color: #000000; font-weight: bold;"<?php echo (!empty($errors["Strasse"]) ? $errors["Strasse"] : null); ?>>Strasse&nbsp;*</label></td>
                                  <td><input class="inputText" type="text" maxlength="30" id="Strasse" name="Strasse" value="<?php echo $_text_Strasse?>" /></td>
                              </tr>
                              <tr>
                                  <td><label for="PLZ" style="color: #000000; font-weight: bold;"<?php echo (!empty($errors["PLZ"]) ? $errors["PLZ"] : null); ?>>Postleitzahl&nbsp;*</label></td>
                                  <td><input class="inputText" type="text" maxlength="5" id="PLZ" name="PLZ" value="<?php echo $_text_PLZ?>" /></td>
                              </tr>
                              <tr>
                                  <td><label for="Ort" style="color: #000000; font-weight: bold;"<?php echo (!empty($errors["Ort"]) ? $errors["Ort"] : null); ?>>Wohnort&nbsp;*</label></td>
                                  <td><input class="inputText" type="text" maxlength="30" id="Ort" name="Ort" value="<?php echo $_text_Ort?>" /></td>
                              </tr>
                              <tr>
                                  <td><label for="Anzahl_cd1" style="color: #000000; font-weight: bold;"<?php echo (!empty($errors["Anzahl_cd1"]) ? $errors["Anzahl_cd1"] : null); ?>><strong>CD<br> &laquo;Album 1&raquo;</strong>*</label></td>
                                  <td><input class="inputAnzahl" type="text" maxlength="1" id="Anzahl_cd1" name="Anzahl_cd1" value="<?php echo $_text_Anzahl_cd1?>" /> Stück zum Preis von je 1,50 Euro</td>
                              </tr>
                              <tr>
                                  <td><label for="Anzahl_cd2" style="color: #000000; font-weight: bold;"<?php echo (!empty($errors["Anzahl_cd2"]) ? $errors["Anzahl_cd2"] : null); ?>><strong>CD<br> &laquo;Album 2&raquo;</strong>*</label></td>
                                  <td><input class="inputAnzahl" type="text" maxlength="1" id="Anzahl_cd2" name="Anzahl_cd2" value="<?php echo $_text_Anzahl_cd2?>" /> Stück zum Preis von je 1,50 Euro</td>
                              </tr>
                              <tr>
                                  <td><label for="Anzahl_cd3" style="color: #000000; font-weight: bold;"<?php echo (!empty($errors["Anzahl_cd3"]) ? $errors["Anzahl_cd3"] : null); ?> > <strong>CD<br> &laquo;Album 3&raquo;</strong>*</label></td>
                                  <td><input class="inputAnzahl" type="text" maxlength="1" id="Anzahl_cd3" name="Anzahl_cd3" value="<?php echo $_text_Anzahl_cd3?>" /> Stück zum Preis von je 1,50 Euro</td>
                              </tr>

                      <tr>
                      <td style="color: #000000; font-weight: bold;">Ich wünsche die Lieferung:<br /></td>
                      <td>
                      <input type="radio" name="delivery" checked="checked" value="Vorauskasse" /> gegen Vorauskasse ( + EUR 2,60 Porto und Verpackung)<br />
                      <input type="radio" name="delivery" value="Nachnahme" /> gegen Nachnahme ( + EUR 6,20 Porto und Verpackung)<br />
                      <br />&nbsp;<br />
                      </td>
                      </tr>
                                  <tr>
                                              <td valign="top"><span style="color: #000000; font-weight: bold;"<?php echo (!empty($errors["AGB"]) ? $errors["AGB"] : null); ?>>AGB&nbsp;*</span></td>
                                              <td><input type="checkbox" id="Allgemeine Geschäftsbedingungen" name="AGB[]" value="AGB"<?php echo $_checkbox_AGB_Allgemeine_Geschäftsbedingungen?> /><label for="Allgemeine Geschäftsbedingungen"><br>Die <a href="agb.html" title="AGB">AGB</a> habe ich gelesen und akzeptiere sie.</label><br />
                                                  </td>
                                  </tr>

                                  <tr>
                                              <td valign="top"><span style="color: #000000; font-weight: bold;"<?php echo (!empty($errors["datenschutz"]) ? $errors["datenschutz"] : null); ?>>Datenschutzerklärung&nbsp;*</span></td>
                                              <td><input type="checkbox" id="Datenschutzerklärung" name="datenschutz[]" value="Datenschutzerklärung"<?php echo $_checkbox_datenschutz?> /><label for="Datenschutzerklärung"><br>Die <a href="datenschutz.html" title="Datenschutz">Datenschutzerkl&auml;rung</a> habe ich gelesen und akzeptiere sie.</label><br />
                                                  </td>
                                  </tr>


                      <?php
                      if($sicherheitsabfrage === true) {
                      ?>
                          <tr>
                              <td colspan="2" style="border-bottom: 0px none;"><br />Bitte lösen Sie die folgende Rechenaufgabe zur Verhinderung von Spam. Danke.</td>
                          </tr>
                          <tr>
                              <td align="right" style="border-top: 0px none;"><label for="ergebnis"<?php echo (!empty($errors["ergebnis"]) ? $errors["ergebnis"] : null); ?>><b><?php echo $zahl1.' + '.$zahl2.' =' ?></b></label></td>
                              <td style="border-top: 0px none;"><input type="text" name="ergebnis" value="" size="3" />&nbsp;*</td>
                          </tr>
                      <?php
                      }
                      ?>
                          <tr>
                              <td>&nbsp;</td>
                              <td><input type="submit" value="kostenpflichtig bestellen" /></td>
                          </tr>
                      </table>


                      </form>
                      <?php
                      } else {
                          
                      $body "<table cellspacing=\"4\">";
                              
                      $body .= "<tr><td>Anrede:</td><td>".htmlspecialchars(!empty($_POST["Anrede"]) ? $_POST["Anrede"] : ""ENT_QUOTES"iso-8859-15")."</td></tr>";
                              
                      $body .= "<tr><td>Vorname:</td><td>".htmlspecialchars(!empty($_POST["Vorname"]) ? $_POST["Vorname"] : ""ENT_QUOTES"iso-8859-15")."</td></tr>";
                              
                      $body .= "<tr><td>Nachname:</td><td>".htmlspecialchars(!empty($_POST["Nachname"]) ? $_POST["Nachname"] : ""ENT_QUOTES"iso-8859-15")."</td></tr>";
                              
                      $body .= "<tr><td>Strasse und Hausnummer:</td><td>".htmlspecialchars(!empty($_POST["Strasse"]) ? $_POST["Strasse"] : ""ENT_QUOTES"iso-8859-15")."</td></tr>";
                              
                      $body .= "<tr><td>Postleitzahl:</td><td>".htmlspecialchars(!empty($_POST["PLZ"]) ? $_POST["PLZ"] : ""ENT_QUOTES"iso-8859-15")."</td></tr>";
                              
                      $body .= "<tr><td>Wohnort:</td><td>".htmlspecialchars(!empty($_POST["Ort"]) ? $_POST["Ort"] : ""ENT_QUOTES"iso-8859-15")."</td></tr>";
                              
                      $body .= "<tr><td>Anzahl CD 1:</td><td>".htmlspecialchars(!empty($_POST["Anzahl_cd1"]) ? $_POST["Anzahl_cd1"] : ""ENT_QUOTES"iso-8859-15")."</td></tr>";
                              
                      $body .= "<tr><td>Anzahl CD 2:</td><td>".htmlspecialchars(!empty($_POST["Anzahl_cd2"]) ? $_POST["Anzahl_cd2"] : ""ENT_QUOTES"iso-8859-15")."</td></tr>";
                              
                      $body .= "<tr><td>Anzahl CD 3:</td><td>".htmlspecialchars(!empty($_POST["Anzahl_cd3"]) ? $_POST["Anzahl_cd3"] : ""ENT_QUOTES"iso-8859-15")."</td></tr>";
                              
                      $body .= "<tr><td>Zahlweise:</td><td>".htmlspecialchars(!empty($_POST["delivery"]) ? $_POST["delivery"] : ""ENT_QUOTES"iso-8859-15")."</td></tr>";

                              if(!empty(
                      $_POST["AGB"])) {
                                  foreach (
                      $_POST["AGB"] as $value) {
                                      
                      $body .= htmlspecialchars($valueENT_QUOTES"iso-8859-15").", ";
                                  }
                              }
                              if(!empty(
                      $_POST["datenschutz"])) {
                                          foreach (
                      $_POST["datenschutz"] as $value) {
                                              
                      $body .= htmlspecialchars($valueENT_QUOTES"iso-8859-15").", ";
                                          }
                              }
                              
                      $body .= "</td></tr>";
                          
                      $body .= "<tr><td colspan=\"2\"></td></tr></table>";

                          if(
                      send_email('Online Bestellformular'$body$receiver1$sendermail)) {
                      ?>
                              <p>Vielen Dank für Ihre Bestellung. Nach Zahlungseingang versenden wir umgehend.</p>
                      <?php
                              
                      if($chkSendCopy) {
                                  
                      send_email('Kopie: Online Bestellformular'$body$sendermail1$sendermail);
                              }
                          } else {
                      ?>
                              <p>Das Formular konnte leider nicht abgesendet werden. Bitte versuchen Sie es sp&auml;ter noch einmal.</p>
                      <?php
                          
                      }
                      }
                      ?>




                       </div>





                      <p>&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br /></p>
                          <p class="clear"></p>







                        <div id="footer">
                          <p>2014 &copy; Hans Mustermann</p>
                        </div>

                       </div>

                      </div>
                      </body>
                      </html>

                      Kommentar


                      • #12
                        @jspit: soweit klar, aber es sollen ja nicht nur Integer, sondern auch Double/Float erkannt werden!
                        Das sollte auch nur zeigen, daß es soweit funktioniert, wie er sich das vorstellt.

                        Wenns Prüfung auf INT gewesen wäre, hätte auch das gereicht:
                        PHP-Code:
                        (integer)$string 
                        ... feddich!
                        Competence-Center -> Enjoy the Informatrix
                        PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                        Kommentar


                        • #13
                          Hallo,

                          Thema hat sich für mich erledigt! Da hier leider keine konkrete Lösung genannt wurde habe ich mir mit einem Trick geholfen.
                          Habe daraus dropdown Felder gemacht und dem Wert 0 einfach den String "keine" zugeordnet. Somit sieht das script ja keine 0 und es geht.

                          Falls jemand aber dennoch eine Lösung für die eigentliche Fragestellung hat wäre ich dennoch daran interessiert, damit ich auch was dabei lerne.

                          Kommentar


                          • #14
                            #2, #3, #4, #6, #8, #9, #10, #12 und dann kommt von dir
                            Da hier leider keine konkrete Lösung genannt wurde
                            .
                            http://www.php.de/php-einsteiger/489...rundlagen.html
                            [QUOTE=nikosch]Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.[/QUOTE]

                            Kommentar


                            • #15
                              ja, ich kenn das Spiel
                              ist immer die gleiche Diskussion zwischen Anfänger und Profi.

                              ich hatte es mit isset() probiert, aber wenn es damit nicht funktioniert und keiner mir sagt, versuch mal das mit dem zu ersetzen.., dann ist das halt für einen Anfänger keine "konkrete" Hilfe.

                              böse gemeint war meine Aussage im übrigen auch nicht!

                              Kommentar

                              Lädt...
                              X