С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 01.08.2014
Сообщений: 30

Не срабатывает скрипт и не выводится ошибка

18.09.2018, 14:57. Показов 742. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Из базы выводится инфа в табличном виде
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
while ($row=mysqli_fetch_array($result))
        {    
             echo '<form name="form" action="" method="post">
                   <tr align="center">
                     <td>'.$row['id'].'</td>
                     <td>'.$row['nom_in_filial'].'</td>
                     <td>'.$row['tid'].'</td>
                     <td>'.$row['address'].'</td>
                     <td>'.$row['serial'].'</td>
                     <td>'.$row['inv'].'</td>
                     <td><a href="#" title="Изменить"><img src="assets/img/edit.png"></a>
                         <a href="#" onclick="return del()"><img src="assets/img/del.png"></a>
                        </td>
                  </tr>
                  </form>
                  ';
       }
Напротив каждой записи кнопки Редактировать/Удалить. Необходимо при удалении (у меня заносится в архив) выдать пользователю предупреждение, чтобы подтвердил операцию.

JS в этом же файле
JavaScript
1
2
3
4
5
6
7
8
9
<script>
function del()//устройство в архив
{
if(confirm('Эта операция переместит выбранное устройство в архив безвозвратно. Вы уверены?'))
{
window.location.href = "archive_add.php"
}
}
</script>
Далее после подтверждения должен отрабатывать скрипт переноса из одно таблицы в другую
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
require_once 'connect.php';
if (isset($_POST0['id'])) {
    $result = mysqli_query($link,"INSERT INTO `archive` (nom_in_filial, tid, address, serial, inv)
                        VALUES ('".$_POST['nom_in_filial']."','".$_POST['tid']."','".$_POST['address']."','".$_POST['serial']."','".$_POST['inv']."')");
    //Если вставка прошла успешно
    if ($result) {
        echo "<p style=font-size: 20px>Данные успешно добавлены в БД</p>";
    } else {
        echo "<p style=font-size: 20px>Ошибка записи в БД</p>";
    }    
}
?>
Но белая страница. Никаких ошибок и не помогает
error_reporting(E_ALL);
ini_set('display_errors', 1);

Помогите, пожалуйста.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.09.2018, 14:57
Ответы с готовыми решениями:

Не срабатывает html код (не выводится форма)
Добрый вечер, подскажите где ошибка? Не выводит форму. &lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot;...

При запуске запроса из формы запрос срабатывает и выводится на экран
Форумчане, доброго времени суток! При закрытии формы запрос срабатывает и выводится на экран- что совершенно не нужно. Private Sub...

Почему не срабатывает деструктор и стоимость продуктов не выводится в формате действительного числа?
Добрый вечер. Помогите пожалуйста решить проблему: /*Программа демонстрирует механизм работы конструкторов, деструктора, дружественных...

18
1030 / 682 / 297
Регистрация: 04.04.2013
Сообщений: 2,751
18.09.2018, 15:04
nameIvan, Наверно должно быть $_POST['id']
PHP
1
if (isset($_POST0['id'])) {
0
0 / 0 / 0
Регистрация: 01.08.2014
Сообщений: 30
18.09.2018, 15:09  [ТС]
Это тут с опечаткой. В файле прописано нормально. Не работает
0
1030 / 682 / 297
Регистрация: 04.04.2013
Сообщений: 2,751
18.09.2018, 15:13
nameIvan, а где вы ID отправляете обработчику?
0
0 / 0 / 0
Регистрация: 01.08.2014
Сообщений: 30
18.09.2018, 15:15  [ТС]
Эээээ
ссылка-кнопка <a href="#" onclick="return del()"><img src="assets/img/del.png"></a>
И проверка в js
Блин. Мне js вообще непонятен.

Как в ссылку c подтверждением js вписать id?
0
377 / 319 / 73
Регистрация: 15.09.2017
Сообщений: 1,436
18.09.2018, 15:19
Цитата Сообщение от nameIvan Посмотреть сообщение
Далее после подтверждения должен отрабатывать скрипт переноса из одно таблицы в другую
Он и отрабатывает.

Цитата Сообщение от nameIvan Посмотреть сообщение
Но белая страница. Никаких ошибок
Да, белая страница, точнее "пустая". Никаких ошибок нет.

Добавлено через 1 минуту
Цитата Сообщение от nameIvan Посмотреть сообщение
Блин. Мне js вообще непонятен.
Не нужно писать, что вам непонятно.
0
0 / 0 / 0
Регистрация: 01.08.2014
Сообщений: 30
18.09.2018, 15:19  [ТС]
Phantom-84, не отрабатывает. В таблицу ничего не заносится
Ну вот Академик спрашивает как я передаю id обработчику? Видимо беда в этом. Если без js, то <a href=archive_add.php?id='.$row['id'].'
А если через js?
0
377 / 319 / 73
Регистрация: 15.09.2017
Сообщений: 1,436
18.09.2018, 15:22
Цитата Сообщение от nameIvan Посмотреть сообщение
Как в ссылку c подтверждением js вписать id?
Уберите JS-код. В таком виде он абсолютно бесполезен.

Добавлено через 1 минуту
Цитата Сообщение от nameIvan Посмотреть сообщение
не отрабатывает. В таблицу ничего не заносится
Отрабатывает. Занесению в таблицу препятствует ложное условие в ветвлении.
0
0 / 0 / 0
Регистрация: 01.08.2014
Сообщений: 30
18.09.2018, 15:23  [ТС]
Phantom-84, не пойму. Можете носом ткнуть что не так? Как прописать?
0
377 / 319 / 73
Регистрация: 15.09.2017
Сообщений: 1,436
18.09.2018, 15:31
Удаление нужно делать в ответ на POST-запрос. Уберите JS-код.
0
0 / 0 / 0
Регистрация: 01.08.2014
Сообщений: 30
18.09.2018, 15:34  [ТС]
Убрал js. Теперь ссылка на удаление имеет вид http://localhost/pos3/archive_add.php?id=2
Но не получается в базу запихнуть. Также белая страница
0
377 / 319 / 73
Регистрация: 15.09.2017
Сообщений: 1,436
18.09.2018, 15:53
Переход по ссылке выполняется методом GET. Вам нужно использовать либо индивидуальные формы для каждого элемента со скрытым полем id, либо атрибут formaction со значением id в адресе обработчика, либо классический вариант с чекбоксами и общей кнопкой удаления.

Добавлено через 3 минуты
А если JS, то только AJAX с изъятием соответствующего блока со страницы в случае успешного удаления.

Добавлено через 1 минуту
Цитата Сообщение от Phantom-84 Посмотреть сообщение
классический вариант с чекбоксами и общей кнопкой удаления
В этом случае нужно предусмотреть возможность множественного удаления либо заменить чекбоксы "радиокнопками".
0
0 / 0 / 0
Регистрация: 01.08.2014
Сообщений: 30
18.09.2018, 15:54  [ТС]
Phantom-84, чекбоксы не вариант. Множественное удаление не нужно. Только единичное.
Но я окончательно запутался.
Я убрал js, но не понимаю почему не работает запрос
0
377 / 319 / 73
Регистрация: 15.09.2017
Сообщений: 1,436
18.09.2018, 15:59
Цитата Сообщение от nameIvan Посмотреть сообщение
Но не получается в базу запихнуть.
Что "запихнуть"? Берите данные напрямую из исходной таблицы по id. Не нужно их "гонять туда-сюда" между сервером и клиентом.

Добавлено через 1 минуту
Цитата Сообщение от nameIvan Посмотреть сообщение
Я убрал js, но не понимаю почему не работает запрос
Внимательно прочитайте, что я вам написал. Может, поймете.
0
0 / 0 / 0
Регистрация: 01.08.2014
Сообщений: 30
18.09.2018, 16:06  [ТС]
Что "запихнуть"? Берите данные напрямую из исходной таблицы по id. Не нужно их "гонять туда-сюда" между сервером и клиентом.
Ну по сути это тот же запрос?

<?php
require_once 'connect.php';
if (isset($_POST['id'])) {
$result = mysqli_query($link,"INSERT INTO `archive` (nom_in_filial, tid, address, serial, inv)
VALUES ('".$_POST['nom_in_filial']."','".$_POST['tid']."','".$_POST['address']."','".$_POST['serial']."','".$_POST['inv']."')");

Не понимаю
0
377 / 319 / 73
Регистрация: 15.09.2017
Сообщений: 1,436
18.09.2018, 16:33
Изначально вы берете данные из базы данных, а потом пытаетесь получить их от клиента. Причем ничего не делаете для того, чтобы их передать обратно от клиента на сервер. Правильный алгоритм такой:
1) выводите данные, включая id, а для удаления (переноса) настраиваете передачу от клиента только id удаляемого элемента.
2) на сервере при поступлении id проверяете его корректность (по форме) и переносите соответствующую запись "в архив", после чего в случае успеха удаляете запись из исходной таблицы по тому же id.

Добавлено через 3 минуты
Цитата Сообщение от Phantom-84 Посмотреть сообщение
переносите соответствующую запись "в архив"
Это можно сделать в рамках СУБД одним запросом.

Добавлено через 10 минут
Цитата Сообщение от Phantom-84 Посмотреть сообщение
после чего в случае успеха удаляете запись из исходной таблицы по тому же id
Или помечаете ее "перенесенной в архив" (меняете значение какого-то флага в исходной таблице).
0
0 / 0 / 0
Регистрация: 01.08.2014
Сообщений: 30
18.09.2018, 16:53  [ТС]
Вроде начинаю понимать
PHP
1
2
$archive = mysqli_query($link,"insert into `archive` (nom_in_filial, tid, address, serial, inv)
select nom_in_filial, tid, address, serial, inv from `device` where `id` = $id
Но в этот же запрос добавить еще и DELETE from `device` where `id` = $id не получится? Отдельным запросом только?

И как все-таки выдать юзеру запрос на подтверждение операции?
0
377 / 319 / 73
Регистрация: 15.09.2017
Сообщений: 1,436
18.09.2018, 17:33
Цитата Сообщение от nameIvan Посмотреть сообщение
Отдельным запросом только?
Цитата Сообщение от Phantom-84 Посмотреть сообщение
после чего в случае успеха удаляете запись из исходной таблицы по тому же id.



Цитата Сообщение от nameIvan Посмотреть сообщение
И как все-таки выдать юзеру запрос на подтверждение операции?
Я вам описал несколько способов. Если хотите удалять именно по ссылкам (без использования AJAX), делайте отдельные страницы для подтверждения удаления (и на них уже размещайте формы, с ними связывайте обработчик удаления).
1
 Аватар для otto-fukin
14 / 60 / 21
Регистрация: 15.06.2017
Сообщений: 572
18.09.2018, 18:13
nameIvan, весь ваш код - набор букв и не позволяет определить характер ошибок. Попробуйте не писать хрень. Начинайте без ajax-а. Когда освоитесь переходите на следующий уровень
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.09.2018, 18:13
Помогаю со студенческими работами здесь

Не срабатывает скрипт
Всем доброе утро! Прошу сильно ну ругать, так как в JS я новичок. Скажите пожалуйста, почему по нажатию кнопки, скрипт не срабатывает...

Не срабатывает скрипт
window.onload = function() { $('.b_i_delete .deleteposition').click(); }; в общем при загрузке страницы он не срабатывает ...

Не срабатывает скрипт
Доброго времени суток! Народ что тут не так? Не вносит в базу,но и ошибок никаких не дает &lt;?php ERROR_REPORTING(E_ALL); //...

Не срабатывает скрипт
Есть скрипт: var target = $('.circle'); var targetPos = target.offset().top; var winHeight = $(window).height(); var...

Не срабатывает скрипт
Доброго времени суток всем! Я написал скрипт на javascript+jquery, но он не работает. Скрипт для работы с яндекс картой. Сайт на друпале....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru