Hi,
habe leider ein Merkwürdiges problem festgestellt in meiner 2. if abfrage.
In der 2. If Abfrage soll geprüft werden ob der Wert "input" in der Datenbank "bewertungen" in der spalte "userid" vorhanden ist.
userid hat in meiner sql der Primärschlüssel.
In userid stehen in der Datenbank die Usernummern.
Folgendes merkwürdiges problem tritt auf:
Wenn anstelle von IRGENDEINER Zahl ein Buchstabe oder mehrere Buchstaben übergeben werden, meint die 2. if abfrage das der übergebene Wert vorhanden ist und löst den else dadrunter aus.
Wenn nur irgend eine Zahlenkombination wie 123456789 (die nicht in der Datenbank ist) übergeben wird, verhält sich diese if abfrage korrekt und gibt die korrekte Fehlermeldung aus.
Beim Script Aufruf wird normalerweise der Wert "user" übergeben welcher dann zu "input" wird.
Ich hoffe ihr könnt mir damit weiterhelfen, da ich unbedingt die Fehlermeldung ausgeben muss.
Gibt leider einige "tölpel" die ihrem usernamen anstelle der userid beim script aufruf verwenden. Und das trotzt das ich eine userid Liste bereitstelle mit fertigen script aufruf -.-
habe leider ein Merkwürdiges problem festgestellt in meiner 2. if abfrage.
In der 2. If Abfrage soll geprüft werden ob der Wert "input" in der Datenbank "bewertungen" in der spalte "userid" vorhanden ist.
userid hat in meiner sql der Primärschlüssel.
In userid stehen in der Datenbank die Usernummern.
Folgendes merkwürdiges problem tritt auf:
Wenn anstelle von IRGENDEINER Zahl ein Buchstabe oder mehrere Buchstaben übergeben werden, meint die 2. if abfrage das der übergebene Wert vorhanden ist und löst den else dadrunter aus.
Wenn nur irgend eine Zahlenkombination wie 123456789 (die nicht in der Datenbank ist) übergeben wird, verhält sich diese if abfrage korrekt und gibt die korrekte Fehlermeldung aus.
Beim Script Aufruf wird normalerweise der Wert "user" übergeben welcher dann zu "input" wird.
PHP-Code:
$dbconnect=mysql_connect("SERVER","SQLNUTZER","SQLPASSWORT");
$dbusername = "SQLDBUSER";
$dbtable = "bewertungen";
$dbsuchspalte = "userid";
$input = $_GET['user'];
$inputvorschlag = "userid";
$inputvorschlag2 = "USERID";
if($input!="")
{
mysql_select_db($dbusername, $dbconnect);
$sql_checkbefehl="SELECT $dbsuchspalte FROM $dbtable WHERE $dbsuchspalte =" . $input;
$checkergebnis=mysql_query($sql_checkbefehl,$dbconnect) OR die(mysql_error());
if (mysql_num_rows($checkergebnis)==0 OR $input==$inputvorschlag OR $input==$inputvorschlag2)
{
ausgabe wenn user nicht in der Datenbank oder gleich ist mit inputvorschlag und imputvorschlag2
}
else
{
ausgabe wenn user in Datenbank vorhanden
}
}
else
{
Ausgabe wenn kein Wert für input übergeben wurde
}
Gibt leider einige "tölpel" die ihrem usernamen anstelle der userid beim script aufruf verwenden. Und das trotzt das ich eine userid Liste bereitstelle mit fertigen script aufruf -.-
Kommentar