[Solved] if anweisung in php
bambooS 08.02.2009 - 14:43 2306 21
Hansmaulwurf
u wot m8?
|
Das mit der sql-injections werd ich machen. Dafür solltest auch ein bischen Zeit nehmen, und das in Ruhe extra durchgehen ![;)](/images/smilies/wink.gif) Ist nur damit man keinen Schadcode einschleussen kann
|
kleinerChemiker
Here to stay
|
im grunde ist das if so gar nicht nötig. denn daß der benutzer zu einem der beiden teams gehört hast du ja schon im sql überprüft. es würde daher eigentlich reichen zu überprüfen ob 0 zeilen zurückgeliefert werden oder nicht.
generell schaut der code derzeit richtig aus. dürfte daher eher an einer nicht geposteten zeile liegen
|
bambooS
OC Addicted
|
Nun gut. Habe es wiederrum angepasst und jetzt sieht es so aus (es wird auch nur noch mehr dieser Code ausgeführt. Alles andere habe ich auskommentiert): $Form_ID = $_REQUEST['Form_ID'];
if($Form_ID == '46') //hier soll später dann nur auf Form_ID != NULL überprüft werden
{
$Team_ID1 = $_REQUEST['Team_ID1'];
$Team_ID2 = $_REQUEST['Team_ID2'];
$query = "SELECT Id, Nickname, teamlink FROM tbl_benutzerdaten WHERE";
$query .= " (Nickname like '".$_REQUEST["name"]."') AND (Kennwort = '".md5 ($_REQUEST["pwd"])."')";
$query .= " AND ((teamlink = '".$Team_ID1."') OR (teamlink = '".$Team_ID2."'))";
$result = mysql_query( $query, GetConnection() ) or die ( mysql_error() );
$data = mysql_fetch_array ($result);
if (mysql_num_rows($result) > 0)
{
$_SESSION["user_id"] = $data["Id"];
$_SESSION["user_nickname"] = $data["Nickname"];
header("Location:ergebnis.php?TeamID=".$Form_ID);
}
else
{
header ("Location: formular.php?ID=". $Form_ID ."&TeamID1=" .$Team_ID1. "&TeamID2=" .$Team_ID2."&fehler=1");
}
}
Wenn ich ein berechtigtes Team eingebe, kommt wieder diese Meldung: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
|
kleinerChemiker
Here to stay
|
ganz hast du es nicht ausgebessert ![;)](/images/smilies/wink.gif) versuch mal temalink = 1 statt teamlink ='1' bzw. echo mal $query, falls das nicht hilft.
|
bambooS
OC Addicted
|
Hab die Zeilen auf dies umgeändert. $query = "SELECT Id, Nickname, teamlink FROM tbl_benutzerdaten WHERE";
$query .= " (Nickname like '".$_REQUEST["name"]."') AND (Kennwort = '".md5 ($_REQUEST["pwd"])."')";
$query .= " AND ((teamlink = ".$Team_ID1.") OR (teamlink = ".$Team_ID2."))";
$result = mysql_query( $query, GetConnection() ) or die ( mysql_error() );
Hab das Ganze auch noch mit echos versehen und folgendes kommt raus: Team1: 1 Team2: 5
query: SELECT Id, Nickname, teamlink FROM tbl_benutzerdaten WHERE (Nickname like 'culpa') AND (Kennwort = 'b7ea858d1320d9ecf7e99079fdf96a9a') AND ((teamlink = 1) OR (teamlink = 5))
data: Array ( [0] => 2 [Id] => 2 [1] => culpa [Nickname] => culpa [2] => 1 [teamlink] => 1 ) *grml*
|
kleinerChemiker
Here to stay
|
funktioniert ja dann anscheinend eh.
|
bambooS
OC Addicted
|
Jupp tut es auch!
Ich bin so vernarrt gewesen, dass ich es nicht bemerkt habe, dass ich auf die ergebnis.php umgeleitet wurde.
Dort ist irgendwo ein Fehler in einer der SQL Anweisungen.
Ich könnte mich so dermaßen ohrfeigen...
Danke kleinerChemiker für deine Geduld und Zeit. Vielen Dank.
lg
|