Независимость от регистра - collation(для поля) MySQL. Для кодировки utf-8 это utf8_general_ci(case independent вроде расшифровывается).
На счет существования готовой функции не уверен, но что можно написать свою функцию(именно для MySQL) знаю точно.
А еще можно пройтись по коду и устранить ошибки, но это пожалуй самый сложный(не пятничный) вариант:)
Вчера генератор паролей, седня регулярки, а завтра че? Хайлоад стопицот плюсов?
Семимильными шагами идете, товарисч:D
Гарантий 0, це ж рандом:)
Если ТС уж так хочет - конструктор(PHP) и логика(его мозги) в помощь для усовершенствования алгоритма.
Загадка: ТС пишет скрипт казино(рулетка). Сколько ему понадобиться тысяч функций для его комбинаторики:D
Ну раз пошла такая пьянка, то и я выложу свою фантазию:)
<form action="" method="post"> <input type="checkbox" name="digits" value="yes" /> - Цифры<br /> <input type="checkbox" name="letters" value="yes" /> - Буквы<br /> <input type="checkbox" name="other" value="yes" /> - Другие символы<br /> <input type="text" name="length" /> - Длина пароля<br /> <input type="submit" name="submit" value="submit" /></form><?phpfunction getRandomCell($array)//Получаем случайную ячейку переданного массива. ЗЫ: я знаю про array_rand))){ $count = count($array); $rand = rand(0, $count-1); return $array[$rand];}function genPass($length, $accessSymbols){ $pass = ''; if ($length == 0) { $length = 10;//Длина пароля по умолчанию } if (!count($accessSymbols)) { $accessSymbols = array('digits','letters','other');//Если в функцию пришел пустой массив } $symbols = array ( 'digits' => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9), 'letters' => array('a','b', 'c', 'd', 'e', 'z'), 'other' => array('$', '!', '@', '#') ); for ($i=0; $i<$length; $i++) { $randGroupSymbols = getRandomCell($accessSymbols); $symbol = getRandomCell($symbols[$randGroupSymbols]); $pass .= $symbol; } return $pass;}$length = (int) $_POST['length'];//Записываем жделаемую длину пароля в переменнуюunset($_POST['length'], $_POST['submit']);//удаляем из массива _ПОСТ лишние данные$accessSymbols = array();foreach($_POST as $k=>$v)//создаем массив, который содержит в себе список допустимых символов{ $accessSymbols[] = $k;}echo genPass($length, $accessSymbols);?>
У ТСа отключили интернет. Он 5 суток ничего не кушал.......Он умер, так и не узнав в какой руке надо держать ложку:D
Ставлю на Попова:D
Всё тот же ноготь на отсечение, это фейк!
Спасите меня, он уже 2 метра)))
Проблема(даже беда) в том, что этот вопрос(выделен жирным) стал актуален более чем в 100% случаев:)
На проверку уйдет не более 1 минуты(2 скрипта с разными данными). Но нет же, стока написать, искать, делать скрин...
Alkoshenko, ТРУ программер должен быть ленивым;)