Система регистрации на PHP

Автор: Алексей Макаров

Итак, нам нужно создать две папки: templates (здесь будут хранится шаблоны) и users (здесь будут файлы пользователей).

Создаем в корневой директории файл reg.htm и пишем в него следующее:
<html> <head> <title>Форма регистрации</title> <form action="reg.php" method="post"><br> *Ник: <input type="text" name="nick"><br> Имя: <input type="text" name="name"><br> *Мыло: <input type="text" name="email"><br> *Пароль: <input type="text" name="pass"><br> *Повторите пароль: <input type="text" name="pass2"><br> Аська: <input type="text" name="icq"><br> Сайт: <input type="text" name="site"><br> Биография: <input type="text name="bio"><br> Хобби: <input type="text" name="hobby"><br> Подпись: <input type="text" name="ps"><br> <input type="submit" name="Все именно так!"><br> </form> </head>
</html>

Это простейшая HTML-форма и думаю, что в комментариях не нуждается.

Теперь создаем файл reg.php:
<?php $file_name=$users_dir.$nick; //Генерируем имя файла clearstatcache(); //Чистим кэш $fe=file_exists($file_name); //Проверяем, существует ли файл с именем $file_name if ($fe==TRUE) {echo "С таким ником уже зарегистрировались!";} elseif ($pass!=$pass2){echo "Пароли не совпадают?!";} $fp=fopen($file_name,"w"); //Открытие дескриптора файла пользователя на запись //Запись всех переданных формой данных в файл пользователя, через /n fwrite($fp,$nick."\n"); fwrite($fp,$name."\n"); fwrite($fp,$email."\n"); fwrite($fp,$pass."\n"); fwrite($fp,$icq."\n"); fwrite($fp,$site."\n"); fwrite($fp,$bio."\n"); fwrite($fp,$hobby."\n"); fwrite($fp,$ps."\n"); echo "Все ОК!"; //Пишем, что все удалось ?>

Делаем config.php:
 //Ну совсем простой файл <?php $users_dir=&#180;users/&#180;; //Директория с пользователями $templates_dir=&#180;templates/&#180;; //Директория с шаблонами ?> 
Далее - login.htm:
<html> <head> <title>Логин</title> <form action=login.php method=post> <input type=text name=nik> <input type=text name=pass> <input type=submit> </form> </head> </html> 

И login.php:
<?php header("Cache-Control: no-cache, must-revalidate"); //Не кэшировать!! header("Pragma: no-cache"); //Ставим Куки setcookie("scanik","$nik"); setcookie("scanet_password","$pass"); require("config.php"); $fe=file_exists($users_dir.$nik); //Проверка существования файла clearstatcache(); //Чистим кэш if ($fe==FALSE){echo "НЕправильный ник!"; exit;} //Нет файла $fp=fopen($users_dir.$nik,"r"); //Если есть файл, открываем на чтение $pb=fgets($fp,4096); //Читаем строки, вплоть до 4. В 4 строке хранится пароль, кладем его в переменную $pbb $pb=fgets($fp,4096); $pb=fgets($fp,4096); $pb=fgets($fp,4096); $pbb=chop($pb); if ($pbb!=$pass){echo "Не правильный пароль!"; exit;} //Проверка правильности пароля //Если пароль верен - выводим информацию пользователя if ($pbb==$pass){ echo "OK!<br>"; $usr=$nik; include ("userinfo.php"); } ?> 

И наконец...пишем файл вывода информации о пользователе:
<?php $fe=file_exists($users_dir.$usr); require("config.php"); if($fe==FALSE){include($templates_dir."nouser.html");} elseif($fe==TRUE){ $fcontens=file($users_dir.$usr); while(list($line_num,$line)=each($fcontens)) { echo $line_num." ".htmlspecialchars($line)." "; } } ?> 

А в папку templates кидаем файл nouser.htm - шаблон вывода ошибки.

Вот и все. Enjoy;)

PHP   Теги:

1. Разместил Гость 29.08.2011, 22:38

Суки а чё где половина текста пидары?


Всего : 1, на странице: 1



Редакция портала:

Благодарим за просмотр этой информации на нашем компьютерном портале. Надеемся, что обзор Система регистрации на PHP, в разделе PHP вам понравился. Есть небольшая рекомендация, если вы хотите быть в курсе всех событий сферы информационных технологий, то рекомендуем зарегистрироваться на портале www.stfw.ru.


Живая лента

•  Тест-драйв Citroen C4 Cactus: хорош комфортом и экономичностью, но… - 16.11.2018: STFW.Ru: Встречайте хэтчбек Citroen C4 Cactus – с новой внешность и уникальной подвеской


•  Самолёт Boeing на солнечных батареях, предназначенный для климатических исследований, отправится в первый полёт в 2019 году - 16.11.2018: STFW.Ru: Компания Aurora Flight Sciences, являющаяся подразделением Boeing и специализирующаяся


•  Реконструкция Днепровской ГЭС-1 позволит увеличить выработку энергии на 30 МВт и продлить срок работы на полвека - 16.11.2018: STFW.Ru: ПАО «Укргидроэнерго» намерено провести масштабную реконструкцию


•  Профессиональный настраиваемый геймпад Astro C40 TR для Playstation 4 поступит в продажу в начале 2019 года по цене $199 - 16.11.2018: STFW.Ru: Компания Sony сообщила, что после более двух лет разработки компания Astro


•  Представлена видеокарта AMD Radeon RX 590 [Первые тесты] - 16.11.2018: STFW.Ru: Как и было обещано, сегодня AMD официально представила новую видеокарту Radeon RX


•  Variety: Главную роль в сериале The Mandalorian / «Мандалорец» по вселенной Star Wars сыграет Педро Паскаль, известный по роли принца Оберина из Game of Thrones - 16.11.2018: STFW.Ru: Актер Педро Паскаль, известный по ролям в сериалах Game of Thrones (HBO) и Narcos (Netflix),