Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   2 вставки в БД без перезагрузки страницы. (https://javascript.ru/forum/server/62348-2-vstavki-v-bd-bez-perezagruzki-stranicy.html)

Duda.Ml1986@gmail.com 06.04.2016 13:13

2 вставки в БД без перезагрузки страницы.
 
Привет всем.
Так вот есть страницы, она не перегружается, но почему то в БД вставляются 2 записи вместо одной.

при нехитром тесте с

isset($_SESSION['z1'])? (int)$_SESSION['z1']: 0;
$_SESSION['z1'] = $_SESSION['z1'] + 1;

и вставкой в бд значения $_SESSION['z1']
оказалось что записи идут друг за другом. То есть так как будто страница отработала дважды!
id = 1; text = text; z1 =1;
id = 2; text = text; z1 =2;
30-ых заголовков нет. Скрипт отрабатывает в одном месте. Подскажите куда копать?

Самое важно замечание. Есть поддомен, так на нем все работает правильно! То есть грубо говоря копия сайта на поддомене.

laimas 06.04.2016 14:35

$_SESSION['z1'] = $_SESSION['z1'] + 1;

А просто $_SESSION['z1']++; ?

Если запись дважды, значит и запрос на запись дважды, а из того что представлено разве можно понять причину?

Duda.Ml1986@gmail.com 06.04.2016 14:51

Цитата:

Сообщение от laimas (Сообщение 413344)
$_SESSION['z1'] = $_SESSION['z1'] + 1;

А просто $_SESSION['z1']++; ?

Если запись дважды, значит и запрос на запись дважды, а из того что представлено разве можно понять причину?

и название переменных мне не нравится но суть разве в этом?

И вопросом на вопрос отвечать спасибо не надо. Если что то не хватает что бы дать ответ либо не отвечайте либо напишите что нужно, а просто ху...ю писать не надо пожалуйста.

laimas 06.04.2016 15:00

Цитата:

Сообщение от Duda.Ml1986@gmail.com
И вопросом на вопрос отвечать спасибо не надо. Если что то не хватает что бы дать ответ либо не отвечайте либо напишите что нужно

Ну здрасьте, приехали называется. Ну как можно дать рекомендации "что нужно делать" по двум строчкам кода, который сам по себе ну никак не может быть причиной? И кто кроме вас может знать ваш код и сказать "чего не хватает"?

Duda.Ml1986@gmail.com 06.04.2016 15:17

Проблема в том, что если поставить например echo "1" перед выполняемым действием (записью в БД) то на странице это выведется только 1 раз но в бд будет 2 записи, а значит что произошла перегрузка страницы (я так думаю) но редиректор и перегрузок на странице нет!

Duda.Ml1986@gmail.com 06.04.2016 15:22

И еще один нюанс.
Перед записью в БД поставил запись в файл.
Так вод на поддомене запись происходит 1 раз как и должно быть, но на домене все пишится 2 раза.
Все файлы идентичны!

laimas 06.04.2016 15:23

Будем гадать или все-таки код приведете? Или же нужно доказывать истину - без повторного запроса к базе она не сделает повторной записи по своей инициативе?

Duda.Ml1986@gmail.com 07.04.2016 13:01

Решение найдено, таки перегрузка страницы, вебвизор яндекс оказывается занимается такой х..й!
Помогло в обнаружении: http://tools.pingdom.com/

laimas 07.04.2016 13:16

Цитата:

Сообщение от Duda.Ml1986@gmail.com
вебвизор яндекс оказывается занимается такой х..й!

Если писать код, который будет выполняться и запросами сторонними, то чего же еще можно ожидать от него.

Duda.Ml1986@gmail.com 07.04.2016 16:54

Цитата:

Сообщение от laimas (Сообщение 413344)
$_SESSION['z1'] = $_SESSION['z1'] + 1;

А просто $_SESSION['z1']++; ?

Если запись дважды, значит и запрос на запись дважды, а из того что представлено разве можно понять причину?

Цитата:

Сообщение от laimas (Сообщение 413440)
Если писать код, который будет выполняться и запросами сторонними, то чего же еще можно ожидать от него.

Запросами сторонними? Это как?
Если вставить на сайт скрипт от яндекса который перегружает страницу, то в чем косяк кода?


Часовой пояс GMT +3, время: 13:25.