Autor | Zpráva | ||
---|---|---|---|
Radimovic Profil * |
#1 · Zasláno: 6. 9. 2011, 19:59:32
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> "; echo "<a href='javascript:history.back();'>Ne</a>"; endif; echo Diky |
||
DoubleThink Profil * |
#2 · Zasláno: 6. 9. 2011, 20:11:36
Ukaž volání té funkce - $id pravděpodobně neobsahuje správnou hodnotu.
|
||
Radimovic Profil * |
#3 · Zasláno: 6. 9. 2011, 20:24:08
ikdyz jsem zkousel dat tam konkretni ID napevno tak nefungovalo
|
||
okolojdouci Profil * |
#4 · Zasláno: 6. 9. 2011, 20:27:37
Radimovic:
„ikdyz jsem zkousel dat tam konkretni ID napevno tak nefungovalo“ Něco jako DeleteGb(4) ? |
||
Radimovic Profil * |
#5 · Zasláno: 6. 9. 2011, 20:28:00
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 * |
#6 · Zasláno: 6. 9. 2011, 20:29:01
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 |
#7 · Zasláno: 6. 9. 2011, 20:39:22
Radimovic:
Potom by mělo být $_GET nebo $_REQUEST. |
||
DoubleThink Profil * |
#8 · Zasláno: 6. 9. 2011, 20:42:10 · Upravil/a: DoubleThink
Radimovic:
Sestavuješ DELETE dotaz z neošetřených GET dat - za to bys zasloužil pár facek. |
||
CATerPILAR Profil |
#9 · Zasláno: 6. 9. 2011, 23:49:23
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"> <?php if($_GET["akce"]=="DeleteGb") { $result = mysql_query("delete from aktuality where id='{$_GET["id"]}'"); } ?> a mrkni jestli je to fuč. |
||
Časová prodleva: 6 dní
|
|||
Radimovic Profil * |
#10 · Zasláno: 12. 9. 2011, 17:40:22
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 |
#11 · Zasláno: 12. 9. 2011, 19:55:58
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. |
||
Časová prodleva: 13 let
|
0