• PHP
    <span class="syntaxdefault">function checkString</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$v</span><span class="syntaxkeyword">)<br />{<br /></span><span class="syntaxdefault">    for</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$i </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> 1</span><span class="syntaxkeyword">;</span><span class="syntaxdefault"> $i </span><span class="syntaxkeyword"><=</span><span class="syntaxdefault"> strlen</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$v</span><span class="syntaxkeyword">);</span><span class="syntaxdefault"> $i</span><span class="syntaxkeyword">++)<br /></span><span class="syntaxdefault">    if</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">is_int</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">substr</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$v</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $i</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $i</span><span class="syntaxkeyword">++)))<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">        return false</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">        return true</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br />}<br /></span><span class="syntaxdefault"> </span>


    Er liest den 1. Buchstaben ein und gibt sofort irgendwas zurück, so wird nur ein Buchstabe geprüft, ich habe es noch mal geblockt:


    PHP
    <span class="syntaxhtml"><br /><span class="syntaxdefault"><?php<br />  </span><span class="syntaxkeyword">function </span><span class="syntaxdefault">checkString</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$v</span><span class="syntaxkeyword">)<br />  {<br />    for(</span><span class="syntaxdefault">$i </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">1</span><span class="syntaxkeyword">; </span><span class="syntaxdefault">$i </span><span class="syntaxkeyword"><= </span><span class="syntaxdefault">strlen</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$v</span><span class="syntaxkeyword">); </span><span class="syntaxdefault">$i</span><span class="syntaxkeyword">++)<br />    {<br />      if(!</span><span class="syntaxdefault">is_int</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">substr</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$v</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">$i</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">$i</span><span class="syntaxkeyword">++)))<br />      {<br />        return </span><span class="syntaxdefault">false</span><span class="syntaxkeyword">;<br />      }<br />    }  <br />    return </span><span class="syntaxdefault">true</span><span class="syntaxkeyword">;<br />  }   <br /></span><span class="syntaxdefault">?><br /></span></span>
  • Die Funktion funktioniert wunderbar, man muss sie nur richtig anwenden, dein Regulärer Ausdruck:


    PHP
    <span class="syntaxdefault">  </span><span class="syntaxkeyword">if(</span><span class="syntaxdefault">preg_match</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'#\d#'</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">$var</span><span class="syntaxkeyword">))<br />  {<br />    </span><span class="syntaxcomment">// Im String befindet sich eine Zahl<br />  </span><span class="syntaxkeyword">}<br />  else<br />  {<br />    </span><span class="syntaxcomment">// Im String befindet sich keine Zahl<br />  </span><span class="syntaxkeyword">}<br /> </span><span class="syntaxdefault"></span>
  • Ich muss mich entschuldigen, bei der Funktion habe ich echt Mist gebaut, na ja ich bin mit meinen Gedanken eh Momentan woanders..


    # sind die Begrenzungszeichen, die signalisieren das zwischen den Beiden das Suchmuster steht, möglich sind z.B. auch / oder $.


    \d ist das Suchmuster, ein d mit Escape \ bedeutet "Beliebige Ziffer".

  • PHP
    <span class="syntaxhtml">  <form action="form.php" method="post"><br />    <p>Ihr Name*:</p><br />    <p><input type="text" name="name" /></p><br />    <p>Gew&uuml;nschte Anzahl Karten</p><br />    <p><input type="number" min="1" max="100" value="1" name="anzahl" /></p><br />    <p><input type="submit" name="submit" value="Bestellung abschicken" /></p><br />  </form><br /><br />  <hr /><br /><br /><span class="syntaxdefault"><?php<br /><br />  $name </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">$anzahl    </span><span class="syntaxkeyword">= </span><span class="syntaxstring">""</span><span class="syntaxkeyword">; </span><span class="syntaxcomment">// name und anzahl initialisieren<br /><br />  </span><span class="syntaxkeyword">function </span><span class="syntaxdefault">checkName</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$v </span><span class="syntaxkeyword">= </span><span class="syntaxstring">''</span><span class="syntaxkeyword">)<br />  {<br />    if(!</span><span class="syntaxdefault">ctype_alnum</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$v</span><span class="syntaxkeyword">))<br />      return </span><span class="syntaxdefault">false</span><span class="syntaxkeyword">;<br />    if(</span><span class="syntaxdefault">preg_match</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'#\d#is'</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">$v</span><span class="syntaxkeyword">))<br />      return </span><span class="syntaxdefault">false</span><span class="syntaxkeyword">;<br />    return </span><span class="syntaxdefault">true</span><span class="syntaxkeyword">;<br />  }<br /><br />  if<br />  (<br />    !empty(</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'submit'</span><span class="syntaxkeyword">]) AND<br />    !empty(</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'name'</span><span class="syntaxkeyword">])   AND<br />    !empty(</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'anzahl'</span><span class="syntaxkeyword">])<br />  )<br />  {<br />    </span><span class="syntaxdefault">$name   </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">trim</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">htmlentities</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'name'</span><span class="syntaxkeyword">]));<br />    </span><span class="syntaxdefault">$anzahl </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">intval</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">trim</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">htmlentities</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'anzahl'</span><span class="syntaxkeyword">])));<br /><br />    if(</span><span class="syntaxdefault">checkName</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$name</span><span class="syntaxkeyword">) AND </span><span class="syntaxdefault">is_int</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$anzahl</span><span class="syntaxkeyword">))<br />    {<br />      print </span><span class="syntaxstring">"<p>Absenden erfolgreich, $name hat $anzahl Karte/n bestellt.</p>"</span><span class="syntaxkeyword">;<br />    }<br /><br />    if(!</span><span class="syntaxdefault">checkName</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$name</span><span class="syntaxkeyword">))<br />      print </span><span class="syntaxstring">"<p><strong>Fehler:</strong> Der Name darf nur aus Buchstaben bestehen!</p>"</span><span class="syntaxkeyword">;<br />    if(!</span><span class="syntaxdefault">is_int</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$anzahl</span><span class="syntaxkeyword">))<br />      print </span><span class="syntaxstring">"<p><strong>Fehler:</strong> Anzahl der Karten ist keine g&uuml;ltige Zahl!</p>"</span><span class="syntaxkeyword">;<br />  }<br /></span><span class="syntaxdefault">?><br /></span></span>


    Sorry, gerade keine große Zeit zu erklären... Guck es dir mal an und bei Fragen stell sie.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!