Информационные технологииStfw.Ru 🔍

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

🕛 20.03.2007, 14:44
Автор: Алексей Макаров

Итак, нам нужно создать две папки: 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   Теги:

Читать IT-новости в Telegram
Информационные технологии
Мы в соцсетях ✉