Анализатор принимает данные массива пост, ставит куки и высылает активационное письмо...
<?php
if (isset($_POST['login'])) /* Если массив есть */
{
include("connection.php");
if ($_POST['login'] == '' OR $_POST['pass'] == '' OR $_POST['repass'] == '' OR $_POST['FirstName'] == '' OR $_POST['SirName'] == '' OR $_POST['LastName'] == '') /* Проверка на пустоту */
{
header('Refresh: 1; URL=registration.php');
$Descript = '<H3 align="center">Вы не заполнили все поля!</H3>
<p align="center">Через 1 сек. вы будете перенаправлены на страницу регистрации</p>';
/* exit; */
}
else if($_POST['pass'] != $_POST['repass']) /* Проверка на неравенство паролей */
{
header('Refresh: 1; URL=registration.php');
$Descript = '<H3 align="center">Пароли не совпадают.</H3>
<p align="center">Через 1 сек. вы будете перенаправлены на страницу регистрации</p>';
/* exit; */
}
else
{
$result = mysql_query("SELECT FirstName FROM avtors WHERE AvtorMail='".$_POST['login']."'");
if (mysql_num_rows($result)>0) /* Проверка на наличие зписи */
{
header('Refresh: 3; URL=registration.php');
$Descript = '<H3 align="center">РЕГИСТРАЦИЯ НЕВОЗМОЖНА! Пользователь с таким адресом почты уже есть!</H3>
<p align="center">Через 3 сек. вы будете перенаправлены на регистрационную страницу нашего сайта.</p>';
mysql_free_result($result);
/* exit; */
}
else
{
/* Кука */
setcookie("login",$_POST['login'],time()+60*60);
setcookie("FirstName",$_POST['FirstName'],time()+60*60);
setcookie("SirName",$_POST['SirName'],time()+60*60);
setcookie("LastName",$_POST['LastName'],time()+60*60);
setcookie("pass",$_POST['pass'],time()+60*60);
include("E-mailfunc.php");
send_mime_mail('Автор письма',
'sender@site.ru',
'Получатель письма',
$_POST['login'],
'utf-8', // кодировка, в которой находятся передаваемые строки
'utf-8', // кодировка, в которой будет отправлено письмо
'Письмо-уведомление',
"<html>
<head>
<title>Активация</title>
</head>
<body>
<p>Здравствуйте, уважаемый пользователь ".$_POST['FirstName']." ".$_POST['LastName'].".</p>
Вы получили тестовое письмо.<br>
Ссылка ниже поведет Вас на активационную страницу.<br>
<p><a href='http://rifma.16mb.com/activation.php'>Активация</a></p>
Если Вы не регистрировались на нашем аккаунте, просто проигнорируйте данное письмо.<br>
</body>
</html>
");
mysql_free_result($result);
header('Refresh: 1; URL=index.php');
$Descript = '<H3 align="center">Благодарим Вас за регистрацию!</H3>
<p align="center">Мы отправили Вам письмо с ссылкой на активацию.</p>';
}
}
}
else
{
header("Location:index.php");
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
</head>
<body>
<?php
echo("$Descript");
?>
</body>
</html>
Активатор снимает с них информацию и пишет в бд, потом удалаяет куки. Вот его код.
<?php
if (isset($_COOKIE['login']))
{
include("connection.php");
mysql_query("INSERT INTO avtors (FirstName, SirName,LastName,AvtorMail,Password) VALUES ('".$_COOKIE['FirstName']."','".$_COOKIE['SirName']."','".$_COOKIE['LastName']."','".$_COOKIE['login']."','".$_COOKIE['pass']."')");
setcookie("login","",time()-600*100);
setcookie("FirstName","",time()-600*100);
setcookie("SirName","",time()-600*100);
setcookie("LastName","",time()-600*100);
setcookie("pass","",time()-600*100);
header('Refresh: 10; URL=index.php');
echo('<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
</head>
<body>
<H3 align="center">Ваш аккаунт активирован! </H3>
<p align="center">Через 10 сек. вы будете перенаправлены на главную страницу нашего сайта, где сможете выполнить вход.</p>
</body>
</html>');
}
else
{
header('Refresh: 0; URL=index.php');
}
?>
Самое интересное состоит в том, что на моей машине все работает как часы. На других активатор ведет себя так словно никто не ставил куки. То есть редирект... КАким образом можно объяснить разное поедение PHP у разных людей. Спрашивал разрешены ли куки, говорят - да.
Спустя 28 минут, 5 секунд (20.02.2012 - 14:09) walerus написал(а):
Часы у тебя немного сломаны значит :)
Введи пробел и твое условие не сработает...
так правильнее...
По теме -
if ($_POST['login'] == '' OR $_POST['pass'] == '' OR $_POST['repass'] == '' OR $_POST['FirstName'] == '' OR $_POST['SirName'] == '' OR $_POST['LastName'] == '') /* Проверка на пустоту */
Введи пробел и твое условие не сработает...
if ( trim( $_POST['login'] ) == '' OR
trim( $_POST['pass'] ) == '' OR
trim( $_POST['repass'] ) == '' OR
trim( $_POST['FirstName'] ) == '' OR
trim( $_POST['SirName'] ) == '' ) OR
trim( $_POST['LastName'] ) == '' )
) /* Проверка на пустоту */
так правильнее...
header('Refresh: 1; URL=registration.php');Человек не успеет прочитать даже...
По теме -
Цитата |
Спрашивал разрешены ли куки, говорят - да. |
"Все врут" (с) MD. House.
Попробуй у себя вычистить кеш, куки и перепроверь.
P.S. Если есть ссылка, давай мы порегаемся и посмотрим )
Попробуй у себя вычистить кеш, куки и перепроверь.
P.S. Если есть ссылка, давай мы порегаемся и посмотрим )
Спустя 9 минут, 14 секунд (20.02.2012 - 14:18) johniek_comp написал(а):
а зачем так?
что мешает сделать по-нормльному
слизал где-то код, а нам помогать и исправлять? да ну тебя :)
скорее всего у них куки отключены, ну или они(юзеры) криворукие что в 80% случаев :lol:
echo("$Descript");
что мешает сделать по-нормльному
echo $Descript;
слизал где-то код, а нам помогать и исправлять? да ну тебя :)
скорее всего у них куки отключены, ну или они(юзеры) криворукие что в 80% случаев :lol:
Спустя 4 минуты, 36 секунд (20.02.2012 - 14:23) PsiMagistr написал(а):
Спасибо.
http://rifma.16mb.com/registration.php Вот ссылка.
Код не слизывал.
У меня работает 100 раз проверял.
http://rifma.16mb.com/registration.php Вот ссылка.
Код не слизывал.
У меня работает 100 раз проверял.
Спустя 4 минуты, 43 секунды (20.02.2012 - 14:28) killer8080 написал(а):
PsiMagistr
так делать активацию нельзя. Что мне мешает сделать бота, который автоматически будет слать запросы с нужными куками, сразу на activation.php?
Нужно после всех проверок, сразу создавать аккаунт, помечая его флагом "не активирован". Генерировать уникальный айдишник, записывая его туда же в базу, а на почту отсылать ссылку, содержащую это id. Иначе активация через почту просто теряет всякий смысл.
так делать активацию нельзя. Что мне мешает сделать бота, который автоматически будет слать запросы с нужными куками, сразу на activation.php?
Нужно после всех проверок, сразу создавать аккаунт, помечая его флагом "не активирован". Генерировать уникальный айдишник, записывая его туда же в базу, а на почту отсылать ссылку, содержащую это id. Иначе активация через почту просто теряет всякий смысл.
Спустя 11 минут, 26 секунд (20.02.2012 - 14:39) PsiMagistr написал(а):
killer8080,
Я знаю, мне интересно почему куки у других не записываются.
Я знаю, мне интересно почему куки у других не записываются.
Спустя 2 часа, 6 минут, 12 секунд (20.02.2012 - 16:45) PsiMagistr написал(а):
Ребята,
Если у вас соображения будут, черкните пожалуйста... Я уже извелся весь. Надо искать, но где? меня спокойно активирует, причем не с локалки, а натурально с хоста...
Если у вас соображения будут, черкните пожалуйста... Я уже извелся весь. Надо искать, но где? меня спокойно активирует, причем не с локалки, а натурально с хоста...