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:
1function DeleteGb($id, $smazat) { 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 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']); if($akce=="DeleteGb") DeleteGb($_POST['id'], $_POST['smazat']); |
||
Radimovic Profil * |
#6 · Zasláno: 6. 9. 2011, 20:29:01
|
||
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.
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. 1<?php <?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: 14 let
|
Toto vlákno je staré, již dlouho do něj nikdo nepřispíval.
Informace a odkazy zde uváděné už nemusejí být aktuální. Nechcete-li řešit zde uvedenou konkrétní otázku, založte si vlastní vlákno, nepište do tohoto. Vložíte-li sem nyní příspěvek, upoutáte pozornost mnoha lidí a někteří z nich si jen kvůli vám přečtou i všechny předcházející příspěvky. Předpokládáte-li, že váš text skutečně bude hodnotný, stiskněte následující tlačítko:
Běda vám, jestli to bude blábol.
0