Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Losowanie hasła do pola tekstowego
Forum PHP.pl > Forum > Przedszkole
Nidils
Mam formularz do wypełnienie i chciałbym, żeby obok pola hasło był button generuj i po kliknięciu generowało by hasło do tego pola tekstowego. Mam już zrobione losowanie hasła, ale nie wiem jak zrobić ten button.

  1. <?php
  2.  
  3. function passwordGenerator($length)
  4. {
  5. $uppercase = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'R', 'S', 'T', 'U', 'W', 'Y', 'Z');
  6. $lowercase = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'r', 's', 't', 'u', 'w', 'y', 'z');
  7. $number = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
  8. $password = null;
  9. for ($i = 0; $i < $length; $i++) {
  10. $password .= $uppercase[rand(0, count($uppercase) - 1)];
  11. $password .= $lowercase[rand(0, count($lowercase) - 1)];
  12. $password .= $number[rand(0, count($number) - 1)];
  13. }
  14. $haslo = substr($password, 0, $length);
  15. return $haslo;
  16. }
  17. ?>
pmir13
W momencie w którym oglądasz stronę php dawno zakończył swoją część pracy. Jeśli akcja użytkownika ma być obsłużona przez php musisz:

1. Wygenerować całą następną stronę, php musi wtedy wstawić hasło w wypluwany html.
lub
2. Wykorzystać AJAX by zmienić mały kawałek tej strony, wstawiając hasło do pola

PS. Jeśli potrzebujesz losowe hasło o danej długości, nie więcej niż 32 znaki, złożone z liter i cyfr to można po prostu:
  1. $haslo = substr(md5(rand()), 0, $length);
gargamel
Takie coś nie w pehapie, a javascripcie
nexis
Cytat(gargamel @ 27.04.2011, 18:49:43 ) *
Takie coś nie w pehapie, a javascripcie

Zgadza się, stąd funkcja żywcem wzięta z phpMyAdmin:
Kod
/**
* Generate a new password and copy it to the password input areas
*
* @param   object   the form that holds the password fields
*
* @return  boolean  always true
*/
function suggestPassword(passwd_form) {
    // restrict the password to just letters and numbers to avoid problems:
    // "editors and viewers regard the password as multiple words and
    // things like double click no longer work"
    var pwchars = "abcdefhjmnpqrstuvwxyz23456789ABCDEFGHJKLMNPQRSTUVWYXZ";
    var passwordlength = 16;    // do we want that to be dynamic?  no, keep it simple :)
    var passwd = passwd_form.generated_pw;
    passwd.value = '';

    for ( i = 0; i < passwordlength; i++ ) {
        passwd.value += pwchars.charAt( Math.floor( Math.random() * pwchars.length ) )
    }
    passwd_form.text_pma_pw.value = passwd.value;
    passwd_form.text_pma_pw2.value = passwd.value;
    return true;
}
Nidils
Cytat(pmir13 @ 27.04.2011, 18:49:16 ) *
W momencie w którym oglądasz stronę php dawno zakończył swoją część pracy. Jeśli akcja użytkownika ma być obsłużona przez php musisz:

1. Wygenerować całą następną stronę, php musi wtedy wstawić hasło w wypluwany html.
lub
2. Wykorzystać AJAX by zmienić mały kawałek tej strony, wstawiając hasło do pola

PS. Jeśli potrzebujesz losowe hasło o danej długości, nie więcej niż 32 znaki, złożone z liter i cyfr to można po prostu:
  1. $haslo = substr(md5(rand()), 0, $length);

No, ale o to mi się właśnie rozchodzi jak ma php wstawić hasło w ten html?
gargamel
  1. <input type='text' name='pass' value='<?php echo $haslo; ?>' />

Może tak?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.