Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Funkcja nie wyrzuca wyniku?
Forum PHP.pl > Forum > Przedszkole
zaaap
Witam,
Pracuje nad czyms, co bedzie generowało link do zmiany hasła i wysyłało go na email w razie zapomnienia.
Plik głowny:
  1. $klucz=createkey(13);
  2. tempass($nazwa_uz, $klucz);

A teraz funkcje:
  1. function createkey($dlugosc) {
  2. $klucz='';
  3. for($i=0; $i<$dlugosc; $i++) {
  4. switch(rand(1,3)) {
  5. case 1: $haslo.=chr(rand(48,57));break;
  6. case 2: $haslo.=chr(rand(65,90));break;
  7. case 3: $haslo.=chr(rand(97,122));break;
  8. }
  9. }
  10. return $klucz;
  11. }

Problem skupia się w tym, iz wygenerowany klucz nie istnieje(?)
Funkcja tempass:
  1. function tempass($nazwa_uz, $klucz)
  2.  
  3. {
  4. if (!$klucz)
  5. throw new Exception('nie ma klucza!'); // i tam dalsza część kodu

Po wywołaniu wyskakuje mi wyjatek, lecz nie wiem co powoduje pustotę(?) klucza. Ktos naprowadzi?
wookieb
Chryste panie... Choroba wściekłej ślepoty?
A zmieniasz wartość $klucz? Nie... Ludzie patrzcie co piszecie.
zaaap
Yhh godziny przed monitorem robią swoje, ale okej, zeby nie było poprawilem na $klucz i dalej nic.
  1. function tempass($nazwa_uz, $klucz)
  2. {
  3. if (!$klucz)
  4. throw new Exception('Nie ma klucza!.');
  5. $lacz = lacz_bd();
  6. $wynik = $lacz->query("INSERT INTO `tempass` (`nick`, `klucz`) VALUES ('$nazwa_uz', '$klucz')");
  7. if (!$wynik)
  8. throw new Exception('Wpis w tabeli nieudany.');
  9. else
  10. return true;
  11. }

Otrzymuje komunikat o poprawnym zapisaniu w tabeli pomimo, że pole klucz pozostaje puste, nie wyrzuca wyjatkow.
kamillo1888
  1.  
  2. function createkey($dlugosc) {
  3.  
  4. for($i=0; $i<$dlugosc; $i++) {
  5.  
  6. switch(rand(1,3)) {
  7. case 1: $haslo.=chr(rand(48,57));break;
  8. case 2: $haslo.=chr(rand(65,90));break;
  9. case 3: $haslo.=chr(rand(97,122));break;
  10. }
  11.  
  12. }
  13. return $haslo;
  14. }


Zmienna $klucz była pusta bo nigdzie nie przypisałeś jej wartości.
zaaap
Tak, poprawilem to po poscie 'wookieb'. Pisalem o tym wyzej, problem jak wyżej. Mimo, ze klucz nie wydaje sie byc pusty do tabeli nic nie jest wpisywane.
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.