StalkerNSK
Участник
- Сообщения
- 102
- Реакции
- 18
Приветствую Вас уважаемые форумчане, захотел посмотреть сколько на сайте посетителей бывает и с помощью
подключился к БД, далее заносим данные в БД вот
Ну и извлекаем из базы
Там где хотим вывести результат ставим: <div class="line"><?php include 'inc/show_stats.php';?> </div>, а в просматриваемых страницах перед боди: <?php include 'inc/count.php';?>
Так вот вопрос в том, что данные заносятся в БД , а вот вывести никак не могу.
Где ошибся, помогите друзья.
И еще есть вопрос, можно сюда прикрутить вывод по статистике посетивших сайт роботов?
<?php
// Хост (обычно localhost)
$db_host = "localhost";
// Имя базы данных
$bd_base = "хххххххххххх";
// Логин для подключения к базе данных
$db_user = "ххххххххххххх";
// Пароль для подключения к базе данных
$db_pass = "хххххххххххх";
$db = mysqli_connect ($db_host, $db_user, $db_pass, $bd_base) or die ("Невозможно подключиться к БД");
// Хост (обычно localhost)
$db_host = "localhost";
// Имя базы данных
$bd_base = "хххххххххххх";
// Логин для подключения к базе данных
$db_user = "ххххххххххххх";
// Пароль для подключения к базе данных
$db_pass = "хххххххххххх";
$db = mysqli_connect ($db_host, $db_user, $db_pass, $bd_base) or die ("Невозможно подключиться к БД");
<?php include 'db.php';
// Указываем кодировку, в которой будет получена информация из базы
@mysqli_query ($db, 'set character_set_results = "utf8"');
// Получаем IP-адрес посетителя и сохраняем текущую дату
$visitor_ip = $_SERVER['REMOTE_ADDR'];
$date = date("Y-m-d");
// Узнаем, были ли посещения за сегодня
$res = mysqli_query($db, "SELECT `visit_id` FROM `visits` WHERE `date`='$date'") or die ("Проблема при подключении к БД");
// Если сегодня еще не было посещений
if (mysqli_num_rows($res) == 0)
{
// Очищаем таблицу ips
mysqli_query($db, "DELETE FROM `ips`");
// Заносим в базу IP-адрес текущего посетителя
mysqli_query($db, "INSERT INTO `ips` SET `ip_address`='$visitor_ip'");
// Заносим в базу дату посещения и устанавливаем кол-во просмотров и уник. посещений в значение 1
$res_count = mysqli_query($db, "INSERT INTO `visits` SET `date`='$date', `hosts`=1,`views`=1");
}
// Если посещения сегодня уже были
else
{
// Проверяем, есть ли уже в базе IP-адрес, с которого происходит обращение
$current_ip = mysqli_query($db, "SELECT `ip_id` FROM `ips` WHERE `ip_address`='$visitor_ip'");
// Если такой IP-адрес уже сегодня был (т.е. это не уникальный посетитель)
if (mysqli_num_rows($current_ip) == 1)
{
// Добавляем для текущей даты +1 просмотр (хит)
mysqli_query($db, "UPDATE `visits` SET `views`=`views`+1 WHERE `date`='$date'");
}
// Если сегодня такого IP-адреса еще не было (т.е. это уникальный посетитель)
else
{
// Заносим в базу IP-адрес этого посетителя
mysqli_query($db, "INSERT INTO `ips` SET `ip_address`='$visitor_ip'");
// Добавляем в базу +1 уникального посетителя (хост) и +1 просмотр (хит)
mysqli_query($db, "UPDATE `visits` SET `hosts`=`hosts`+1,`views`=`views`+1 WHERE `date`='$date'");
}
}
// Указываем кодировку, в которой будет получена информация из базы
@mysqli_query ($db, 'set character_set_results = "utf8"');
// Получаем IP-адрес посетителя и сохраняем текущую дату
$visitor_ip = $_SERVER['REMOTE_ADDR'];
$date = date("Y-m-d");
// Узнаем, были ли посещения за сегодня
$res = mysqli_query($db, "SELECT `visit_id` FROM `visits` WHERE `date`='$date'") or die ("Проблема при подключении к БД");
// Если сегодня еще не было посещений
if (mysqli_num_rows($res) == 0)
{
// Очищаем таблицу ips
mysqli_query($db, "DELETE FROM `ips`");
// Заносим в базу IP-адрес текущего посетителя
mysqli_query($db, "INSERT INTO `ips` SET `ip_address`='$visitor_ip'");
// Заносим в базу дату посещения и устанавливаем кол-во просмотров и уник. посещений в значение 1
$res_count = mysqli_query($db, "INSERT INTO `visits` SET `date`='$date', `hosts`=1,`views`=1");
}
// Если посещения сегодня уже были
else
{
// Проверяем, есть ли уже в базе IP-адрес, с которого происходит обращение
$current_ip = mysqli_query($db, "SELECT `ip_id` FROM `ips` WHERE `ip_address`='$visitor_ip'");
// Если такой IP-адрес уже сегодня был (т.е. это не уникальный посетитель)
if (mysqli_num_rows($current_ip) == 1)
{
// Добавляем для текущей даты +1 просмотр (хит)
mysqli_query($db, "UPDATE `visits` SET `views`=`views`+1 WHERE `date`='$date'");
}
// Если сегодня такого IP-адреса еще не было (т.е. это уникальный посетитель)
else
{
// Заносим в базу IP-адрес этого посетителя
mysqli_query($db, "INSERT INTO `ips` SET `ip_address`='$visitor_ip'");
// Добавляем в базу +1 уникального посетителя (хост) и +1 просмотр (хит)
mysqli_query($db, "UPDATE `visits` SET `hosts`=`hosts`+1,`views`=`views`+1 WHERE `date`='$date'");
}
}
<?php
// Указываем кодировку, в которой будет получена информация из базы
@mysqli_query ($db, 'set character_set_results = "utf8"');
// Извлекаем статистику по текущей дате (переменная date попадает сюда из файла count.php, который, в свою очередь, подключается в каждом из n-го количества файлов)
$res = mysqli_query($db, "SELECT `views`, `hosts` FROM `visits` WHERE `date`='$date'");
$row = mysqli_fetch_assoc($res);
echo '<p>Уникальных посетителей: ' . $row['hosts'] . '<br />';
echo 'Просмотров на сегодня: ' . $row['views'] . '</p>';
// Указываем кодировку, в которой будет получена информация из базы
@mysqli_query ($db, 'set character_set_results = "utf8"');
// Извлекаем статистику по текущей дате (переменная date попадает сюда из файла count.php, который, в свою очередь, подключается в каждом из n-го количества файлов)
$res = mysqli_query($db, "SELECT `views`, `hosts` FROM `visits` WHERE `date`='$date'");
$row = mysqli_fetch_assoc($res);
echo '<p>Уникальных посетителей: ' . $row['hosts'] . '<br />';
echo 'Просмотров на сегодня: ' . $row['views'] . '</p>';
Так вот вопрос в том, что данные заносятся в БД , а вот вывести никак не могу.
Где ошибся, помогите друзья.
И еще есть вопрос, можно сюда прикрутить вывод по статистике посетивших сайт роботов?
StalkerNSK
Участник
- Сообщения
- 102
- Реакции
- 18
Вообще пустое место,то есть имеется ввиду данные базы, а вот это "Уникальных посетителей:" и это "Просмотров на сегодня:" на выходе присутствует.APTEMOH написал(а):Какая ошибка при выводе?
StalkerNSK
Участник
- Сообщения
- 102
- Реакции
- 18
да, конечно. В бд данные сохроняютсяAPTEMOH написал(а):Допишите вывод ошибок.
Подключение к базе в этом файле прописываете?
// Хост (обычно localhost)
$db_host = "localhost";...
StalkerNSK
Участник
- Сообщения
- 102
- Реакции
- 18
извини, не совсем силен в кодахAPTEMOH написал(а):var_dump(); что показывает?
StalkerNSK
Участник
- Сообщения
- 102
- Реакции
- 18
StalkerNSK
Участник
- Сообщения
- 102
- Реакции
- 18
NULL NULLAPTEMOH написал(а):Добавь ниже:
PHP:var_dump($row['hosts']); var_dump($row['views']);
Понимаете о чем речь?StalkerNSK написал(а):NULL NULL
Данные с базы не берутся. Теперь все в var_dump подставить нужно.
StalkerNSK
Участник
- Сообщения
- 102
- Реакции
- 18
попробуюAPTEMOH написал(а):Понимаете о чем речь?
Данные с базы не берутся. Теперь все в var_dump подставить нужно.
StalkerNSK
Участник
- Сообщения
- 102
- Реакции
- 18
что не подставляю везде NULLAPTEMOH написал(а):Понимаете о чем речь?
Данные с базы не берутся. Теперь все в var_dump подставить нужно.
StalkerNSK
Участник
- Сообщения
- 102
- Реакции
- 18
С приездом.swerg написал(а):Попробуй так
Уникальных посетителей: <?=number_format($row[hosts]) ?>
Подставил и страница загружается частично, если подставляю вот так: echo '<p>Уникальных посетителей: ' . $stats_data["all_users"] . '<br />'; для примера данные из статистики то все о.к.
Кинь ссылку на проект!Да и еще насчет вопросов на страничке ты писал на другом скрипте гдето видел про это если вспомню скажу!StalkerNSK написал(а):С приездом.
Подставил и страница загружается частично, если подставляю вот так: echo '<p>Уникальных посетителей: ' . $stats_data["all_users"] . '<br />'; для примера данные из статистики то все о.к.
StalkerNSK
Участник
- Сообщения
- 102
- Реакции
- 18
swerg написал(а):Кинь ссылку на проект!Да и еще насчет вопросов на страничке ты писал на другом скрипте гдето видел про это если вспомню скажу!
да с буковками пока борьба продолжается.
Вот это для букв
Все что нужно сделать, это открыть файл config.php в корне буксаи и после этих строк:
mysql_connect($bd_host, $bd_user, $bd_password);
mysql_select_db($bd_base, $con);
Добавить туда вот эти строки:
mysql_query("set names 'cp1251'");
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
этого хватит плюс можно прописать еще header();
тогда наверняка
mysql_query("set names 'cp1251'");
Все что нужно сделать, это открыть файл config.php в корне буксаи и после этих строк:
mysql_connect($bd_host, $bd_user, $bd_password);
mysql_select_db($bd_base, $con);
Добавить туда вот эти строки:
mysql_query("set names 'cp1251'");
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
этого хватит плюс можно прописать еще header();
тогда наверняка
mysql_query("set names 'cp1251'");
Последнее редактирование: