Вот, вы правильно подчеркнули! Даже, со скриптом рулетки, 100% есть какие-то методы объединения?---------- Добавлено 04.07.2013 в 15:07 ----------Вот есть сайт: http://www.randstuff.ru/password/ на нём мне очень нравится генератор. Скачал с сайта все файлы JS и CSS запустил у себя, нечего не работает. Значит обработчик php сервер, а не JS.
И ещё у меня к вам вопрос: на этом же сайте, так красиво передвигается ползунок шкалы выбора колисечтва символов, и пароль выдаётся без перезагрузки, и текст красиво появляется. Скажите какие языки и библиотеки языков для этого понадобились? Чтобы реализовать такое?
Я конечно, не знаток с точки оптимизации. Но если я правильно понимаю, чем больше скрипта, тем дольше его обработка? Если в одном файле, будет 20 массивов и 20 функций, я не думаю что это будет Good !
Я думал, что можно их как-то соединять (массивы), конечно есть функция соединения, но я не могу понять как соединить их несколько? При этом не зная, сколько их будет соединяться?
PS - если бы я знал что пользователь выберет именно 2 пункта, то да, это легко сделать (соединить) нужные массивы.
понял нужно сделать == извините ступил. А вот как на счёт того что выдаётся 20 значный пароль вместо 10 значного. Почему так?
Если честно, это вы детский сад. В вашем случае, нужно будет создавать 20 массивов. Так как будет 4 галочки для выбора. Вот и считайте, 4 * 4 = 16 и ещё какие-либо функции. Вы написали тоже самое, то и с чего я начал эту тему. С массива, и я попросил как можно обойтись без каждого выбора. То есть есть 4 массива, и она в зависимости от галочки, собираются вместе.
Вы уловили суть вопроса?
function pass($t='c',$count_r =6) { switch($t){ case 'c':$letters = 'abcdefghijklmopkqrstuvwxyz';break; case 'd':$letters = '0123456789';break; case 's':$letters = '~!@#$%^&*()_+=-';break; default:return null; } for ($p = 0; $p <= $count_r; $p++) { $pass .= $letters{rand(0, strlen($letters) - 1)}; } return $pass; }
Ага, а если пользователь выбрал и буквы и цифры. То ему сначала код, выдаст буквы, а потом пароль с цифрами. Или наоборот. Как в вашем скрипте будет выводиться пароль если пользователь выберет c d s ?
function pass() { $letters = '0123456789abcdefghijklmopkqrstuvwxyz'; $count_r = 8; for ($p = 0; $p <= $count_r; $p++) { $pass .= $letters{rand(0, strlen($letters) - 1)}; } return $pass; }
Вы тему вообще читали? То что вы написали, я об этом уже давно сказал! С вашей функцией, придётся создавать их 20
В том то и дело, что я не знаю, как произвести запись в 1 массив из других массивов, в зависимости от if.---------- Добавлено 03.07.2013 в 18:44 ----------
Им можно было бы воспользоваться, если бы я точно знал, сколько будет массивов объединяться!
Если вы знаете, как огранизовать с этой функцией мною задуманное, попрошу привести простенький пример? Благодарю за ответ!
Спасибо, большое всё помогло!---------- Добавлено 03.07.2013 в 18:31 ----------Не буду создавать новую тему, спрошу здесь:
1.
if(isset($_POST['num3']) and isset($_POST['num2'])) { echo numv1($_POST['number']); }
Проверил переданные переменыеи вызвал фукнцию:
function numv1($number) { $arr = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h','i','j','k','l', 'm','n','o','p','r','s', 't','u','v','x','y','z', 'A','B','C','D','E','F', 'G','H','I','J','K','L', 'M','N','O','P','R','S', 'T','U','V','X','Y','Z', '1','2','3','4','5','6', '7','8','9','0'); $pass = ""; for($i = 0; $i <= $number; $i++) { $index = mt_rand(0, count($arr) - 1); $pass .= $arr[$index]; } return $pass; }
Проблема в том что, если допутим пользователь вводит 10 то ему выдаётся 20 цифирный пароль, если 100 ему выдаётся 200 символьный пароль. Как эту проблему устранить?
2.Скрипт виснет, когда я делаю:
for($i = 0; $i = $number; $i++) { $index = mt_rand(0, count($arr) - 1); $pass .= $arr[$index]; } когда ставлю знак = равенства (всё хорошо работает когда, <=)
То скрипт виснет и просто крутит колёсико!
3.При генерации чисел, почему то не выдаётся нужное число, допутим пользователь написал 5 ему выдалось 1 числвой пароль, попросил 100 выдалось 1.Как это устаранить?
Подскажите пожалуйста, как эти ошибки устаранить? Благодарю за ответы!
Я сейчас это делаю, не для пользователей, а для себя. В будущем, попросят меня сделать с кнопочками, а я бац не знаю! Я сейчас только учусь!---------- Добавлено 03.07.2013 в 17:50 ----------
Там представлены, как делать генераторы, только определённой длины. А вот с выбором (галочками) нет такого. Поэтому я начал делать сам. И столкнулся с такой проблемой. Что если будет 4 пункта. То нужно будет написать более 20 функций.
Спасибо большое! Помогло! Но тогда возникают ещё 2 вопроса:
1.Как сделать что-либо по умолчнию? То есть чтобы уже стояло число 10, а пользователь ввёл 20 и потом уже стояло 20 вместо 10.
2.Как это применить к не текстовым полям? Сделал вот так:
<input type="checkbox" name="num2" value="<?=$_POST['num2']?>">
Не работает?