| 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: 13 let
|
|||
0