Huhu,
ich hab jetzt schon seit einer ganzen Weile ein nerviges Problem was ich nicht lösen kann.
Beim absenden einer Bewerbung wird ein Code generiert. Dieser wird bei der Bewerbung in der Datenbank mit gespeichert.
Dann gibt es eine weitere Seite wo man den Code eingeben kann und anhand dieses Codes (bestehend aus einer Zahlen-Buchstabenkombination der Länge von 5)
soll man dann den Status der Bewerbung auslesen können. (Angenommen, Abgelehnt,...)
Mein Problem ist: Das funktioniert nur bei Codes die ausschließlich Zahlen enthalten.
Bei Codes wo Buchstaben dabei sind funktioniert es nichtmehr, dann kommt ein MySQL Fehler:
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /users/sampserver/www/cp.php on line 77
Das hier ist der Teil wo es mit dem Code abgefragt werden soll.
Ganz oben wird noch die verbindung zur Datenbank hergestellt.
<div id="content"> <form method="POST"> <input type="text" name="enter" value="Dein Code" onclick=" if (this.value == 'Dein Code') this.value = '';" onblur=" if (this.value == '') this.value = 'Dein Code';"><br><br> <input type="submit" name="submit" value="Bewerbung checken"> </form> <?php if(isset($_POST['submit'])) { $code = mysql_real_escape_string($_POST["enter"]); $sql = "SELECT * FROM bewerbungen WHERE code =".$code; $db_erg = mysql_query( $sql ); if ( ! $db_erg ) { echo('Bitte gib einen gültigen Code ein.'); } while ($zeile = mysql_fetch_array( $db_erg, MYSQL_ASSOC)) { if($zeile['verarbeitet']==0) { $stats = 'Deine Bewerbung wurde noch <b>nicht bearbeitet</b>. Bitte Gedulde dich noch etwas.'; } if($zeile['verarbeitet']==1) { $stats = 'Deine Bewerbung ist in <b><font color="orange">Bearbeitung.</font></b> Bitte Gedulde dich noch etwas.'; } if($zeile['verarbeitet']==2) { $stats = '<b><font color="green">Herzlichen Glückwunsch.</font></b><br>Deine Bewerbung wurde angenommen. Bitte verbinde dich auf unseren Teamspeak. <br>IP: <a href="ts3server://aufstreife.teamspeak.de">aufstreife.teamspeak.de</a><br>Warte einfach in der Eingangshalle bis ein zuständiger Ausbilder dich zum Interview moved.'; } if($zeile['verarbeitet']==3) { $stats = 'Es tut uns Leid dir mitteilen zu müssen, dass deine Bewerbung <b><font color="red">abgelehnt</font></b> wurde.<br> Vielleicht klappts ein ander mal.'; } echo $stats; } } ?>
In der Datenbank wird es als varchar(5) gespeichert.
Beim auslesen des input texts hab ich es so wie oben versucht ($code = mysql_real_escape_string($_POST["enter"]);) und auch vorher schon ohne mysql_real_escape_string();
Weiß jmd. was den Fehler verursacht?
- Tom