Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Losowanie liczb
adrianozo
post
Post #1





Grupa: Zarejestrowani
Postów: 733
Pomógł: 4
Dołączył: 11.11.2009

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


Witam.
Chciałbym trochę zabezpieczyć skrypt wysyłający mail'a ze strony i wymyśliłem skrypt, ale nie wiem jak się za niego zabrać. Chciałbym wylosować trzy cyfry(zakres od 0 do 9) czyli np 029 i prosiłbym o wpisanie pierwszej i ostatniej czyli wyglądało by to tak: 09. Jeśli taką liczbę wpisałbym użytkownik email zostałby wysłany, a jak nie zgadzałyby się to pokazałby się komunikat:

Komunikat napisałem:

  1. elseif($_POST['liczba']!=$liczby)
  2. {
  3. echo '<div align="center"><font color="red"><b>Podany kod jest nieprawidłowy!</b></font></div><br />';
  4. }


W formularzu zrobiłem tak:

  1. echo 'Przepisz pierwszą i ostatnią liczbe:<br />';
  2. echo rand() . "\n";
  3. echo '<br /><input type="text" name="liczba" /><br /><br />


Ale rand losuje długie liczby, a poza tym nie wiem jak sprawdzić czy to co wpisze użytkownik to jest pierwsza i ostatnia wylosowana liczba.
Mam nadzieje, że dobrze wyjaśniłem.
Proszę o pomoc (IMG:style_emoticons/default/smile.gif)
Z góry dziękuje (IMG:style_emoticons/default/smile.gif)

A i jeszcze, żeby liczby się nie powtarzały
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
zordon
post
Post #2





Grupa: Zarejestrowani
Postów: 358
Pomógł: 78
Dołączył: 4.11.2008
Skąd: Kraków

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


dokładnie to o czym pisałem -> generujesz liczby na stronie -> wpisujesz je w formularz -> wysylasz -> strona sie przeladowuje -> znów generujesz -> porównujesz "nowe" wygenerowane liczby ze "starymi" przesłanymi przez formularz

Aby zrobić to, o co Ci chodzi, musisz liczby wygenerowane zapisać do sesji i jak wykryjesz posta z nimi porównać, lub po wygenerowaniu zapisać do inputa o typie "hidden" i po odebraniu posta porównać te wartości (nie generować nowych)

PS. Nie zauważyłem w pierwszym poscie ze liczby maja sie nie powtarzać więc napisałem cos takiego:

  1. $cyfry = array();
  2. for($i = 0 ; $i < 3 ; $i++){
  3.  
  4. do{
  5. $wylosowana = rand(0 , 9);
  6. }while(array_search($wylosowana, $cyfry) !== false);
  7.  
  8. $cyfry[] = $wylosowana;
  9.  
  10. }


inne nazwy ale z tym sobie mam nadzieje już dasz radę.

Pozdrawiam i powodzenia

Ten post edytował zordon 11.06.2010, 14:50:59
Go to the top of the page
+Quote Post

Posty w temacie


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: 13.10.2025 - 06:36