Autor Zpráva
Radimovic
Profil *
Koukam do toho hrozne dlouho.... Asi bude tezky analyzovat kdyz nevidite zbytek skriptu ale treba tam mam nejakou chybku kterou jsem prehlid, protoze uz do toho koukamhrozne dlouho:

function DeleteGb($id, $smazat) { 
echo "<center>";
if(isset($smazat)):
 $dotaz = MySQL_Query("DELETE FROM aktuality WHERE id = '$id'");
 if(!$dotaz):
  echo "Bohužel se nepodařilo záznam vymazat... <a href='admin.php?akce=Aktuality'>Zpět</a>";
 else:
  echo "Záznam byl vymazán z databáze... <a href='admin.php?akce=Aktuality'>Pokračujte zde</a>";
 endif;
else:
 echo "Opravdu chcete vymazat aktualitu? <a href='admin.php?akce=DeleteGb&id='$id'&smazat=1'>Ano</a>&nbsp;&nbsp;";
 echo "<a href='javascript:history.back();'>Ne</a>";
endif;
echo


Diky
DoubleThink
Profil *
Ukaž volání té funkce - $id pravděpodobně neobsahuje správnou hodnotu.
Radimovic
Profil *
ikdyz jsem zkousel dat tam konkretni ID napevno tak nefungovalo
okolojdouci
Profil *
Radimovic:
ikdyz jsem zkousel dat tam konkretni ID napevno tak nefungovalo

Něco jako DeleteGb(4) ?
Radimovic
Profil *
Tohle by melo byt komplet:

<a href="admin.php?akce=DeleteGb&id='.$zaznam['id'].'" title="Vymazaže tento záznam z databáze">Smazat</a>


a

if($akce=="DeleteGb") DeleteGb($_POST['id'], $_POST['smazat']);
Radimovic
Profil *
Konkretni id tohle

 <a href='admin.php?akce=DeleteGb&id=5&smazat=1'>


misto

 <a href='admin.php?akce=DeleteGb&id='$id'&smazat=1'>
Tori
Profil
Radimovic:
Potom by mělo být $_GET nebo $_REQUEST.
DoubleThink
Profil *
Radimovic:
Sestavuješ DELETE dotaz z neošetřených GET dat - za to bys zasloužil pár facek.
CATerPILAR
Profil
Tak si to vyzkoušej jednoduše v samostatným php souboru s otevřeným připojením do db.
<a href="admin.php?akce=DeleteGb&id=5">
ověř si jestli se ti do id načítá nějaká proměnná. Tady to zkouším s konkrétní hodnotou, kterou by sis měl najít v db. Prostě zkusit smazat konkrétní řádek.
<?php
if($_GET["akce"]=="DeleteGb")
 {
   $result = mysql_query("delete from aktuality where id='{$_GET["id"]}'");
 }
?>

a mrkni jestli je to fuč.
Radimovic
Profil *
ID v linku mi to vypise, href na potvrzeni (ano) ma taky spravny link. Po kliknuti na ano se link zmeni (prida se &smazat=1) ale nic se nestane
Tori
Profil
Radimovic:
Předáváte funkci DeleteGb data z pole $_POST (viz [#5]), ale posíláte je v URL => přijdou do $_GET a $_REQUEST. Vypište si ten SQL dotaz, ať vidíte, jestli se vám tam vůbec dostane to idčko.
A než to id dáte do dotazu, tak ho prožeňte funkcí intval, jinak vám může kdokoli smazat celou tabulku.

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