webForumDet fria alternativet

problem med if-sats i uppladdningsscript

PHP

2 svar · 372 visningar · startad av lillebror

Medlem sedan apr. 20041 597 inlägg
Frågan#1

Hej,

Jag har ett bilduppladdningsscript som jag försökt lägga till lite felhantering i för att minimera eventuella fel i databasen.

Tidigare kunde jag ladda upp vilken fil som helst.

Detta försökte jag åtgärda med följande kod:

$img_x_y_size =  getimagesize($uploaded_img_location);

if($img_x_y_size[2] <> 1 OR $img_x_y_size[2] <> 2) {
	exit("<script Language='JavaScript'>location.href=('uploadscript.php?error=1');</script>");
}

I $img_x_y_size[2] får jag ut vilken filtyp det är i form av ett heltal. Detta heltal stämmer jag av mot if-satsen som kommer under. Om variabeln är skild från 1 (jpg) eller 2 (gif) så skall if-satsen exekveras. Som det är nu exekveras den trots att jag laddar upp en giltig jpg-fil.

Vad kan vara fel?

Medlem sedan mars 20025 907 inlägg
#2
$img_x_y_size[2] <> 1 OR $img_x_y_size[2] <> 2

Om $img_x_y_size[2] = 2 så kommer den första halvan av if-satsen vara sann. Är den 1 så kommer den andra halvan att vara sann. Med andra ord. Byt ut OR mot AND!

Jag hade nog även bytt <> mot != för jag tycker det är tydligare. :)

Medlem sedan apr. 20041 597 inlägg
#3

Får det vara så enkelt!? :e Tur att det finns ett antal falkögon här på wF!

251 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)