Здравствуйте!
Данный вопрос здесь уже поднимался, но так как автор темы видимо не сформулировал правильно суть проблемы, то его отправили учить web программирование и он оттуда не вернулся. Поэтому решение данной проблемы осталось неизвестно. Файлы там тоже приложены.
Я тоже столкнулся с данным скриптом и зашел в тупик, хочу с вами попробовать найти решение проблемы активации пользователей по ссылке, высылаемой на электронный адрес пользователя для подтверждения его регистрации, и может быть данный пример будет другим наукой.
Напомню, что пользователю после регистрации в браузерной игре высылается :
Подтвердить e-mail адрес : ".$con[3]."/activate.php?
code=".md5($_POST['r_login'].$_POST['r_pass'].date("z"))."
данный хеш сходится с $_GET['code'], котрый участвует в запросе
$user_sql_query = mysql_query("SELECT id FROM users WHERE check_mail = '0' and MD5(CONCAT(login,pass,'".date("z")."'))= '".$_GET['code']."' limit 0, 1", $full_base); файла активации.
В таблице user точно присутствует user с атрибутом check_mail равным нулю, но почему то результат этого запроса всегда равен одному и тому же значению, а именно Resource #id всегда одно и тоже, хотя у пользователя атрибут id в таблице users давно совсем другой.
Видимо поэтому выражение mysql_num_rows($user_sql_query) никогда не равно единице. И активация пользователя не происходит.
Даже подставляя правильное значение id прямо в запрос:
mysql_query("UPDATE users SET check_mail=1 WHERE id = '".$user_array['id']."'", $full_base); данные в таблице users не обновляются и регистрация остается не подтвержденной.
Что вы думаете по данному примеру, в чем тут может быть проблема, ведь никаких сообщений об ошибках в процессе работы не выводится.