В ИНТЕРНЕТЕ

 Процессор Athlon XP3200+
 Битва против зажравшихся рунетовских монополистов
 Куваев добил Масяню
 Обнаружена самая древняя планета
 Автобусы, не нуждающиеся в водителях
 Российские ученые изобрели уникальный препарат
 Космические лучи вызывают ледниковые периоды
 Кадр дня: компьютерный корпус в виде космического крейсера
 Сотовый телефон с двумя фотокамерами
 Из рыб сделали лампы
 Linux-хакеры взломали Xbox
 Компьютер научили человеческому распознаванию лиц
 Yamaha: мотоцикл на топливных элементах
 Rambler: Спамерам осталось два месяца

 WEB-СТРОИТЕЛЬСТВО

 Убийство спама в The Bat!
 Time Out или время загрузки сайта
 Что такое ip адрес и как его использовать
 Как правильно регистрироваться в западных каталогах
 Система регистрации на PHP
 Интернет - сплошная грязь
 Что мы хотим сделать?
 Статистика пользователей РУнета: июль 2003 года
 Как защитить свой контент от плагиата?
 Пишем перекодировщик translita в кириллицу и обратно на PHP
 Установка и настройка PHP
 Настройка small HTTP Server: практическое руководство
 Copy - Paste: Как защитить от копирования текст на вашем сайте
 Зачем нужна регистрация в каталогах через 1PS.RU

 ПРОГРАММЫ

 MultiRes 1.42
 GetRight 5.0.2
 NetView 2.78
 Trace The Matrix 1.2
 PhotoGift 1.1
 SP-Чат 2.6
 RAR Password Recovery 1.0b
 FVords 1.5.11
 PowerStrip 3.43 (Multilanguage)
 GoldWave 5.04
 Строчка 1.1.15
 Apache 2.0.47
 PC4ever 5
 Nero Burning Rom 5.5.10.42
 Wmaster #6
 OptiPerl 4.1 build 47
 Atomic Cannon 1.22
 Sandra Standard MAX3! 9.73

 УГОЛОК ГЕЙМЕРА

 Новая информация о Doom III
 Официальный сайт Max Payne 2
 Для зрения полезны лишь самые жестокие компьютерные игры
 В Таиланде запретили играть на компьютере ночью
 Несколько ключевых разработчиков покинули Blizzard
 3 вопроса портала ProtoPlex разработчику игр Nival Interactive
 Ах этот Вайс...
 Venom: Кодовое имя "Прорыв"
 BloodRayne
 Enclave
 Seadogs II Preview
 Half Life 2: возвращение Гордона Фримена
 Дальнобойщики 2
 Grom
 Ил-2: Забытые Сражения
 Freelancer: свободный копейщик
 Microsoft Train Simulator
 Stronghold: Crusader
 Elasto Mania

 РАЗНОЕ

 «Би Лайн» почти решил проблему с «восьмеркой»
 Упругая "стенка" защитит небоскреб от самолета
 Белый тигр с голубыми глазами
 Элизиум: новый компьютерный фильм
 Разделение доступа в интернет из локальной сети


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

Алексей Макаров aka Almak
almakpost@mail.ru
Июль 17, 2003
[15:49]

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


Авторы: Томсон Л., Веллинг Л. ISBN: 966-7393-98-4 Страниц: 672 Издатель: ДиаСофт Год выпуска: 2002 Цена: 321.02 руб Обращений: 300+
Книга Разработка Web-приложений на РНР и MySQL представляет собой всеобъемлющее руководство по совместному применению РНР и MySQL для разработки высокоэффективных и интерактивных Web-сайтов с динамическим содержимым.Несомненным достоинством книги является ее ориентация на решение реальных бизнес-задач, что воплощено во множестве типовых примеров, столь часто встречающихся при повседневной раз...
Вся информация, содержащаяся в данном журнале, является интеллектуальной собственностью своих законных авторов. При перепечатке материалов из журнала для соблюдения закона об авторских правах необходимо указывать имена и все ссылки авторов. Также необходимо ставить видимую ссылку на Российский мультипортал ProtoPlex <HTTP://PROTOPLEX.RU>