Итак, нам нужно создать две папки:
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=´users/´; //Директория с
пользователями
$templates_dir=´templates/´;
//Директория с шаблонами
?>
Далее - 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;)