ac-40-6.0
Эксперт
Дата регистрации:
29.06.2012 02:02:06
Сообщений: 88
Всегда пожалуйста!
Максим, можно глупый вопрос? Зачем создавать на одного пользователя три постоянных сессии?
Может я чего-то не понимаю, но проверка логина и пароля проводится при регистрации, в дальнейшем при входе, то есть идентификатор так или иначе будет привязан к браузеру, а значит и к пользователю.
Default
Эксперт
Дата регистрации:
12.06.2012 15:20:27
Сообщений: 102
ac-40-6.0, не совсем понял вопроса(
Default
Эксперт
Дата регистрации:
12.06.2012 15:20:27
Сообщений: 102
Admin, а если делать обработчик формы на другой странице, то как тогда мне вывести ошибки $error на странице с формой?
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
Можно записать все ошибки в сессию и сделать редирект после обработки на форму, на которой из сессии вывести все ошибки.
Default
Эксперт
Дата регистрации:
12.06.2012 15:20:27
Сообщений: 102
Точно!)
Default
Эксперт
Дата регистрации:
12.06.2012 15:20:27
Сообщений: 102
Если вы про это
$_SESSION['$login'] = $login;
$_SESSION['pass'] = $pass;
$_SESSION['id'] = $id;
то это моя паранойя) я все эти три значение потом проверяю для одного пользователя.
ac-40-6.0
Эксперт
Дата регистрации:
29.06.2012 02:02:06
Сообщений: 88
)))
С ошибками могу поделиться.
if(isset($_SESSION['error'])){
if($_SESSION['error'] == 2){$er_ms = 'Вы не зарегистрированы!<br/>Попробуйте позже.<br/>Извините!';}
if($_SESSION['error'] == 3){$er_ms = 'Проверочный пароль не совпадает.';}
if($_SESSION['error'] == 4){$er_ms = 'Данный логин уже зарегистрован.<br/>Попробуйте другой';}
if($_SESSION['error'] == 5){$er_ms = 'Введены некорректные символы.';}
if($_SESSION['error'] == 6){$er_ms = 'Введена несуществующая дата.<br/>Проверьте дату рождения.';}
if($_SESSION['error'] == 7){$er_ms = 'Вы заполнили не все поля формы.';}
echo '<div class="error1"><table width="100%" height="100%" bgcolor="#CCCCCC" border="2" bordercolor="#0033CC"><tr height="20"><td width="180" bgcolor="#333333"><center><font color="#CC0000">Ошибка!</font></center></td><td width="20"><center><a href="script/de.php" title="close">X</a></center></td></tr>
<tr height="130"><td colspan="2"><center><font color="#CC3300">', $er_ms, '</font></center></td></tr></table></div>';}
}
Default
Эксперт
Дата регистрации:
12.06.2012 15:20:27
Сообщений: 102
Спасибо, но я полностью буфер записываю а не каждую по отдельности)
ac-40-6.0
Эксперт
Дата регистрации:
29.06.2012 02:02:06
Сообщений: 88
У каждого свои
методы.
malina95
Мастер
Дата регистрации:
15.07.2012 07:13:44
Сообщений: 208
Скажите пожалуйста какую строчку надо написать чтобы вывести пароль пользователя в нормальном виде не в мд5 при отправке на мыло?
строчка выделена красным.
// если такого нет, то сохраняем данные
$result2 = mysql_query ("INSERT INTO users (login,password,avatar,email,date) VALUES('$login','$password','$avatar','$email',NOW())"
// Проверяем, есть ли ошибки
if ($result2=='TRUE')
{
$result3 = mysql_query ("SELECT id FROM users WHERE login='$login'",$db);//извлекаем идентификатор пользователя. Благодаря ему у нас и будет уникальный код активации, ведь двух одинаковых идентификаторов быть не может.
$myrow3 = mysql_fetch_array($result3);
$activation = md5($myrow3['id']).md5($login);//код активации аккаунта. Зашифруем через функцию md5 идентификатор и логин. Такое сочетание пользователь вряд ли сможет подобрать вручную через адресную строку.
$subject = "Подтверждение регистрации";//тема сообщения
$message = "Здравствуйте! Большое спасибо за регистрацию на citename.ru\nВаш логин: ".$login."\n
Ваш пароль: ".$password."\n
Перейдите по ссылке, чтобы активировать ваш аккаунт:\nhttp://test.local/activation.php?login=".$login."&code=".$activation."\nС уважением,\n
Администрация citename.ru";//содержание сообщение
mail($email, $subject, $message, "Content-type:text/plane; Charset=windows-1251\r\n"//отправляем сообщение
echo "Вам на E-mail выслано письмо с cсылкой, для подтверждения регистрации. Внимание! Ссылка действительна 1 час. <a href='index.php'>Главная страница</a>"; //говорим о отправленном письме пользователю
}