 |
 |
Форум сетевых администраторов » Программирование » PHP » Опять прошу помощи. reg.php
| Автор |
| Тема |
 |
|
 |
|
|
|
Power in your mind !


Зарегистрирован: Sep 2002
Место проживания: Moscow
Публикаций: 172
Статус:  |
Вот тут значит такая ситуация возникла с регестрацией ... Помогите плз.
имееться два файла
accounts.txt
-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=--=-=-=-=-=-
структура такая :
Account
{
Name admin
Password admin
Enabled 1
Banned 0
CProp Email admin@admin.ru
}
Account
{
Name user
Password user
Enabled 1
Banned 0
CProp Email user@user.ru
}
-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=--=-=-=-=-=-
reg.php
-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=--=-=-=-=-=-
if(strlen($acc) < 5 || strlen($acc) >15)
{
Echo "<font color=red><b>Error : Account name must be between 5 and 15 characters long.</font>";
echo "<br>Please push back button.</b>";
}
else
{
if(strlen($pwd1) < 4 || strlen($pwd1) >16)
{
Echo "<font color=red><b>Error : Passwords must be between 4 and 10 characters long.</font>";
echo "<br>Please push back button.</b>";
}
else
{
if($pwd1==$pwd2)
{
if($email=="")
{
}
else
{
$fo = @fopen ($Path_accountfile,"a") or die ("<br>Error : Cant read account file. Please wright to $dev_mail on this bag.");
$addacc ="
Account
{
Name $acc
Password $pwd1
Enabled 1
Banned 0
CProp Email $email
}
";
@fwrite($fo, $addacc) or die ("Write error!");
@fclose($Path_accountfile);
}
?>
-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=--=-=-=-=-=-
Требуеться сделать проверку , если в строке Name файла accounts.txt уже существует $acc False а если нету то регистрация продолжаеться + сложность еще в том что $acc может быть например ADM а пользователь регистрирует ADMIN , соответственно нужно чтобы Аккаунт зарегистрировался .Помогите плз .
__________________________________________________
________________
Ковчег построили дилетанты, а профессионаллы построили "Титаник" .
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
09-09-2002 00:04 |
|
|
Администратор
|
| а зачем такую структуру делать, это чтобы... |
[сооб. #24057]
09-09-2002 20:31 |
|
Администратор


Зарегистрирован: May 2001
Место проживания:
Публикаций: 4642
Статус:  |
а зачем такую структуру делать, это чтобы его разобрать двинуться можно. Лучще всего чтобы легко можно было проверять, сохранять все в массиве. Например:
PHP:
$user['0'] = array('name'=>'admin',
'Password'=>'admin',
'Enabled'=>'1',
'Banned'=>'0',
'Email'=>'admin@admin.ru'
);
$user['1'] = array('name'=>'admin1',
'Password'=>'admin1',
'Enabled'=>'1',
'Banned'=>'0',
'Email'=>'admin1@admin.ru'
);
//и т.д.
в таком случае проверить наличие имени пользователя не составит труда.
Второй вариант сохранять в формате типа:
code:
и так на каждую строку по юзеру. Потом это все загружать в массив и проверять на наличие дубликатов. Опять же потеря производительности, и при каждой опирацией над юзерами все нужно грузить в массив. В данном случае предпочтительнее всего использовать готовые массивы как в первом случае. А вообще чтобы полностью избавится от гемороя юзай БД.
__________________
Всегда есть решение.
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
09-09-2002 20:31 |
|
|


Power in your mind !
|
| Вот в том то и проблемма , так как надо сделать... |
[сооб. #24059]
09-09-2002 20:36 |
|
Power in your mind !


Зарегистрирован: Sep 2002
Место проживания: Moscow
Публикаций: 172
Статус:  |
Вот в том то и проблемма , так как надо сделать именно такую структуру ( это регилка на игрушку онлайновую , и ее сервер читает accounts.dat именно по такой структуре
__________________
Ковчег построили дилетанты, а профессионаллы построили "Титаник" - не бойтесь спрашивать то , чего вы не знаете , а так же делать то - чего не умеете ! 
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
09-09-2002 20:36 |
|
|
Администратор
|
| тогда пройдись по каждой строке файла и просто... |
[сооб. #24060]
09-09-2002 20:51 |
|
Администратор


Зарегистрирован: May 2001
Место проживания:
Публикаций: 4642
Статус:  |
тогда пройдись по каждой строке файла и просто регекс-ом проверь, типа:
PHP:
$lines = file("$Path_accountfile");
foreach ($lines AS $line) {
if(ereg("^Name $acc$", $line)) {
$userexist = 1;
}
}
__________________
Всегда есть решение.
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
09-09-2002 20:51 |
|
|
Power in your mind !
|
а если блоками ?
просто файлик оч.большой... |
[сооб. #24071]
09-09-2002 23:42 |
|
Power in your mind !


Зарегистрирован: Sep 2002
Место проживания: Moscow
Публикаций: 172
Статус:  |
а если блоками ?
просто файлик оч.большой
__________________
Ковчег построили дилетанты, а профессионаллы построили "Титаник" - не бойтесь спрашивать то , чего вы не знаете , а так же делать то - чего не умеете ! 
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
09-09-2002 23:42 |
|
|
Администратор
|
| Блоками не получится, ты лучше веди отдельный... |
[сооб. #24072]
10-09-2002 00:17 |
|
Администратор


Зарегистрирован: May 2001
Место проживания:
Публикаций: 4642
Статус:  |
Блоками не получится, ты лучше веди отдельный файл или БД с именами пользователей, там и проверяй.
__________________
Всегда есть решение.
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
10-09-2002 00:17 |
|
|
Power in your mind !
|
| я это сделал вообщем с помощью файла , ххотя... |
[сооб. #24081]
10-09-2002 06:56 |
|
Power in your mind !


Зарегистрирован: Sep 2002
Место проживания: Moscow
Публикаций: 172
Статус:  |
я это сделал вообщем с помощью файла , ххотя хотелось ...... Ð_эээхххх
БД бд бд бд .... хмммм а сысл ? инфы ведь на одну таблицу , и ради этого бд юзать , ну не знаю , а так оч большое спасиба за быструю и квалифицированную помощь , даже не оч.большое а ОГÐ_ОМНОЕ СПАСИБО Поло !
__________________
Ковчег построили дилетанты, а профессионаллы построили "Титаник" - не бойтесь спрашивать то , чего вы не знаете , а так же делать то - чего не умеете ! 
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
10-09-2002 06:56 |
|
|
|
Формат времени GMT. Текущее время 02:22.
|
Правила форума:
Вы не можете создавать новые темы.
Вы не можете отвечать на существующие темы.
Вы не можете прикреплять файлы.
Вы не можете редактировать свои сообщения. |
HTML теги выкл.
Спец. код вкл.
Смайлики вкл.
[IMG] тег выкл.
|
|
|
|
| |
Page generated in 0.28182507 seconds (98.21% PHP - 1.79% MySQL) with 26 queries.
|
 |