Autor Zpráva
gygabyte
Profil *
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
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 *
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
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
A nebo takto:
$sql = "SELECT * from ikonky where id='$_GET[edit]'";
Tori
Profil
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 *
Aha... děkuji.
A jak můžu zapnout zobrazování chyb?
panther
Profil
gygabyte:
error_reporting(E_ALL), ale jen pro testovací účely.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0