Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Klopot z losowaniem
Zac
post
Post #1





Grupa: Zarejestrowani
Postów: 27
Pomógł: 2
Dołączył: 9.06.2008

Ostrzeżenie: (0%)
-----


Witam. Chciałem stworzć system captcha. Generowany jest obrazek z losowym napisem(6 znaków A-Z,0-9), skrypt ma wyswietlic komunikat zeby user wpisal np 1,3 i 5 znak z obrazka.

Stworzyłem zmienna $dane, w której są znaki A-Z, 0-9. Losuje z niej 6 elementów w taki oto sposób:
  1. <?php
  2. for ($i=0;$i<6;$i++)
  3. $losuj.=$dane[rand(0,35)];
  4. ?>


wszystko ładnie pięknie, losowanie śmiga ale teraz z tych 6-ciu znaków muszę znowu wylosować 3, które będzie musiam przepisać user
  1. <?php
  2. for ($i=0;$i<3;$i++)
  3. $znaki.=$losuj[rand(0,6)];
  4. ?>


Nie wiem dlaczego ale raz losuja się 3 znaki, raz 2, a raz 1. Nie wiem też jak powiedzieć userowi żeby wpisał znak np 3,5,6. Prosze o pomoc.
Pozdrawiam
Powód edycji: Poprawiłem bbcode oraz tytuł tematu. Na przyszłość pamiętaj że tytuł to nie same tagi, a kod php wstawia się w odpowiednie znaczniki. /webdicepl
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
JoShiMa
post
Post #2





Grupa: Zarejestrowani
Postów: 1 374
Pomógł: 149
Dołączył: 1.03.2006

Ostrzeżenie: (0%)
-----


A podejrzyj sobie jak naprawdę wygląda string $losuj kiedy wylosują ci się tylko 2 lub 1 znak. Wydaje mi się, że może się tak dziać kiedy $losuj ma mniej niż 6 znaków co oznacza, ze się źle skonstruowała, czyli jest błąd w tablicy $dane[]. Oczywiście tylko gdybam.


--------------------
Go to the top of the page
+Quote Post
Zac
post
Post #3





Grupa: Zarejestrowani
Postów: 27
Pomógł: 2
Dołączył: 9.06.2008

Ostrzeżenie: (0%)
-----


$losuj zawsze ma 6 znaków, z tych znaków wlasnie tworze obrazek,

EDIT: jezeli ktos wie jak wyswietlic użytkownikowi żeby wpisał np 1,3,5 znak proszę napisac, na tym bardziej zależy mi niz na poprawnym losowaniu.

Ten post edytował Zac 9.06.2008, 16:16:08
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 11:00