Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Funkcja rand()
TNT
post
Post #1





Grupa: Zarejestrowani
Postów: 41
Pomógł: 2
Dołączył: 14.04.2007

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


Witam,
Napisałem sobie taki o to prosty skrypcik:
script.php
  1. <?php
  2. if ($confirm == $code) {...}else{...}
  3. ?>

index.php
  1. <?php $code = rand(1, 500); ?>
  2. Enter code: <input type="text" name="confirm" size="10" maxlength="3"> <?php echo($code);?>
  3. </body>
  4. </html>

Jednak po wpisaniu - teoretycznie - poprawnego kodu w polu 'confirm' wyskakuje mi wartość else. Jak można to zrobić poprawnie?
Go to the top of the page
+Quote Post
klocu
post
Post #2





Grupa: Zarejestrowani
Postów: 291
Pomógł: 45
Dołączył: 21.08.2007

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


wywala elsa bo dostaje wartosc wpisana przez usera i nie ma z czym jej zweryfikowac. w formularzu pusc <input type='hidden' name='oryginal' value='<?= $code; ?>' /> i wtedy weryfikuj.
powiedz jak postepy...
Go to the top of the page
+Quote Post
TNT
post
Post #3





Grupa: Zarejestrowani
Postów: 41
Pomógł: 2
Dołączył: 14.04.2007

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


Ok dodałem to do index.php a w script.php dałem:
  1. <?php
  2. if ($oryginal == $confirm) {...}else{...}
  3. ?>

I dalej nie działa
Go to the top of the page
+Quote Post
klocu
post
Post #4





Grupa: Zarejestrowani
Postów: 291
Pomógł: 45
Dołączył: 21.08.2007

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


sprobuj sprawdzac zmienne poprzez $_POST i $_GET a najlepiej sprawdz co przesyla sie od usera w postaci
Kod
print_r( $_POST );
i wtedy zoabczysz gdzie i w czym tkwi problem...
Go to the top of the page
+Quote Post
Suh
post
Post #5





Grupa: Zarejestrowani
Postów: 112
Pomógł: 27
Dołączył: 24.08.2007
Skąd: Tarnów

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


Witam.. jezeli to w czymś pomoze to ja zrobilem to w taki sposob.
Jest to kawałek gotowego kodu który ja użyłem..
Polega to na tym ze img.php to grafika wyswietlajaca liczbe z przedzialu (10000,99999) i nastepnie to liczbe musi przepisac uzytkownik...

<?
$liczba = rand(10000, 99999);

print "<img src=\"img.php?val=".$liczba."\"><br><br>\n".
"<font>Przepisz powyższ± liczbę.</font><br>\n".
"<input type=\"text\" size=\"5\" name=\"wynik\"><br>\n".
"<input type=\"hidden\" name=\"liczba\" value=\"".$liczba."\"><br>\n";

?>



Potem jeszcze tylko warunek

<?
if( $_POST['wynik'] == $_POST['liczba'] )
...
else
...
?>

Mam nadzieje że to w czymś pomoże
Pzdr


--------------------
Pomogłem ? Odwdzięcz się, kliknij POMÓGŁ.
Go to the top of the page
+Quote Post
klocu
post
Post #6





Grupa: Zarejestrowani
Postów: 291
Pomógł: 45
Dołączył: 21.08.2007

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


po bardzo krótkim teście wyszło na to że Twoja konstrukcja jest jak najbardziej prawidłowa
Kod
<?
$liczba = rand(10000, 99999);

print "<form method=\"post\" action=\"t.php\">".
"<img src=\"img.php?val=".$liczba."\"> dla mnie zebym nie musiał generować obrazka: $liczba<br><br>\n".
"<font>Przepisz powyższ± liczbę.</font><br>\n".
"<input type=\"text\" size=\"5\" name=\"wynik\"><br>\n".
"<input type=\"hidden\" name=\"liczba\" value=\"".$liczba."\"><br>
<input type=\"submit\" name=\"sprawdz\" value=\"Sprawdź\" /></form>\n";

if( $_POST['wynik'] == $_POST['liczba'] and $_POST['wynik'] <> null and $_POST['liczba'] <> null and $_POST['sprawdz'] <> null ) {
    echo"ok";
} else {
    echo"bad";
}
?>

tylko pamietaj, jak widzisz weryfikuje dopiero jesli formularz jest wypelniony w 100% nigdy mniej.
i ciekawostka w tym przykladzie. jesli puscisz formularz w IE przez enter a nie submit to formularz nie dojdzie, w firefoxie jest jak najbardziej prawidłowo...

Ten post edytował klocu 27.08.2007, 06:53:15
Go to the top of the page
+Quote Post
TNT
post
Post #7





Grupa: Zarejestrowani
Postów: 41
Pomógł: 2
Dołączył: 14.04.2007

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


Dzięki Suh! Oparłem sie na twoim przykładzie i działa smile.gif
Go to the top of the page
+Quote Post
Suh
post
Post #8





Grupa: Zarejestrowani
Postów: 112
Pomógł: 27
Dołączył: 24.08.2007
Skąd: Tarnów

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


Ciesze się ze moglem pomóc jak również dziękuję za uwagę.. musze popróbować pod IE bo faktycznie używam ostatnio tylko i wyłącznie FF'a rolleyes.gif
Pzdr

Edit
Dodam jedynie, że w moim kodzie jest to wszystko faktycznie weryfikowane dopiero po całkowitym wypełnieniu formularza. Dlatego tez pominąłem warunki typu $zmienna <> null poniewaz uważam, że skoro 2 zmienne - w tym przypadku GETwynik i GETliczba - maja byc porównywane to one poprostu muszą istnieć - więc nie mogą być null'em.

Ten post edytował Suh 27.08.2007, 15:09:30


--------------------
Pomogłem ? Odwdzięcz się, kliknij POMÓGŁ.
Go to the top of the page
+Quote Post
bim2
post
Post #9





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

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


Przejrzałem sobie topic i mam pytanie. Czy ten obrazek ma zabezpieczać stronę przed botami? Bo jak tak to nic nie utrudniłes botom... sciana.gif


--------------------
Go to the top of the page
+Quote Post
Suh
post
Post #10





Grupa: Zarejestrowani
Postów: 112
Pomógł: 27
Dołączył: 24.08.2007
Skąd: Tarnów

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


nie... poprostu chcialem sobie cos takiego zrobic snitch.gif


--------------------
Pomogłem ? Odwdzięcz się, kliknij POMÓGŁ.
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: 19.08.2025 - 19:46