У меня есть веб-страница с довольно большой CMS за ней, где вы можете добавлять новости, добавлять картинки и другие вещи. И, конечно же, вы можете их удалить.Избегайте наличия нескольких файлов удаления
Вы просто нажимаете delete, и это приводит к скрипту удаления, который удаляет строку из таблицы. Проблема в том, что у меня есть 4-5 удаленных скриптов, которые выглядят точно так же, за исключением того, что они удаляют из разных таблиц. Я хотел бы, чтобы таблица была переменной, которая отслеживает, на какой субстранице пользователь пришел, поэтому мне нужен только один скрипт удаления, а не несколько.
Это кнопка, нажать кнопку, чтобы удалить что-нибудь:
<a href='deletenews.php?id=<?php echo $id ?>'>DELETE</a>
Обратите внимание, что он идет в delte «новости» .php, было бы неплохо, если бы это было просто delete.php.
Функция удаления скрипта выглядит следующим образом:
session_start();
if ($_SESSION['username']) {
} else {
include 'index.php';
die ("<script> alert(You have to be logged in.');</script>");
}
mysql_connect('localhost', 'username', 'password') or die (mysql_error());
mysql_select_db('database') or die (mysql_error());
mysql_query("DELETE FROM news WHERE id = '$_GET[id]'") or die(mysql_error());
header('Location: forside.php');
Я хотел бы, чтобы быть переменной, а не «новости». Как $ delete. Но эта переменная должна знать, из какой таблицы она должна удалять вещи. Есть ли способ сделать это? Я готов изменить весь свой код, потому что я считаю, что это лучшая практика.
Тааак ... если вы писали код, который работает для 'id', почему вы не можете повторить тот же самый механизм для имени таблицы? Вы знаете, что можете отправлять более одной переменной GET, верно? И вы знаете, что mysql-запрос в PHP - это строка, не так ли? –
Я собираюсь стереть вашу базу данных ... посмотреть на инъекцию – Strawberry
Клубника: Ну, это, вероятно, небезопасно, но вы должны войти в систему, чтобы вводить что-либо вообще, поэтому это не проблема. Скрипт входа довольно безопасен. Я в середине изучения PHP/SQL. Sergiu: Как бы вы это сделали? –