2011-01-25 2 views
0

У меня есть страница, которая является URLRewritited .htaccess, которая дважды запускает запрос MySQL, хотя я его размещаю один раз, никаких циклов нет ничего.Почему мой запрос MySql выполняется дважды?

.htaccess

RewriteRule ^go/([a-zA-Z0-9-_]+)$ /go.php?id=$1&%{QUERY_STRING} 
RewriteRule ^go/([a-zA-Z0-9-_]+)/([a-zA-Z0-9-_]+)$ /$2.php?id=$1%{QUERY_STRING} 

go.php

<?php 
$update = mysql_query('UPDATE table SET page_views=page_views+1 WHERE id =123'); 
?> 

Каждый раз, когда я обновить страницу он добавляет 2 просмотров страниц в базу данных, почему это?

+6

Вы можете добавить код –

+5

Опубликовать весь ваш .htaccess и соответствующий PHP-код (или все его). – thirtydot

+4

код пожалуйста! иначе мы понятия не имеем, почему это происходит !!! – tekknolagi

ответ

2

Есть ли способ генерации RSS-канала, который вызывает эту функцию?

У меня была аналогичная проблема с плагином Wordpress раньше. Firefox делает некоторую предварительную выборку RSS, которая вызывает как-то 2 запроса.

Редактировать: Вышеуказанное не помогло. У вас включен xdebug? Используйте xdebug_get_function_stack, чтобы узнать, какие пути следуют для получения вашего запроса.

+0

no rss напрямую связано с страницей через тег ссылки в заголовке. – kornesh

+0

@kornesh. Да, но, как я уже сказал, некоторые браузеры автоматически получат RSS, связанный в заголовке, без вашего взаимодействия с значком RSS. Это может вызвать 2 запроса. Выключите RSS в заголовке и проверьте, не исчезла ли ваша проблема. – Ben

+0

Я попробовал это, к сожалению ничего не изменил – kornesh

2

Это проблема с браузером;) Попробуйте с IE, это не будет работать дважды.

Если вы используете Firefox Disable All Plugins.

+0

nope, это не –

0

Проблема заключается в том, что ваш HTML дважды отправляет сценарий. пример ниже работал для меня

if($POST){ 
    $update = mysql_query('UPDATE table SET page_views=page_views+1 WHERE id =123'); 
} 

ИЛИ вы можете использовать GET для подтверждения.

Смежные вопросы