У меня есть несколько таблиц, в которых перечислены разные вещи: вопросы, ответы и пользователи. Таблицы взяты из администратора. С левой стороны код создает ячейку, которая содержит небольшой файл cancel.png img, который должен быть кнопкой удаления для строки. Сейчас я ничего не делаю, когда я нажимаю на любую из кнопок (их много), но анимация при наведении курсора срабатывает, когда я наводю на них курсор. Я не знаю, что не так, я проверил JS от другого моего коллеги, но он работает в другом учреждении.
Я попытался отредактировать JS, проверил SQL-запросы в PHP, проверил базу данных, вызывало ли это что-то там, и не было. Не было и хороших примеров, которые можно было бы заметить в Интернете.
Итак, вот где начинается код: это функция удаления.
<?php
if(isset($_GET['udel'])) {
$error = 0;
$uid = mysqli_real_escape_string($link, $_GET['udel']);
$query = "DELETE FROM users WHERE id = $uid;";
if (!mysqli_query($link, $query)) $error = 1;
if ($error == 0) $msg = 'The user has been deleted.';
else $msg = 'The user couldn\'t be deleted. Contact the website administrator if the problems persists.';
}
?>
Существует php / html, который вызывает другой файл php для печати таблицы (например, пользователей):
<?php
printUsersTable(getUsers($link));
?>
Это называется так:
<?php // theres code above here
function printUsersTable($users) {
?>
<table class="neutral" border="0" style="width:500px;">
<thead>
<tr>
<th>DEL</th>
<th>Name</th>
<th>Email</th>
<th>Admin</th>
<th>State</th>
</tr>
</thead>
<tbody>
<?php foreach($users as $user) { ?>
<tr>
<td style="cursor: pointer";><img src="images/cancel.png" class="userDel" rel="<?=$user['id']?>" /></td>
<td><?=$user['name']?></td>
<td><?=$user['login']?></td>
<td><?php if($user['admin'] == 1) echo 'Y'; else echo 'N'; ?></td>
<td><?=$user['state']?></td>
</tr>
<?php } ?>
</tbody>
</table>
<?php
}
// code continues
?>
Который все напечатан (поэтому он включен) на этой первой странице администратора.
Затем он переходит к этому (на первой странице администратора, как в первой части кода), где атрибут rel должен срабатывать при нажатии:
$(".userDel").click(function() {
var uid = $(this).attr("rel");
if(confirm("Are you sure you want to delete user " + uid + "?")) {
window.location = 'admin.php?udel=' + uid;
}
});
Я тоже пробовал это, но это тоже не работает:
$(".userDel").on('click', function(event) {
event.stopPropogation();
event.stopImmediatePropogation();
var uid = $(this).attr("rel");
if(confirm("Are you sure you want to delete user " + uid + "?")) {
window.location = 'admin.php?udel=' + uid;
}
});
Во всех моих файлах сначала идет php-код, затем JS, затем любой HTML. Я в заднице, вы можете мне помочь? (Кроме того, у меня нигде нет SQL-инъекций?)>.>