Autor | Zpráva | ||
---|---|---|---|
gygabyte Profil * |
#1 · Zasláno: 23. 9. 2010, 17:51:39
Zdravím, mám kód <?php if($_GET['edit']) { pripoj_db(); $sql = "SELECT * from ikonky where id='$_GET['edit']'"; $res = mysql_query($sql); $z = mysql_fetch_array($res); echo mysql_error(); echo '<form action="/admin.php" method="post"><br>'; echo '<input type="text" size="40" name="'.$z['odkaz'].'" value="'.$z['odkaz'].'><br>'; echo '<input type="text" size="40" name="'.$z['ikona'].'" value="'.$z['ikona'].'><br>'; echo '</form><br>'; } ?> funkce pripoj_db() funguje správně. stránka nevypíše žádnou chybu, ale nenačte se. Za boha nemůžu najít chybu. |
||
ShiraNai7 Profil |
#2 · Zasláno: 23. 9. 2010, 18:19:07
1) ten radek s $sql = ... tam bych hledal syntaktickou chybu asi, kolem $_GET..
2) zkus vypsat mysql error uz pred mysql_fetch_array (tj hned za mysql_query) 3) pekna prilezitost pro sql injection tento kod |
||
gygabyte Profil * |
#3 · Zasláno: 23. 9. 2010, 18:24:35
mysql_error() jsem přehodil, ale stále nic nevypisuje.
Na řádku s $sql chybu nevidím. S bezpečností mám problémy pořád .... |
||
ShiraNai7 Profil |
#4 · Zasláno: 23. 9. 2010, 18:30:05
Tam teda chyba bude.. asi mas na serveru uplne vypnuto zobrazovani chyb.
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in *soubor* on line 4 Takze prepsat ten radek na toto: $sql = "SELECT * from ikonky where id='".$_GET['edit']."'"; |
||
Keeehi Profil |
#5 · Zasláno: 23. 9. 2010, 19:20:10
A nebo takto:
$sql = "SELECT * from ikonky where id='$_GET[edit]'"; |
||
Tori Profil |
#6 · Zasláno: 23. 9. 2010, 19:28:51
gygabyte:
můžete alespoň zajistit, že vám do db přijde jen kladné číslo: $id = (int) $_GET['edit']; if ($id > 0) { $sql = "SELECT * from ikonky where id='$id'"; .... } |
||
gygabyte Profil * |
#7 · Zasláno: 23. 9. 2010, 22:02:09
Aha... děkuji.
A jak můžu zapnout zobrazování chyb? |
||
panther Profil |
#8 · Zasláno: 23. 9. 2010, 22:17:00
gygabyte:
error_reporting(E_ALL), ale jen pro testovací účely. |
||
Časová prodleva: 14 let
|
0