Как каждому пользователю вписать индивидуальный индифиционный номер, внутри его конфицируемого файла (где записывется адрес почты, сайт и т.д.)?
выше указаные ссылки понятны. Но там я например ненашел именно нужного, а точнее мне надо, чтобы при регистрации пользователя, в его файл конфигурации записывался его ID (как происходит на большитсва форумах).
У меня как раз без БД (нет MySQL). Уже читал эту ссылку, но там же записывается указаное слово PHP: $somecontent = "Добавить это к файлу\n"; , а мне надо чтобы он каждый раз, каждому пользователю его индивидуальный (номер ID) записывал.
xkspy мм, ты хочешь понять, как ID-шники присваивать пользователям? ну, есть два варианта: 1) хранить в файле последний использованный ID номер, при новой регистрации - считывать его, увеличивать на единицу, записывать обратно и юзать 2) делать md5-хеш из всех данных формы + time() + IP + случайное число. 3) ненадежный вариант - использовать как ID - time() в момент регистрации.. хотя, если два пользователя будут регистрироваться в 1 секунду, то оба получат 1 ID...
Можно в качестве ID использовать логин, только это чревато тем, что если пользователь сменит имя (если это возможно), то придется везде изменять его логин.
xkspy вариант 2 PHP: <?php function new_user_id($login,$pwd,$mail,$ip,$dr){ //получаем UNIX TIMESTAMP $time = time(); //генерируем 3 случайных числа от 0 до 10^16-1 $contr_id = rand(0,999999999999999); $contr_id2 = rand(0,999999999999999); $contr_id3 = rand(0,999999999999999); //генерируем еще 1 случайное число от 0 до 100 $contr3 = round(rand(0,99)*10); //преобразуем параметры в массив, в произвольные места добавляя 3 "больших" случайных числа $arr = array($login,$contr_id2,$pwd,$mail,$ip,$contr_id3,$dr,$time,$contr_id); //преобразовываем массив, элементы которого пересортированы случайным образом, в строку, с разделителем - случайное число от 1 до 99 $str = join($contr3,shuffle($arr)); //вовзращаем это число обратно в виде md5-хеша. return md5($str); } ?> проверка входящих данных - на твоей совести вероятность повтора - вероятность повтора настолько мала, что о ней можно забыть.. вызываешь функцию: PHP: $new_id = new_user_id([i]параметры[/i]);
У меня как раз так и стоит, но меня так не устраевает, т.к. когда пользователь ставит себе аватр он записывает его под логином, а в при присутсвии кирилических символов, аватр в скрипте не отоброжается. Почему я и хочу, чтобы еще в файл конфигурации пользователя, записывалось еще число его индифидуальное, чтобы это число потом и присваивалось к аватору пользователя, как на форумах. DarkElf, спасибо за варианты, буду рассматривать.
xkspy если проблема только в кириллице, то можно делать так: md5($login); результат - в любом случае буквы + цифры
PHP: <?php $uri = "imgs/привет это мой логин, ХАХАХА!!!.gif" // Пипец, тут усе пошти по-русски echo urlencode ($uri);
Дополнительный транслейтор надо дописывать, имя потом в последствии будет высвечивать нормально? Vitas, что-то я непонял, что ты хотел этим сказать...
Рыдать буду... Как внедрить, вот это код (от DarkElf): PHP: <?php function new_user_id($login,$pwd,$mail,$ip,$dr){ //получаем UNIX TIMESTAMP $time = time(); //генерируем 3 случайных числа от 0 до 10^16-1 $contr_id = rand(0,999999999999999); $contr_id2 = rand(0,999999999999999); $contr_id3 = rand(0,999999999999999); //генерируем еще 1 случайное число от 0 до 100 $contr3 = round(rand(0,99)*10); //преобразуем параметры в массив, в произвольные места добавляя 3 "больших" случайных числа $arr = array($login,$contr_id2,$pwd,$mail,$ip,$contr_id3,$dr,$time,$contr_id); //преобразовываем массив, элементы которого пересортированы случайным образом, в строку, с разделителем - случайное число от 1 до 99 $str = join($contr3,shuffle($arr)); //вовзращаем это число обратно в виде md5-хеша. return md5($str); } ?> В данный код... Здесь $name при регистрации на кирилице, не высвечивает картинку. Вот я и хочу, чтобы был у каждого номер. PHP: <?php exit; } if ((get_ui($name,"ava") != "close") and ($f !="")){ # Можно загружать аватар $avaf = $a_s_p.$f; $avap = $ava_p.$name."_ava.gif"; if (file_exists($avaf)){ if (!copy($avaf, $avap)) { ?>Ошибка установки картинки.<br><?php } else{ echo "<br><img src=".$avap."><br>"; ?>
DarkElf, отлично! Спасибо! Маленькая загвоздка получилась. В данном скрипте имеется код: PHP: <script> <!-- function sn(s){ s=s+', '; ff = parent.bottomframe.bottomform.words;ff.focus();ff.value = s;} function ms(c,a,n,cn,i,cw,fw,sf,bi,w,t){ dc = parent.bodyframe.document; a_s =''; i_s=''; bi_s1=''; bi_s2=''; if (c == 0){ if (a == 1){a_s='<img src=ava/'+n+'_ava.gif border=0>';} ... ... Так вот, там где раньше был $name, в этом скрипте, теперь +n+ отображает картинку с именем. Как заставить +n+ шифроватся тоже в md5? Вот так неполучается: PHP: <?php echo md5(+n+); ?> Шифрует как +n+ для всех пользователей.