Извиняюсь, если что, за неправильное название темы (незнаю как это назвать). У меня есть страница, где выводятся строки из бд (mysql). Хочу сделать кнопку "удалить" рядом с каждой строкой, но с подтверждением (т.е. что бы выводился вопрос "точно удалить?"). Я незнаю как это реализовать, вроде вполне возможно это сделать в этой же странице.. Подскажите плиз мануалы или статьи.. Понятия не имею как это забить в поисковик. Извиняюсь если создал не в том разделе.
JavaScript поможет тебе спросить на самой странице перед отправкой формы. Отправка формы на предварительный обработчик, запись в нем скрытой формы и последующая отправка этой формы на основной обработчик - решат эту же задачу на PHP.
@san4ez еще почитайте про то, как сделать, чтобы вместо вас «записи» не удалил кто-нибудь другой (авторизация). Есть готовы скрипты для управления БД, причем гораздо легче, чем phpMyAdmin. Во многих админках сайтов это есть (мог бы предложить что-нибудь из наших разработок, если бы вы преследовали коммерческие цели, а не познавательные). Если список уже выводится, как выше написали, подтверждение лучше повесить на JS, если вы не преследуете цель реализовать базовый функционал без использования JS.
я делаю програмку чисто для себя) за меня их никто не сможет удалить )) ну в будущем, если нужно будет, сделаем. Вообщем о защите пока мыслей нет =) а на счет явы.. для начала хочу на пхп пробовать реализовать. --- Добавлено --- как я понял: посылаем сначала допустим на страницу site.ru/del.php?id=4, на которой спрашивается "точно удалить?", если ответ да, то посылаем на другую страницу site.ru/delete.php?id=4, где и происходит удаление и переадресация на "главную". Так?
Ганзал описал два варианта: 1. JavaScript это когда ты на странице нажимаешь кнопочку удалить, вылазит окошко, которое спрашивает, точно ли удалить. Если ответишь да - тогда страница делает запрос на обработчик удаления 2. PHP на одной странице у тебя список твой, где ты нажимаешь удалить. POST-запросом данные отправляются на другую страницу. Там делается скрытая форма, в которую вставляются данные из запроса (тупо такая же форма, как на первой странице, но скрытая). И надпись тут какая-то, типо "Парень, ты точно решил всё тут снести?". Если нажимаешь да, то срабатывает сабмит скрытой формы, который уже отправляет запрос на обработчик удаления
не понял о какой форме речь.. на первой странице у меня нет никаких форм. и данные отправляются GET-запросом.. это плохо?
Можно и GET-ом. Правда, до тех пор, пока не надумаете делать массовое удаление и прикручивать чекбоксы. --- Добавлено --- Кстати, даже для одиночного удаления чекбокс – весьма полезная вещь – как раз предотвращает «случайное» удаление по одному щелчку.
Ну вобщем сделал, как и писал, с двумя страницами... а с формами я, если честно, не понял как делать...
конечно лучше сразу узнавать и писать код нормально... но я не могу понять как делается это через форму... что в ней должно быть?
Да, согласен. Я такое никогда не использую, поэтому даже и не сразу сообразил, что GET-ом тоже можно. --- Добавлено --- Тот же id в скрытом контроле или прямо в кнопке.
Там показывать то нечего, на первой просто вопрос "точно удалить такую то строку?", а на второй процесс удаления и переадресация на " главную"
Нам смотреть не для того чтоб у тебя своровать,а чтоб комментарии по коду дать и сказать что править и куда ползти.
вот 1 страница: PHP: <?php $id = $_GET['id']; $connection = mysqli_connect('localhost', 'dbuser', 'dbpass', 'dbname') or die(mysqli_error()); $query = "SELECT * FROM table WHERE id = $id"; $result = mysqli_query($connection, $query) or die(mysqli_error()); while ( $row = mysqli_fetch_assoc($result) ) { echo ' $row['id'].', '.$row['name']'; } ?> <br> Точно удалить? <br> <?php echo '<a href="/delete.php?id='.$id.'">ДА</a> ?> вот 2 страница: PHP: <?php $id = $_GET['id']; $connection = mysqli_connect('localhost', 'dbuser', 'dbpass', 'dbname') or die(mysqli_error()); $query = "DELETE FROM table WHERE id = $id"; mysqli_query($connection, $query) or die(mysqli_error()); header('Location: /index.php'); ?>
еще раз говорю, эта програмка в инете не появится, она для личного пользования =) если надумаю создавать сайт-естественно буду думать и о защите --- Добавлено --- тоже спать надо... можешь хотя бы подсказать как делать через форму?
Сделайте на JS подтверждение, коли тепличное окружение, – это проще. --- Добавлено --- То ж ушел на боковую.