• PHP
    1. <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
    1. <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
    1. <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
    1. <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.