|
|
|
| Незнаю в чем у меня проблема не вытаскивается из Базы данных
<?
include "sql.php";
if(empty($_SERVER['REMOTE_ADDR']))
die("<b>Ваш IP адрес не определён!</b>");
$agent = $_SERVER['HTTP_USER_AGENT'];
$port = $_SERVER['SERVER_PORT'];
$ip = $_SERVER['REMOTE_ADDR'];
?>
<?
// Если ip-адрес определен
if(isset($_SERVER['REMOTE_ADDR']))
{
$ip_set = $_SESSION['ip'] = "$ip";
}
else
{
//Подключаемся к базе данныз
$db_connect = mysql_connect($dblocation,$dbuser,$dbpasswd);
mysql_select_db($dbname,$db_connect);
$query = "select * from stat where id_ip='".$id_ip."'";
$result = mysql_query($query,$db_connect);
}
//Если подключение к базе было успешно
if(!$result)
{
echo "$id_ip";
}
else
{
echo "Произошли ошибки";
}
if($id_ip)
{
$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
if (!$dbcnx)
{
echo ("<p>Невозможно подключится к базе данных </p>");
exit();
}
if(!@mysql_select_db($dbname,$dbcnx))
{
echo ("<p>база данных не отвечает </p>");
exit();
}
$num = mysql_query("insert into stat values (0,'$ip','$port','$agent', NOW())");
if(!$num)
{
echo "Ваши данные не добавлены";
exit (mysql_error());
}
else
{
echo "Ваши данные добавлены";
}
}
?>
?>
|
Общий смысл этого скрипта ( Я хочу чтобы когда пользователь заходит на страницу и сразу идет запрос на базу данных и если в базе данных есть ип оно сравнивает ип с ип\ом пользователя и если они не совпадают ! то информация записывается в базу данных!
база данных вот если нужна
id_stat int(6) not null auto_increment,
id_ip text,
port text,
stats text,
time datetime default null,
PRIMARY KEY (id_stat)
) TYPE=MyISAM;
|
| |
|
|
|
|
|
|
|
для: maDMo3r
(06.01.2005 в 14:48)
| | Хм... а где загвоздка... т.е. где сбоит скрипт? Пока из текста видно, то что он должен заносить новую запись при каждом новом обращении к базе данных, не зависимо от сравнения с уже существующим IP-адресом, так как результаты первой выборки нигде не используются... | |
|
|
|
|
|
|
|
для: cheops
(06.01.2005 в 21:08)
| | А вот как мне сделать сравнение ? :) | |
|
|
|
|
|
|
|
для: maDMo3r
(06.01.2005 в 22:11)
| | Для этого следует реализовать примерно следующий код:
<?php
$query = "select * from stat where id_ip='".$id_ip."'";
$result = mysql_query($query,$db_connect);
if(!$result) exit("Ошибка в синтаксисе SQL-запроса");
if(mysql_num_rows($result)>0) echo "Такой IP-адрес в базе есть";
else echo "Такого IP-адреса в базе нет";
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(06.01.2005 в 22:20)
| | извените работает :) | |
|
|
|
|
|
|
|
для: maDMo3r
(06.01.2005 в 22:36)
| | Отлично пашет только вот оно постоянно добавляет в базу данных .. а мне нужно только тогда когда $result = false :)
Вот весб код
<?
//Подключаемся к базе данныз
$db_connect = mysql_connect($dblocation,$dbuser,$dbpasswd);
mysql_select_db($dbname,$db_connect);
$query = "select * from stat where id_ip='".$id_ip."'";
$result = mysql_query($query,$db_connect);
if(!$result) exit("Ошибка в синтаксисе SQL-запроса");
if(mysql_num_rows($result)>0) echo "Такой IP-адрес в базе есть";
else
echo "Такого IP-адреса в базе нет";
$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
if (!$dbcnx)
{
echo ("<p>Невозможно подключится к базе данных </p>");
exit();
}
if(!@mysql_select_db($dbname,$dbcnx))
{
echo ("<p>база данных не отвечает </p>");
exit();
}
$num = mysql_query("insert into stat values (0,'$ip','$port','$agent', NOW())");
if(!$num)
{
echo "Ваши данные не добавлены";
exit (mysql_error());
}
else
{
echo "Ваши данные добавлены";
}
?>
|
| |
|
|
|
|
|
|
|
для: maDMo3r
(06.01.2005 в 22:56)
| | Т.е. данные должны добавляться только в том случае, если такой IP-адрес уже имеется в таблице?
<?php
//Подключаемся к базе данныз
$db_connect = mysql_connect($dblocation,$dbuser,$dbpasswd);
mysql_select_db($dbname,$db_connect);
$query = "select * from stat where id_ip='".$id_ip."'";
$result = mysql_query($query,$db_connect);
if(!$result) exit("Ошибка в синтаксисе SQL-запроса");
if(mysql_num_rows($result)>0) echo "Такой IP-адрес в базе есть";
else
{
echo "Такого IP-адреса в базе нет";
$num = mysql_query("insert into stat values (0,'$ip','$port','$agent', NOW())");
if(!$num)
{
echo "Ваши данные не добавлены";
exit (mysql_error());
}
else
{
echo "Ваши данные добавлены";
}
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(07.01.2005 в 01:12)
| | наоборот :) если нету а если есть то не добавлятся | |
|
|
|
|
|
|
|
для: maDMo3r
(07.01.2005 в 03:14)
| | А ну в принципе у нас так и есть... я просто забыл переделать блок if? Если что-то не заладится пишите... | |
|
|
|