<MyRusakov.ru />

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Видеокурс "Фреймворк Yii 2.0 с нуля. Пример создания сайта" обучит Вас созданию профессиональных сайтов с использованием фреймворка Yii. В курсе есть 2 раздела: теоретический и практический. В теоретическом разделе будут разобраны возможности фреймворка Yii с примерами их использования, а в практической части будет создан сайт Blog.MyRusakov.ru с помощью полученных знаний из теоретического раздела.

Так же почти ко всем урокам идут упражнения для закрепления материала из урока на практике.

После прохождения курса Вы без труда сможете создавать любые сайты с использованием фреймворка Yii, причём делать это будете быстро и качественно.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Форум сайта MyRusakov.ru

Проверка паролей при Регистрации
03.07.2012 09:32:12 Проверка паролей при Регистрации Сообщение #1
Nikita

Nikita

Освоившийся

Освоившийся

Дата регистрации:
06.06.2012 22:12:07

Сообщений: 36

Как проверить ввод однаковых паролей???

reg.php

<h1>Звездочками (*) обозначены поля, обязательные для заполнения.</h1>
<form action="save_user.php" method="post" enctype="multipart/form-data">
<p>
<label>Ваш логин *:<br/></label>
<input name="login" type="text" size="20" maxlength="20"/>
</p>
<p>
<label>Ваш пароль *:<br/></label>
<input name="password" type="password" size="20" maxlength="20"/>
</p>
<p>
<label>Повтор пароля *:<br/></label>
<input name="password" type="password" size="20" maxlength="20"/>
</p>
<p>
<label>Ваш E-mail *:<br/></label>
<input name="email" type="text" size="20" maxlength="100"/>
</p>

<p>
<label>Выберите аватар. Изображение должно быть формата jpg, gif или png:<br/></label>
</p>
<div style="margin-left: 300px;">
<?php include ("blocks/input_file.php"?>
</div><br />
<p>Введите код с картинки *:</p>

<p><img src="code/my_codegen.php"/></p>
<p><input type="text" name="code"/></p>

<p>
<input type="submit" name="submit" value="Зарегистрироваться"/>
</p>
</form>


save_user.php

<?php

if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} }
if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} }

if (isset($_POST['code'])) { $code = $_POST['code']; if ($code == '') { unset($code);} }

if (isset($_POST['email'])) { $email = $_POST['email']; if ($email == '') { unset($email);} }


if (empty($login) or empty($password)or empty($code) or empty($email))
{
exit ("<p><span>Ошибка!</span><br>Вы ввели не всю информацию, вернитесь назад и заполните все поля!
<br><a href='reg.php'>Вернутся к Регистрации</a></p>";

}
if (!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $email))
{exit ("<p><span>Ошибка!</span><br>Неверно введен E-mail!
<br><a href='reg.php'>Вернутся к Регистрации</a></p>";}


function generate_code()
{

$hours = date("H";
$minuts = substr(date("H", 0 , 1);
$mouns = date("m";
$year_day = date("z";

$str = $hours . $minuts . $mouns . $year_day;
$str = md5(md5($str));
$str = strrev($str);
$str = substr($str, 3, 6);


$array_mix = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
srand ((float)microtime()*1000000);
shuffle ($array_mix);

return implode("", $array_mix);
}

function chec_code($code)
{
$code = trim($code);

$array_mix = preg_split ('//', generate_code(), -1, PREG_SPLIT_NO_EMPTY);
$m_code = preg_split ('//', $code, -1, PREG_SPLIT_NO_EMPTY);

$result = array_intersect ($array_mix, $m_code);
if (strlen(generate_code())!=strlen($code))
{
return FALSE;
}
if (sizeof($result) == sizeof($array_mix))
{
return TRUE;
}
else
{
return FALSE;
}
}


if (!chec_code($_POST['code']))
{
exit ("<p><span>Ошибка!</span><br>Вы ввели неверно код с картинки.
<br><a href='reg.php'>Вернутся к Регистрации</a></p>";
}



$login = stripslashes($login);
$login = htmlspecialchars($login);

$password = stripslashes($password);
$password = htmlspecialchars($password);


$login = trim($login);
$password = trim($password);



if (strlen($login) < 5 or strlen($login) > 20) {

exit ("<p><span>Ошибка!</span><br>Логин должен состоять не менее чем из 5 символов и не более чем из 20.
<br><a href='reg.php'>Вернутся к Регистрации</a></p>";

}
if (strlen($password) < 5 or strlen($password) > 20) {

exit ("<p><span>Ошибка!</span><br>Пароль должен состоять не менее чем из 5 символов и не более чем из 20.
<br><a href='reg.php'>Вернутся к Регистрации</a></p>";
}

if (empty($_FILES['fupload']['name']))
{

$avatar = "avatars/net-avatara.jpg";
}

else
{

$path_to_90_directory = 'avatars/';


if(preg_match('/[.](JPG)|(jpg)|(gif)|(GIF)|(png)|(PNG)$/',$_FILES['fupload']['name']))
{

$filename = $_FILES['fupload']['name'];
$source = $_FILES['fupload']['tmp_name'];
$target = $path_to_90_directory . $filename;
move_uploaded_file($source, $target);

if(preg_match('/[.](GIF)|(gif)$/', $filename)) {
$im = imagecreatefromgif($path_to_90_directory.$filename) ;
}
if(preg_match('/[.](PNG)|(png)$/', $filename)) {
$im = imagecreatefrompng($path_to_90_directory.$filename) ;
}

if(preg_match('/[.](JPG)|(jpg)|(jpeg)|(JPEG)$/', $filename)) {
$im = imagecreatefromjpeg($path_to_90_directory.$filename);
}



$w = 90;


$w_src = imagesx($im);
$h_src = imagesy($im);


$dest = imagecreatetruecolor($w,$w);


if ($w_src>$h_src)
imagecopyresampled($dest, $im, 0, 0,
round((max($w_src,$h_src)-min($w_src,$h_src))/2),
0, $w, $w, min($w_src,$h_src), min($w_src,$h_src));


if ($w_src<$h_src)
imagecopyresampled($dest, $im, 0, 0, 0, 0, $w, $w,
min($w_src,$h_src), min($w_src,$h_src));


if ($w_src==$h_src)
imagecopyresampled($dest, $im, 0, 0, 0, 0, $w, $w, $w_src, $w_src);


$date=time();
imagejpeg($dest, $path_to_90_directory.$date.".jpg";



$avatar = $path_to_90_directory.$date.".jpg";

$delfull = $path_to_90_directory.$filename;
unlink ($delfull);
}
else
{


exit ("<p><span>Ошибка!</span><br>Аватар должен быть в формате <strong>JPG</strong>,<strong>GIF</strong> или <strong>PNG</strong>
<br><a href='reg.php'>Вернутся к Регистрации</a></p>";

}
$avatar адреса загруженной авы
}

$password = md5($password);

$password = strrev($password);

$password = $password."b3p6f";

include ("blocks/bd.php";

$result = mysql_query("SELECT id FROM users WHERE login='$login'",$db);
$myrow = mysql_fetch_array($result);
if (!empty($myrow['id'])) {

exit ("<p><span>Ошибка!</span><br>Извините, введённый вами логин уже зарегистрирован. Введите другой логин.
<br><a href='reg.php'>Вернутся к Регистрации</a></p>";

}


$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);

$subject = "Подтверждение регистрации";
$message = "Здравствуйте! Спасибо за регистрацию на SITE.RU\nВаш логин: ".$login."\n
Перейдите по ссылке, чтобы активировать ваш аккаунт:\nhttp://localhost/site.ru/activation.php?login=".$login."&code=".$activation."\nС уважением,\n
Администрация Counter-Strike.UA";
mail($email, $subject, $message, "Content-type:text/plane; Charset=windows-1251\r\n";

echo "<p>Вам на E-mail выслано письмо с cсылкой, для подтверждения регистрации.
<br>Внимание!<br> Ссылка действительна 1 Час.<br> <a href='index.php'>Главная Страница<a></p>";
}

else {
exit ("Ошибка! Вы не зарегистрированы.";

}
?>
Профиль Ответить
03.07.2012 10:25:06 Проверка паролей при Регистрации Сообщение #2
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Для начала дать другое имя полю с повтором пароля, а затем в скрипте принять оба поля и проверить их на равенство.
Профиль Ответить
03.07.2012 12:23:28 Проверка паролей при Регистрации Сообщение #3
Nikita

Nikita

Освоившийся

Освоившийся

Дата регистрации:
06.06.2012 22:12:07

Сообщений: 36

Типа так?

if( $_POST['password_1'] !== $_POST['password_2']) {
$status[] = 'Пароли не совпадают';
}
Профиль Ответить
03.07.2012 12:46:29 Проверка паролей при Регистрации Сообщение #4
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Да, всё правильно. Только не забудьте поставить и в форме соответствующие имена полей у паролей.
Профиль Ответить
03.07.2012 14:02:26 Проверка паролей при Регистрации Сообщение #5
Nikita

Nikita

Освоившийся

Освоившийся

Дата регистрации:
06.06.2012 22:12:07

Сообщений: 36

Михаил, пасиба!)
Профиль Ответить