Ребята как будет выглядеть код php, который будет проверять айпи адрес юзера зашедшего на сайт с айпи адресом в базе данных Code: <?php $ipuser = $_SERVER["REMOTE_ADDR"]; $host = '192.168.1.27'; $passwd = '1123456789'; $login = 'root'; $dbname = 'forum'; $dbc = @mysql_connect($host,$login,$passwd); if (!$dbc) { echo( "<P>В настоящий момент сервер базы данных не доступен, поэтому корректное отображение страницы невозможно.</P>" ); exit(); } if (!@mysql_select_db($dbname, $dbc)) { echo( "<P>В настоящий момент база данных не доступна, поэтому корректное отображение страницы невозможно.</P>" ); exit(); } $tableIP = mysql_query("select * from accounts;"); if($tableIP) { // Определяем таблицу и заголовок // Так как запрос возвращает несколько строк, применяем цикл while($accounts = mysql_fetch_array($tableIP)) if($tableIP = true) { echo "<p><b>Ваш айпи есть в базе</b><p>"; } } else echo "<p><b>Вашего айпи нет в базе</b><p>"; exit(); php?> сильно не пинайте, учусь по тихоньку! пробовал нечто вот такое не работает ))))
что ты темы плодишь? я уже написал тебе, что начни с того, что переделай запрос. делай выборку по условию, что бы из таблиц выбирались строки с текущим у юзера ip Code: <?php $ipuser = $_SERVER["REMOTE_ADDR"]; $tableIP = mysql_query("select * from accounts where название столбец с айпи=$ipuser;");
да я понимаю кому-то такой код в 5сек написать а я хотел бы увидить как его реализовать можно и понять как это работает!
в который раз убеждаюсь, что правильно составленный вопрос содержит 85% ответа. ТС, можешь подробно пояснить какие данные есть в БД и что тебе нужно получить?
Полностью согласен с вами ! Нужно чтоб скрипт проверял айпи юзера который заходит на сайт(тобиш айпи который у него сейчас) с айпи который есть в бд! если айпи совпадает то кладет в базу нужную мне инфу
IP - единственный признак, по которому нужно определять пользователя? или, например, есть еще имя пользователя/куки/др., по которому нужно определить пользователя, а затем уже узнать зашел ли этот пользователь с того же IP, что ранее?
да, именно только по айпи , куки и имя пользователя не нужно, я понимаю что айпи может менться но нужно только с айпишником это правернуть!
1. На любом адекватном хостинге использование для работы с MySQL функций с префиксом mysql_* будет воспринято смехом(зачёркнуто) фэйлом, так как эти функции устаревшие и небезопасные, потому нужно смотреть в сторону расширения MySQLi (http://php.net/manual/ru/book.mysqli.php). 2. Из предоставленного кода абсолютно непонятна структура таблицы в БД, в следствие чего, нельзя написать конкретный SQL запрос, но если примерно, то смотри коммент от WVBR. 3. В случае с твоим кодом непонятно зачем использовать цикл, если результат SQL запроса ты пытаешься получить через mysql_fetch_array, которая возвращает полный массив строк таблицы (логичнее было бы использовать уже mysql_fetch_row для построкового получения результатов). 4. Code: if($tableIP = true) это вообще не сравнение, а присваивание переменной значения true, что само по себе определяет результат выполнения конструкции if как true, а else у тебя вообще вынесено за пределы цикла. В общем, для корректной работы тебе нужно выполнять лишь один SQL запрос, который предоставлен выше товарищем WVBR и проверять возвращает ли он какой-нибудь результат (есть ли этот IP в таблице): Code: $ipuser = $_SERVER["REMOTE_ADDR"]; //SQL запрос для получения строк, в которых значение столбца ip равно текущему IP пользователя $sql = "select * from `accounts` where `ip` LIKE '$ipuser'"; //выполнение запроса $res = mysql_query($sql); //получение количества строк в результате $rows_count = mysql_num_rows($res); //если количество строк меньше одной завершаем работу скрипта if ($rows_count < 1) { die("IP нет в БД"); } //если IP есть в базе будет выполняться весь код ниже