Notice: Uninitialized string offset: 62 in /home/unibix/www/test1.loc/3 Password generator/Password generator.php on line 44
Выдвает ошибку при генерации пароля, в котором используются буквы латинского алфавита и/или буквы и символы.
Вот код:
Спойлер (Отобразить)
CODE (htmlphp):
скопировать код в буфер обмена
скопировать код в буфер обмена
- <html>
- <head>
- <title></title>
- <style>
- p {
- word-wrap: break-word;
- }
- </style>
- </head>
- <body>
- <form method="post" action="Password generator.php">
- <p>Введите длину пароля:</p>
- <input type="text" name="passwordLength">
- <p>Пароль будет составлен из:</p>
- </p><input type="radio" name="numbers">Цифр
- <input type="radio" name="numbersAndWords">Цифр и букв латинского алфавита
- <input type="radio" name="anyNumbersAndWords">Любых символов</p>
- <input type="submit" value="Submit">
- </form>
- <p>
- <?php
- if (!empty($_POST["passwordLength"])) {
- echo "<p>Длина пароля: " . $_POST["passwordLength"] . " символ.</p>";
- echo "<p>Длина пароля: " . $_POST["passwordLength"] . " символа.</p>";
- } else {
- echo "<p>Длина пароля: " . $_POST["passwordLength"] . " символов.</p>";
- }
- if (!empty($_POST["numbers"])) {
- $numbersLen = 1;
- while ($numbersLen <= $_POST["passwordLength"]) {
- $numbersLen = $numbersLen + 1;
- echo rand(0, 9);
- }
- } elseif (!empty($_POST["numbersAndWords"])) {
- $characters = "qazxswedcvfrtgbnhyujmkiolp1234567890QAZXSWEDCVFRTGBNHYUJMKIOLP";
- $charactersLen = mb_strlen($characters);
- $numbersAndWordsLen = 1;
- while($numbersAndWordsLen <= $_POST["passwordLength"]) {
- $numbersAndWordsLen = $numbersAndWordsLen + 1;
- $random = rand(0, $charactersLen);
- echo $characters[$random]; ;
- }
- } elseif (!empty($_POST["anyNumbersAndWords"])) {
- $characters = 'qazxswedcvfrtgbnhyujmkiolp1234567890QAZXSWEDCVFRTGBNHYUJMKIOLP.,{}()[]!@#$%^&*-=_+/\|"\'';
- $charactersLen = strlen($characters);
- $anyNumbersAndWordsLen = 1;
- while($anyNumbersAndWordsLen <= $_POST["passwordLength"]) {
- $anyNumbersAndWordsLen = $anyNumbersAndWordsLen + 1;
- echo $characters[mt_rand(0, $charactersLen)]; ;
- }
- }
- }
- ?>
- </p>
- </body>
- </html>