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:

1function DeleteGb($id, $smazat) { 
2echo "<center>";
3if(isset($smazat)):
4 $dotaz = MySQL_Query("DELETE FROM aktuality WHERE id = '$id'");
5 if(!$dotaz):
6  echo "Bohužel se nepodařilo záznam vymazat... <a href='admin.php?akce=Aktuality'>Zpět</a>";
7 else:
8  echo "Záznam byl vymazán z databáze... <a href='admin.php?akce=Aktuality'>Pokračujte zde</a>";
9 endif;
10else:
11 echo "Opravdu chcete vymazat aktualitu? <a href='admin.php?akce=DeleteGb&id='$id'&smazat=1'>Ano</a>&nbsp;&nbsp;";
12 echo "<a href='javascript:history.back();'>Ne</a>";
13endif;
14echo
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 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 *
Konkretni id tohle

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


misto

 <a href='admin.php?akce=DeleteGb&id='$id'&smazat=1'>
 <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">
<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.
1<?php
2if($_GET["akce"]=="DeleteGb")
3 {
4   $result = mysql_query("delete from aktuality where id='{$_GET["id"]}'");
5 }
6?>
<?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.
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