Нужна помощь Нужна помощь по бд

  • Автор темы StalkerNSK
  • Дата начала
StalkerNSK
Участник
Сообщения
102
Реакции
18
Приветствую Вас уважаемые форумчане, захотел посмотреть сколько на сайте посетителей бывает и с помощью
<?php
// Хост (обычно 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'");
}
}
Ну и извлекаем из базы
<?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>';
Там где хотим вывести результат ставим: <div class="line"><?php include 'inc/show_stats.php';?> </div>, а в просматриваемых страницах перед боди: <?php include 'inc/count.php';?>
Так вот вопрос в том, что данные заносятся в БД , а вот вывести никак не могу.
Где ошибся, помогите друзья.
И еще есть вопрос, можно сюда прикрутить вывод по статистике посетивших сайт роботов?
 
APTEMOH
Участник
Сообщения
889
Реакции
256
Telegram
APTEMOH
Какая ошибка при выводе?
 
StalkerNSK
Участник
Сообщения
102
Реакции
18
APTEMOH написал(а):
Какая ошибка при выводе?
Вообще пустое место,то есть имеется ввиду данные базы, а вот это "Уникальных посетителей:" и это "Просмотров на сегодня:" на выходе присутствует.
 
APTEMOH
Участник
Сообщения
889
Реакции
256
Telegram
APTEMOH
Допишите вывод ошибок.

Подключение к базе в этом файле прописываете?

// Хост (обычно localhost)
$db_host = "localhost";...
 
StalkerNSK
Участник
Сообщения
102
Реакции
18
APTEMOH написал(а):
Допишите вывод ошибок.

Подключение к базе в этом файле прописываете?

// Хост (обычно localhost)
$db_host = "localhost";...
да, конечно. В бд данные сохроняются
 
APTEMOH
Участник
Сообщения
889
Реакции
256
Telegram
APTEMOH
var_dump(); что показывает?
 
StalkerNSK
Участник
Сообщения
102
Реакции
18
мне кажется вот тут загвоздка
echo '<p>Уникальных посетителей: ' . $row['hosts'] . '<br />';
echo 'Просмотров на сегодня: ' . $row['views'] . '</p>';
 
APTEMOH
Участник
Сообщения
889
Реакции
256
Telegram
APTEMOH
Добавь ниже:

PHP:
var_dump($row['hosts']);
var_dump($row['views']);
 
APTEMOH
Участник
Сообщения
889
Реакции
256
Telegram
APTEMOH
  • #11
StalkerNSK написал(а):
Понимаете о чем речь?
Данные с базы не берутся. Теперь все в var_dump подставить нужно.
 
StalkerNSK
Участник
Сообщения
102
Реакции
18
  • #12
APTEMOH написал(а):
Понимаете о чем речь?
Данные с базы не берутся. Теперь все в var_dump подставить нужно.
попробую
 
StalkerNSK
Участник
Сообщения
102
Реакции
18
  • #13
APTEMOH написал(а):
Понимаете о чем речь?
Данные с базы не берутся. Теперь все в var_dump подставить нужно.
что не подставляю везде NULL
 
swerg
Сервис интернет рекламы http://luzynka.ru/
Участник
Сообщения
334
Реакции
70
Skype
  • #14
Попробуй так

Уникальных посетителей: <?=number_format($row[hosts]) ?>
 
StalkerNSK
Участник
Сообщения
102
Реакции
18
  • #15
swerg написал(а):
Попробуй так

Уникальных посетителей: <?=number_format($row[hosts]) ?>
С приездом.
Подставил и страница загружается частично, если подставляю вот так: echo '<p>Уникальных посетителей: ' . $stats_data["all_users"] . '<br />'; для примера данные из статистики то все о.к.
 
swerg
Сервис интернет рекламы http://luzynka.ru/
Участник
Сообщения
334
Реакции
70
Skype
  • #16
StalkerNSK написал(а):
С приездом.
Подставил и страница загружается частично, если подставляю вот так: echo '<p>Уникальных посетителей: ' . $stats_data["all_users"] . '<br />'; для примера данные из статистики то все о.к.
Кинь ссылку на проект!Да и еще насчет вопросов на страничке ты писал на другом скрипте гдето видел про это если вспомню скажу!
 
StalkerNSK
Участник
Сообщения
102
Реакции
18
  • #17
swerg написал(а):
Кинь ссылку на проект!Да и еще насчет вопросов на страничке ты писал на другом скрипте гдето видел про это если вспомню скажу!

да с буковками пока борьба продолжается.
 
swerg
Сервис интернет рекламы http://luzynka.ru/
Участник
Сообщения
334
Реакции
70
Skype
  • #18
Вот это для букв
Все что нужно сделать, это открыть файл 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'");
 
Последнее редактирование:
swerg
Сервис интернет рекламы http://luzynka.ru/
Участник
Сообщения
334
Реакции
70
Skype
  • #19
<div class="st-lf">
<div class="line">Уникальных посетителей:</div>
</div>
<div class="st-rg">
<div class="line-st"><?=number_format($row[hosts]) ?></div>

</div>
 
Последнее редактирование:
swerg
Сервис интернет рекламы http://luzynka.ru/
Участник
Сообщения
334
Реакции
70
Skype
  • #20
Подправил маленько смотри
 
Сверху