Autor | Zpráva | ||
---|---|---|---|
staco Profil |
Ahojte ,mam takyto kod,vsetko prebehne bez chyby ale zaznam sa nevymaze,neviete mi poradit ,kde robim chybu?Nevybere mi z DB character_id,ale neviem ako na to. Dakujem za kazdu radu
<?php if (isset($_POST['submit']) && $_POST['submit'] == 'Ano') { if (isset($_POST['character_id'])){ $character_id = (int)$_POST['character_id']; $query = 'DELETE FROM diel WHERE character_id = ' . $character_id; mysql_query($query, $db) or die (mysql_error($db)); $query = 'DELETE FROM nazov_prevadzky_moznosti WHERE character_id = ' . $character_id; mysql_query($query, $db) or die (mysql_error($db)); $query = 'DELETE FROM zariadenie_moznosti WHERE character_id = ' . $character_id; mysql_query($query, $db) or die (mysql_error($db)); } ?> <html> <head> <title>Odstranit uzivatelsky ucet</title> </head> <body> <p><strong>Vas ucet bol vymazany.</strong></p> <p><a href="zoznam_dielov.php">Klinite sem</a> Pre navrat na hlavnu stranku.</a></p> </body> </html> <?php mysql_close($db); die(); } else { ?> <html> <head> <title>Odstranit uzivatelsky ucet</title> <script type="text/javascript"> window.onload = function() { document.getElementById('zrusit').onclick = goBack; } function goBack() { history.go(-1); } </script> </head> <body> <p>Skutocne chcete vymazat ucet?</p> <p><strong>Ak potvrdite operaciu nebude mozne ucet obnovit!</strong></p> <form action="delete_diel.php" method="post"> <div> <input type="submit" name="submit" value="Ano"/> <input type="button" id="zrusit" value=" Nie " onclick="history.go(-1);"/> </div> </form> </body> </html> <?php } ?> Ak to spracujem bez toho dotazu ,ci uzivatel chce polozku vymazat ,alebo nie tak mi to ide kod ktory funguje: switch ($_POST['action']) { case 'Vymazat Diel': //Pre istotu overime ci je ID naozaj cislo $character_id = (int)$_POST['character_id']; $query = 'DELETE FROM diel WHERE character_id = ' . $character_id; mysql_query($query, $db) or die (mysql_error($db)); $query = 'DELETE FROM nazov_prevadzky_moznosti WHERE character_id = ' . $character_id; mysql_query($query, $db) or die (mysql_error($db)); $query = 'DELETE FROM zariadenie_moznosti WHERE character_id = ' . $character_id; mysql_query($query, $db) or die (mysql_error($db)); $query = 'DELETE FROM cislo_sklad_moznosti WHERE character_id = ' . $character_id; mysql_query($query, $db) or die (mysql_error($db)); $redirect = 'zoznam_dielov.php'; break; } |
||
scheras Profil * |
#2 · Zasláno: 27. 6. 2013, 22:19:53
Nerad bych se mýlil, ale dělá to na mě pocit, že odešlete jeden formulář a přesměrujete uživatele na další, potvrzovací. Potom už logicky nemáte přístup k
$_POST['character_id'] , který byl zaslán s tím prvním formulářem.
|
||
staco Profil |
#3 · Zasláno: 27. 6. 2013, 22:29:06
scheras:
Prvy odosielaci formular vyzera takto <form action="delete_diel.php" method="post"> <table> <?php echo '<input type="submit" value="Vymazat Diel" />'; ?> </table> </form> |
||
Monkeys Profil * |
#4 · Zasláno: 27. 6. 2013, 23:23:09
staco:
Len pre zaujimavost miesto 30 riadkov staci napisat jednu funkciu a odvolavat sa na nu: napr. function deleteRow($table, $id) { $sql = 'DELETE FROM {$table} WHERE character_id = {$id}'; mysql_query($query, $db) or die (mysql_error($db)); } M. |
||
peta Profil |
#5 · Zasláno: 28. 6. 2013, 08:00:27
Vypis si dotazy pred odeslanim mysql:
echo $query; die(); die pak zastavi zbytek programu a uvidis, jestli je dotaz spravne.
switch ($_POST['action']) { case 'Vymazat Diel': |
||
Časová prodleva: 11 let
|
0