| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Повторное выполнение сценария |
| Автор: micolo 19.10.2009, 20:04 | ||
| Доброго времени суток! Столкнулся с неожиданной проблемой. URL на сайте построен через mod_rewrite аля http://site.com/module_name/add_item/ к примеру. Сам сценарий подгружается через диспетчер URL. В add_item перед выполнением основного сценария идет insert в БД и далее через XSLTProcessor идет преобразование и формирование данных. Какого же было моё удивление когда я обнаружил что во время add_item в БД у меня вставляется не одна запись а сразу две записи подряд. Тщательно проверив всю цепочку - методом исключения выяснил что во всём виновата строчка
а именно самая последняя сточка. Получается что перед конечной трансформацией ещё раз идет обращение к URL вследствии чего повторно вставляется запись в БД. Подскажи почему так проиходит и как этого избежать? Спасибо! |
| Автор: Ипатьев 19.10.2009, 20:51 |
| а что именно в базу добавляется? |
| Автор: micolo 19.10.2009, 21:09 |
| Обычный insert со своими значениями, после его вставки по mysql_last_id вытаскиваются его значения которые дальше учавствуют в формировании страницы. Причём дело именно в transformToXml, потомучто когда я коментю эту строчку - данные записываются один раз, как нужно. По идеи туда передаётся только сфомированный XML конетент в котором нет ничего подозрительного. |
| Автор: solenko 20.10.2009, 08:14 |
| micolo, в $xsl что содержится? Полный url на вашем же хосте? var_dump($xsl) + .htaccess запостите сюда |