Stránka: 1 z 1
| [ Príspevkov: 12 ] | |
Autor | Správa |
---|
Registrovaný: 06.09.07 Prihlásený: 21.03.24 Príspevky: 263 Témy: 62 | 62 |
Ahojte chalani, chcel by som sa spytat ci nemate skusenost s mazanim v databazach. UPRESNENIE: mam vytvorenu tabulku inzeraty, kazdy vkladany inzerat dostava primary key ID. Ako vytvorim zmazanie konkretneho inzeratu ? viem ze sa to robi cez funkciu delete ... ale neviem ako vymazat konkretny ... ku kazdemu inzeratu vypisujem aj "href odkaz" vymazat ...
|
|
Registrovaný: 29.10.07 Prihlásený: 27.10.23 Príspevky: 1395 Témy: 30 | 30 Bydlisko: Bratislava |
napriklad
Kód: DELETE FROM inzeraty WHERE id = 84;
alebo google -> mysql + delete + syntax (je to take tazke?)
_________________ PC: OS: Windows 11 (64bit) CPU: AMD Ryzen 5 3600 GPU: ASUS TUF RTX3060Ti 8GB RAM: 16GB DDR4-3200MHz Kingston Fury MB: ASUS TUF Gaming B550M WIFI SSD: 1000GB PCIe M.2 NVME Mobil: Xiaomi POCO F2 PRO |
|
Registrovaný: 06.09.07 Prihlásený: 21.03.24 Príspevky: 263 Témy: 62 | 62 |
Len nerozumiem preco napr. ID = 84
|
|
Registrovaný: 29.10.07 Prihlásený: 27.10.23 Príspevky: 1395 Témy: 30 | 30 Bydlisko: Bratislava |
tak inak
Kód: DELETE FROM `nazov tabulky` WHERE `nazov stlpca v ktorom je jednoznacne id` = $id_prispevku_ktory_chces_vymazat;
_________________ PC: OS: Windows 11 (64bit) CPU: AMD Ryzen 5 3600 GPU: ASUS TUF RTX3060Ti 8GB RAM: 16GB DDR4-3200MHz Kingston Fury MB: ASUS TUF Gaming B550M WIFI SSD: 1000GB PCIe M.2 NVME Mobil: Xiaomi POCO F2 PRO |
|
Registrovaný: 06.09.07 Prihlásený: 21.03.24 Príspevky: 263 Témy: 62 | 62 |
Toto rozumiem, prepac asi som nevysvetlil poriadne co chcem .. nechcem natvrdo pisat id inzerat ktore ma mazat ... musim mu nejako povedat ze ktore vsak? myslim tu premennu $id_prispevku_ktory_chces_vymazat ... tomuto moc nechapem ze ako do premennej vlozim spravne id ktore ma mazat.
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 | 51 Bydlisko: Bratislava |
sam pises, ze generujes odkaz pre vymazanie toho-ktoreho inzeratu, tj. napr. delete.php?id=1 (id je pre kazdy inzerat iny). V subore delete.php potom tuto hodnotu v id spracujes a dosadis do sql...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 30.05.06 Prihlásený: 08.10.14 Príspevky: 1756 Témy: 35 | 35 Bydlisko: BA - WESTSIDE |
Oplatí sa spomenúť, že takéto riešenie cez odkazy je náchylné na CSRF útok (to znamená, že ti niekto podstrčí "vymazávaciu" URL a cez teba dáta vymaže).
Je také pravidlo, týkajúce sa formulárov na webe - ak nejaká akcia mení stav databázy (pridáva / upravuje / vymazáva položky), treba použiť metódu POST (odkazy používajú metódu GET).
Toto je presne ten prípad, takže treba použiť POST. Zároveň ako ochranu proti CSRF je potrebné generovať špeciálne tokeny pri zobrazení formulára a kontrolovať ich pri spracovaní formulára. Konkrétny návod ako na to nájdeš v článku Jakuba Vrány.
_________________
A. S. Tanenbaum píše: The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice. |
|
Registrovaný: 06.09.07 Prihlásený: 21.03.24 Príspevky: 263 Témy: 62 | 62 |
JJ ,ale len
Kód: <a href="zmazatinzerat.php">Zmazať</a>
to som dal pripisat ku azdemu inzeratu ... a neviem ako dalej.
|
|
Registrovaný: 06.09.07 Prihlásený: 21.03.24 Príspevky: 263 Témy: 62 | 62 |
Dakujem za upozornenie, urcite je to velmi potrebne a oplati sa to ... ale ja sa ucim a najprv asi musim pochopit GET ako funguje ...
|
|
Registrovaný: 30.05.06 Prihlásený: 08.10.14 Príspevky: 1756 Témy: 35 | 35 Bydlisko: BA - WESTSIDE |
jtomcik píše: ale ja sa ucim a najprv asi musim pochopit GET ako funguje ... Nie, nemusíš. Zbytočne si zvykneš na zlé návyky. Skús radšej toto: Kód: <form method="post" action="vymaz.php"> <input name="id" value="<?php echo $id; ?>" type="hidden"> <input name="token" value="<?php generate_token(); ?>" type="hidden"> <input type="submit" value="Vymazať"> </form>
Kód pre vymaz.php: Kód: <?php if (validate_token($_POST['token']) && validate_id($_POST['id'])) { mysql_query("DELETE FROM inzeraty WHERE id = '".$_POST['id']."'"); echo "Vymazané!"; } else { echo "Chyba, odošlite formulár ešte raz."; } ?>
Ešte musíš nejak implmenetovať funkcie generate_token, validate_token (pozri ten článok) a validate_id (napr. regulárnym výrazom povoliť len celočíselné hodnoty).
_________________
A. S. Tanenbaum píše: The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice. |
|
Registrovaný: 06.09.07 Prihlásený: 21.03.24 Príspevky: 263 Témy: 62 | 62 |
Nabiflene p360t;
dakujem ... funguje to perfektne.
|
|
Registrovaný: 07.08.06 Prihlásený: 18.11.21 Príspevky: 947 Témy: 268 | 268 Bydlisko: Levice |
ja to mam riesene pomocou hesla..kazdy inzerat ma svoje heslo, a ked niekto nahodi adresu napr. vymazanie.php?id=68, tak to nevymaze kym nezada spravne heslo, ktore je v dtb sifrovane sha1 + md5.
A navyse je url zmenena v .htaccess.
A pomocou php je GET[id] aj osetrene, aby id mohla byt len ciselna hodnota, a len taka, ktora existuje v databaze.
Ale samozrejme ziadna ochrana neni dokonala, ale ja nemam databazu Pentagonu, ze by som ju neviem ako mal chranit...
|
|
Stránka: 1 z 1
| [ Príspevkov: 12 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| v Redakčné systémy | 4 | 509 | 29.06.2007 21:35 Freelan | | v PHP, ASP | 2 | 422 | 18.03.2009 21:57 7diwad7 | | v PHP, ASP | 9 | 727 | 26.07.2009 14:35 KViki | | v PHP, ASP | 2 | 415 | 24.04.2010 18:57 jtomcik | | v Databázy | 3 | 596 | 20.12.2009 19:33 baumax | | v PHP, ASP | 11 | 633 | 18.02.2009 14:23 rann14 | | v PHP, ASP | 24 | 898 | 24.02.2009 12:40 stenley | | v PHP, ASP | 29 | 1620 | 05.12.2008 9:44 stenley | | v PHP, ASP | 5 | 436 | 22.04.2014 16:59 Ďuri | | v Databázy | 3 | 907 | 25.09.2008 15:06 rooobertek | | v Ponuka práce | 0 | 1354 | 02.05.2011 12:08 magicmedia | | v PHP, ASP | 4 | 593 | 21.02.2009 20:12 Xardas | | v PHP, ASP | 0 | 334 | 23.11.2011 13:58 KViki | | v PHP, ASP | 23 | 1155 | 24.02.2009 23:09 Flety | | v PHP, ASP | 6 | 572 | 26.02.2009 13:01 Flety | | v PHP, ASP | 6 | 710 | 11.03.2009 21:41 Tominator |
|