[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вопрос
blade
Вот пишу страницу регистрации все нормально не работает только одно имеется код


if ($user_ip!='127.0.0.1')
{
$ip = getRealIP();
$checkip = mysql_query("SELECT * FROM nb_users WHERE enter_ip like '$ip%'");
$ip_exist = mysql_num_rows($checkip);
}

if ($ip_exist > 1)
{
echo "<div class='error'>Ошибка! Повторная регистрация невозможна</div>";
} else {
кароче регит

echo "<div class='oks'>Поздравляем теперь вы <b>".$username."</b>, зарегистрированы.</div>";
}


то есть хочу запретить повторную регу, но оно все равно регистрирует и выдает ошибки

Warning: mysql_query() [function.mysql-query]: Access denied for user 'apache'@'localhost' (using password: NO) in /home/nazar116/domains/newskript.real-host.ru/public_html/register.php on line 123

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/nazar116/domains/newskript.real-host.ru/public_html/register.php on line 123

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/nazar116/domains/newskript.real-host.ru/public_html/register.php on line 124
Поздравляем теперь вы 55555, зарегистрированы.


Почему так ? и как исправить ?



Спустя 6 минут, 38 секунд (12.08.2010 - 10:10) linker написал(а):
1. Видимо тут include("config.php"); происходит подключение к MySQL. Тогда вот тут
if ($user_ip!='127.0.0.1')
{
$ip = getRealIP();
$checkip = mysql_query("SELECT * FROM nb_users WHERE enter_ip like '$ip%'");
$ip_exist = mysql_num_rows($checkip);
}
такого подключения не происходит. В это случае, следующей строчкой
if ($ip_exist > 1)
условие не выполняется и происходит повторная регистрация.
2. Зачем так много include("config.php"); и mysqL_close($link);?

Спустя 4 минуты, 3 секунды (12.08.2010 - 10:14) blade написал(а):
Цитата (linker @ 12.08.2010 - 07:10)
1. Видимо тут include("config.php"); происходит подключение к MySQL. Тогда вот тут
if ($user_ip!='127.0.0.1')
{
$ip = getRealIP();
$checkip = mysql_query("SELECT * FROM nb_users WHERE enter_ip like '$ip%'");
$ip_exist = mysql_num_rows($checkip);
}
такого подключения не происходит. В это случае, следующей строчкой
if ($ip_exist > 1)
условие не выполняется и происходит повторная регистрация.
2. Зачем так много include("config.php"); и mysqL_close($link);?

соединение к базе стоит выше этого кода: и все равно код не выполняется ошибки!
а на вопрос зачем так много : а как лучше ?

Спустя 6 минут, 4 секунды (12.08.2010 - 10:20) PiratXXX написал(а):
Если хочешь запретить повторную регу! То я просто перед занесение данных в БД, проверял а имеется ли там пользователь с таким логином(с которым хотят зарегится!)


/* Проверяем зарегистрирован ли пользователь с данным логином, если "да", тогда просим пользователя выбрать другой логин */
$check = mysql_query("SELECT * FROM users WHERE login = '$login'");
$row = mysql_fetch_array($check);
if (!empty($row)) {
exit ("<img src='../img/cancel.png' width='16' height='16'> Извините, введенный Вами логин уже зарегистрирован!<br>
<img src='../img/empty.png' width='16' height='16'> Введите другой логин!"
);
}

Спустя 1 минута, 48 секунд (12.08.2010 - 10:22) blade написал(а):
Цитата (PiratXXX @ 12.08.2010 - 07:20)
Если хочешь запретить повторную регу! То я просто перед занесение данных в БД, проверял а имеется ли там пользователь с таким логином(с которым хотят зарегится!)


/* Проверяем зарегистрирован ли пользователь с данным логином, если "да", тогда просим пользователя выбрать другой логин */
$check = mysql_query("SELECT * FROM users WHERE login = '$login'");
$row = mysql_fetch_array($check);
if (!empty($row)) {
exit ("<img src='../img/cancel.png' width='16' height='16'> Извините, введенный Вами логин уже зарегистрирован!<br>
<img src='../img/empty.png' width='16' height='16'> Введите другой логин!"
);
}

не мне нужны айпишники а то так ты можешь зарегиться 100 раз

Спустя 2 минуты, 7 секунд (12.08.2010 - 10:24) PiratXXX написал(а):
а!!!
а кикие строки 123 и 124!?

Спустя 3 минуты, 39 секунд (12.08.2010 - 10:28) linker написал(а):
blade
Учитывая то, как много у тебя по тексту mysql_close() не мудрено что, где-то закрыл коннект и не восстановил.

Подключение к базе должно быть один раз в начале скрипта, mysql_close() должно быть один раз в конце скрипта, но во избежании недоразумений, можно вообще не использовать mysql_close(), ибо коннект сам закроется, когда скрипт закончит свою работу.

Спустя 4 минуты, 58 секунд (12.08.2010 - 10:33) PiratXXX написал(а):
А у тебя в других файлах это подкючение использовалось, оно работало!???

Ипопробуй сам запрос сооеденения написать в этом же файле?

Спустя 41 минута, 9 секунд (12.08.2010 - 11:14) blade написал(а):
все проблему решил!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.