Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP про счётчик посещений / 17 сообщений из 17, страница 1 из 1
28.07.2009, 08:52:13
    #36112480
Oleg-57
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP про счётчик посещений
У меня счётчик при открытии страницы добавляет запись в таблицу или инкрементирует число, если страница открывается с того же IP. Почему, когда открывается страница, в которой есть, например, ссылка на несуществующую картинку, инкрементируется ещё и счётчик для страницы index.php? Якобы открылась и index.php. Т.е., если на странице есть какая-то незначительная ошибка, как ссылка на несуществующую картинку, то обрабатывается php скрипт на главной странице. Нельзя ли как-то сделать так, чтобы не обрабатывался скрипт на главной странице при оставлении этой незначительной ошибки? Есть страница с большим скриптом, где отловить это дело очень сложно.
...
Рейтинг: 0 / 0
28.07.2009, 08:54:27
    #36112482
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP про счётчик посещений
...
Рейтинг: 0 / 0
28.07.2009, 09:56:25
    #36112568
-===DiMas===-
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP про счётчик посещений
Oleg-57,

покажи код
...
Рейтинг: 0 / 0
28.07.2009, 12:59:16
    #36113136
Oleg-57
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP про счётчик посещений
В файле ip_chet.php код
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<?php 
$date=date("d.m.y H:i");
$ip = $_SERVER['REMOTE_ADDR'];
$sch = mysql_query("SELECT * FROM schet WHERE page='$page_ip' and ip='$ip'",$db);
$myrow = mysql_fetch_array ($sch);
$rows = mysql_num_rows($sch);/* çàõîäèëè ëè ñ ýòèì ip ðàíüøå */
if ($rows== 0 ) {
mysql_query("INSERT INTO schet (page,ip,kol,date) VALUES ('$page_ip','$ip','1','$date')",$db);
}
else {
$kol = ($myrow["kol"]+ 1 );
mysql_query("UPDATE schet SET kol='$kol',date='$date' WHERE page='$page_ip' and ip='$ip'",$db);
}
?>
На страницах, в которых хочу смотреть посещаемость
Код: plaintext
1.
2.
<?php $page_ip='karatuz';
require_once ("ip_chet.php"); /*заносим в базу посещение страницы*/
?>
...
Рейтинг: 0 / 0
28.07.2009, 13:23:03
    #36113192
-===DiMas===-
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP про счётчик посещений
Oleg-57,

проверь существование картинки, и запиши результат в переменную, например в $ImgIsset и напиши

Код: plaintext
1.
2.
3.
4.
5.
6.
<?php 
if($ImgIsset):
$page_ip='karatuz';
require_once ("ip_chet.php"); /*заносим в базу посещение страницы*/
endif;
?>
...
Рейтинг: 0 / 0
28.07.2009, 14:08:45
    #36113346
Oleg-57
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP про счётчик посещений
У меня задача в том, как избавиться от выполнения скрипта в index.php. В данном случае я нашёл ссылку на несуществующую картинку. Но для общего случая надо, чтобы или показывалась ошибка при наличии
Код: plaintext
1.
ini_set('display_errors', 1 );
error_reporting(E_ALL);
либо код в index.php не выполнялся, если её не открывают.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
13.07.2012, 01:28:20
    #37877473
MisHel64
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP про счётчик посещений
Тут выполняется два запроса. В первом ищем запись а во втором или обновляем, или создаем новую.
А нельзя ли средствами SQLite все объединить в одну транзакцию?
...
Рейтинг: 0 / 0
13.07.2012, 07:02:15
    #37877531
?
?
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP про счётчик посещений
MisHel64Тут выполняется два запроса. В первом ищем запись а во втором или обновляем, или создаем новую.
А нельзя ли средствами SQLite все объединить в одну транзакцию?Можно. В MySQL есть REPLACE. В SQLite оно тоже есть
...
Рейтинг: 0 / 0
13.07.2012, 07:34:01
    #37877540
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP про счётчик посещений
?MisHel64Тут выполняется два запроса. В первом ищем запись а во втором или обновляем, или создаем новую.
А нельзя ли средствами SQLite все объединить в одну транзакцию?Можно. В MySQL есть REPLACE. В SQLite оно тоже есть

Код: sql
1.
ON DUPLICATE KEY UPDATE 

еще как вариант
...
Рейтинг: 0 / 0
13.07.2012, 08:44:40
    #37877580
?
?
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP про счётчик посещений
Hett
Код: sql
1.
ON DUPLICATE KEY UPDATE 

еще как вариантЭто не в sqlite
...
Рейтинг: 0 / 0
15.07.2012, 04:39:02
    #37879669
MisHel64
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP про счётчик посещений
"INSERT OR REPLACE" в данном случае не не прокатывает.
А вот про это "ON DUPLICATE KEY UPDATE" чуть подробней можно?
...
Рейтинг: 0 / 0
16.07.2012, 07:36:35
    #37880151
?
?
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP про счётчик посещений
MisHel64А вот про это "ON DUPLICATE KEY UPDATE" чуть подробней можно? http://dev.mysql.com/doc/refman/5.1/en/insert-on-duplicate.html
...
Рейтинг: 0 / 0
16.07.2012, 09:57:58
    #37880212
MisHel64
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP про счётчик посещений
Спасибо за ссылку на документацию по My SQL, она очень помогла, в решении задачи с использованием SQ Lite
...
Рейтинг: 0 / 0
16.07.2012, 10:31:02
    #37880259
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP про счётчик посещений
делайте в редисе, монго или еще чем-то более подходящем)
...
Рейтинг: 0 / 0
16.07.2012, 12:49:09
    #37880492
?
?
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP про счётчик посещений
Ну если
MisHel64"INSERT OR REPLACE" в данном случае не не прокатывает, то ответ на вопрос
MisHel64А нельзя ли средствами SQLite все объединить в одну транзакцию?в данном случае отрицатнльный.
...
Рейтинг: 0 / 0
16.07.2012, 12:51:52
    #37880498
?
?
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP про счётчик посещений
MisHel64Спасибо за ссылку на документацию по My SQL, она очень помогла, в решении задачи с использованием SQ Lite Ну выше же было сказано, что ON DUPLICATE KEY UPDATE - это не в SQLite.
...
Рейтинг: 0 / 0
16.07.2012, 13:46:38
    #37880568
MisHel64
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP про счётчик посещений
?Ну если
MisHel64"INSERT OR REPLACE" в данном случае не не прокатывает, то ответ на вопрос
MisHel64А нельзя ли средствами SQLite все объединить в одну транзакцию?в данном случае отрицатнльный.
Положительный и уже реализованный.
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP про счётчик посещений / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]