Ну я делал так: есть файл ид.дат, в котором хранится число(допустим 1) при успешной реге значение цифры в файле увеличивается на 1 и присваивается юзеру, как ид(в нашем случае ид=2)
<?
$file = "id.dat"; $f = fopen($file, "r"); $id = fgets($f, 100); fclose($f); $id++; $f = fopen($file, "w"); fputs($f, $id); fclose($f);
?>
, ну и при следующей реге все то же самое. Но оно тормозит скрипт сильно. Лишних секунд 5-10 при создании нового пользователя(юзер заполнил поля, нажал 'регистрация' и если успешно, то долго идет загрузка). Вот думаю, как можно оптимизировать этот процесс
Добавлено через 08:57 сек.
Тitov (15 Марта 2011 / 14:21)
1 я так понимаю нужно чтоб ид по порядку шел, 1,2,3,4,5,6, ... 99999999
файл users.dat должен писаться такого плана
id:|:login:|:pass:|: и т.д. смотря сколько полей ты желаеш заполнить для пользователя, тогда код который ниже будет прекрасно работать.
<?
function user_id() {
$file=file('users.dat');
if (!empty($file[0])) {
$ex=explode(':|:',$file[0]);
return trim($ex[0])+1;
} else {
return '1'; }
}
?>
<?
$id = user_id();
?>
как я понял, этим можно заменить то, что выполняется у меня в посте выше?
Изменил: Олег (15.03.2011 / 18:07)