<?
$id = "8";
$db = mysql_connect("localhost", "admin", "******");
mysql_select_db("mysait",$db);
$ip = $_SERVER['REMOTE_ADDR'];
$result = mysql_query("SELECT * FROM ipban WHERE ip='$ip'",$db);
$myrow = mysql_fetch_array($result);
$qwe = $myrow["id"];
if (empty($qwe))
{
$result = mysql_query ("INSERT INTO ipban (ip, id) VALUES ($ip,$id)");
if ($result == 'true')
{
echo "Ваш IP внесен в базу данных.";
}else{
echo "Ошибка";
}
}else{
echo "Ваш IP уже имеется в базе.";
}
?>
Спустя 18 минут, 50 секунд (2.08.2010 - 21:23) inpost написал(а):
Передавай привет Попову!
Укажи, что за ошибка, скорее всего проблемы в данных! Их неплохо было бы проверять, перед тем, как вносить! А вот теперь вносим в базу данных:
Укажи, что за ошибка, скорее всего проблемы в данных! Их неплохо было бы проверять, перед тем, как вносить! А вот теперь вносим в базу данных:
$result = mysql_query ("INSERT INTO `ipban` SET
`ip`='".$ip."',
`id`='".$id."'
",$db);
// В свою очередь, id надо делать автоинкремент, чтоб сам проставлялся! + проверь, правильно ли приходят данные: echo $ip.id;
Спустя 33 секунды (2.08.2010 - 21:24) Lenarfate написал(а):
что выводит?
пару советов:
1. вместо mysql_fetch_array лучше mysql_fetch_assoc
2.
пару советов:
1. вместо mysql_fetch_array лучше mysql_fetch_assoc
2.
Цитата |
if ($result == 'true') |
в корне не верно. true без кавычек
3.
Цитата |
$id = "8"; |
id как правило - это число, а у вас строка.правильно так $id = 8;
Спустя 4 минуты, 50 секунд (2.08.2010 - 21:29) shtopor10 написал(а):
Я проверил скрипт есче раз, проблема в том что когда я указываю в переменную ip любое число все работает а когда подстовляю $_SERVER['REMOTE_ADDR']; в переменную ip функция server вносит все нормально я проверял а в бд вноситься нехочет что делать? Выводится надпись ошибка из скрипта (echo "Ошибка";)
Спустя 15 минут, 50 секунд (2.08.2010 - 21:45) Ice написал(а):
Здравствуйте! Попову пламенный привет. Всё делается рациональнее и проще
Сорри, привожу дамп таблицы, чтобы не возникло возможных дополнительных вопросов
$db = mysql_connect("localhost", "root", "*****");
mysql_select_db('mysite');
$ip = $_SERVER['REMOTE_ADDR'];
$sql = "SELECT COUNT(*) FROM ipban WHERE ip='". ip2long($ip) ."'";
$query = mysql_query( $sql ) or die( mysql_error() );
if( mysql_result( $query, 0 ) > 0 ) {
print 'Ваш IP уже имеется в базе.';
} else {
$sql = "INSERT INTO ipban (ip) VALUES ('". ip2long($ip) ."')";
mysql_query( $sql );
print 'IP успешно добавлен в базу';
}
Сорри, привожу дамп таблицы, чтобы не возникло возможных дополнительных вопросов
CREATE TABLE `ipban` (
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`ip` INT(10) NOT NULL,
PRIMARY KEY (`id`)
)
COLLATE='utf8_general_ci'
ENGINE=MyISAM
ROW_FORMAT=DEFAULT
Спустя 4 минуты, 45 секунд (2.08.2010 - 21:49) shtopor10 написал(а):
А откуда про то что все знания от попова знаете?
И почему print-ом а не echo выводится надпись, это же из perl ?
И почему print-ом а не echo выводится надпись, это же из perl ?
Спустя 2 минуты, 42 секунды (2.08.2010 - 21:52) Ice написал(а):
Так криво моет только он. Даже новис так не напишет. Ну и есть конкретные зацепки в коде, по которому можно точно понять, кто мог так мыслить. Да и отвечаем одно и тоже по десять раз на дню. Шаблонно.
Цитата |
И почему print-ом а не echo выводится надпись, это же из perl ? |
Это дело вкуса. Я так привык просто
Спустя 9 минут, 58 секунд (2.08.2010 - 22:02) Lenarfate написал(а):
Цитата |
А откуда про то что все знания от попова знаете? |
звучит как приговор)
Спустя 5 минут, 4 секунды (2.08.2010 - 22:07) Basili4 написал(а):
shtopor10
Дык апосля Попова с нераобчими скриптами каждый день кто нибудь да заходит я не смотрел его видео уроки но у же знаю про что он рассказывает
Дык апосля Попова с нераобчими скриптами каждый день кто нибудь да заходит я не смотрел его видео уроки но у же знаю про что он рассказывает
Спустя 4 минуты, 32 секунды (2.08.2010 - 22:12) shtopor10 написал(а):
Цитата (Ice @ 2.08.2010 - 18:45) |
|
Код неработает выводится ошибка "You have an error in your SQL syntax near '8' at line 1"
Спустя 1 минута, 18 секунд (2.08.2010 - 22:13) Ice написал(а):
код проверен на локальной машине. Ищите ошибку у себя.
Хотя,можно даже не брать в кавычки вводимые в базу значения.
Хотя,можно даже не брать в кавычки вводимые в базу значения.
$db = mysql_connect("localhost", "root", "*****");
mysql_select_db('test');
$ip = ip2long( $_SERVER['REMOTE_ADDR'] );
$sql = "SELECT COUNT(*) FROM ipban WHERE ip=$ip";
$query = mysql_query( $sql ) or die( mysql_error() );
if( mysql_result( $query, 0 ) > 0 ) {
print 'Ваш IP уже имеется в базе.';
} else {
$sql = "INSERT INTO ipban (ip) VALUES ($ip)";
mysql_query( $sql );
print 'IP успешно добавлен в базу';
}
Спустя 1 минута, 41 секунда (2.08.2010 - 22:15) Basili4 написал(а):
измените строчку будет понятнее
$query = mysql_query( $sql ) or die($sql. mysql_error() );
$query = mysql_query( $sql ) or die($sql. mysql_error() );
Спустя 15 минут, 8 секунд (2.08.2010 - 22:30) shtopor10 написал(а):
Ладно всем спасибо за помощь я уже удолил все от попова и скачал пару книг буду смотреть почему не работает, хорошо что я попову не рубля не отдал и все уроки на халяву скачал

Спустя 1 минута, 29 секунд (2.08.2010 - 22:31) Ice написал(а):
Удачи!
Спустя 14 часов, 18 минут, 29 секунд (3.08.2010 - 12:50) shtopor10 написал(а):
Кому интересно я нашел ошибку код написан неправильно но ip нельзя так просто заносить в бд его сначало надо пропустить через функцию ip2long() а когда выводить через long2ip()