![]() |
![]() ![]() |
![]() |
![]()
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:
W formularzu zrobiłem tak:
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 ![]() Z góry dziękuje ![]() A i jeszcze, żeby liczby się nie powtarzały -------------------- |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
rand zobacz jakie przyjmuje parametry.
Dodatkowo poczytaj o czymś takim jak captcha. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 733 Pomógł: 4 Dołączył: 11.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
Ok zrobiłem:
Tylko to wyświetla jedną... czyli co mam zrobić trzy razy? A po drugie nie chce captcha -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 358 Pomógł: 78 Dołączył: 4.11.2008 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
potem wyświetlasz do użytkownikowi: A jak odbierzesz z posta i zapiszesz do zmiennej np $odebrane to sprawdzasz:
oczywiście musisz mieć STARE wartości zmiennych $cyfra... (żebyś przypadkiem nie wygenerował nowych i nie porównywał z postem), $odebrane to musi być string o długości 2 itd -> ale to mam nadzieję już sobie dopiszesz |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 215 Pomógł: 19 Dołączył: 24.12.2003 Skąd: Przemyśl Ostrzeżenie: (0%) ![]() ![]() |
Może tak:
Tylko tu oczywiscie masz w jednym miejscu tablicę z wylosowanymi liczbami i etap sprawdzania, a normalnie to będzie tak że gdzieś te wyniki randa będziesz musiał sobie zapisać i potem po zatwierdzeniu przez użytkownika sprawdzać. -------------------- My mind is glowing ...
Jeśli pomogłem push the button :) |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 733 Pomógł: 4 Dołączył: 11.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
Mam takie coś:
I gdy wpisze prawidłowe liczby to pokazuje mi, że są błędne nawet wyświetliłem $pomoc i jest to pierwsza i ostatnia, ale skrypt tego nie przyjmuje -------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 215 Pomógł: 19 Dołączył: 24.12.2003 Skąd: Przemyśl Ostrzeżenie: (0%) ![]() ![]() |
No bo jak użytkownik kliknie to masz ponowne losowanie liczb przecież, poza tym w tym losowaniu co zastoswałeś mogą Ci się liczby powtarzać, więc czemu nie wykorzystasz mojego rozwiązania gdzie masz to sprawdzane
-------------------- My mind is glowing ...
Jeśli pomogłem push the button :) |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 733 Pomógł: 4 Dołączył: 11.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
Kit z powtarzanie teraz. Chodzi mi o to co mam zrobić, żeby liczby były prawidłowe
![]() -------------------- |
|
|
![]()
Post
#9
|
|
![]() 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:
inne nazwy ale z tym sobie mam nadzieje już dasz radę. Pozdrawiam i powodzenia Ten post edytował zordon 11.06.2010, 14:50:59 |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 215 Pomógł: 19 Dołączył: 24.12.2003 Skąd: Przemyśl Ostrzeżenie: (0%) ![]() ![]() |
Pisane z palca to ale chyba już powinieneś zakumać idee
Ten post edytował jajcarzd1 11.06.2010, 14:57:34 -------------------- My mind is glowing ...
Jeśli pomogłem push the button :) |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
a to w rand nie można podać 0,999 ? tylko trzeba trzy razy losować?
![]() -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 1 Dołączył: 7.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
a to w rand nie można podać 0,999 ? tylko trzeba trzy razy losować? ![]() W funkcji rand pierwszy argument określa od jakiej liczby ma się zacząć losowanie, a drugi do jakiej liczby. Taki zapis nie gwarantuje wylosowania 3 liczb. Jeśli się uprzeć to taki zapis będzie poprawny: Ten post edytował Kokohelp 11.06.2010, 17:08:23 |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 664 Pomógł: 169 Dołączył: 8.01.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Tak naprawdę, to lepiej jakbyś to wyświetlał w formie rysunku, ponieważ normalny tekst programy potrafią sobie przeczytać, więc jeżeli ktoś się naprawdę uprze to i tak będzie w stanie coś takiego napisać. Jeżeli chodzi ci o to, żeby ktoś nie wysyłał spamu przez twoją stronę, to lepiej niech skrypt blokuje zbyt szybkie maile np. z danego ip można wysłać maila po x sekundach.
-------------------- |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 733 Pomógł: 4 Dołączył: 11.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
Oczywiście później dodam cookies i czasowe blokowanie wysyłania maila przez x sekund, ale na razie chcę to zrobić
![]() Ja zwykle mam problem z sesjami ;] -------------------- |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 664 Pomógł: 169 Dołączył: 8.01.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli już koniecznie chcesz mieć coś takiego to mogę zaproponować:
Ale to już takie kombinowanie:P Ten post edytował bastard13 11.06.2010, 19:57:48 -------------------- |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 392 Pomógł: 7 Dołączył: 11.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ja jeszcze proponuję sprawdzić ilość wpisanych cyfr.
Często jak użytkownik widzi captcha to po prostu ją przepisuje, często nie zwracając uwagi na tekst typu "Przepisz tekst z obrazka od tyłu", "Przepisz tekst z obrazka dużymi literami", itp Jak użytkownik wpisze dwie i poprawne cyfry to ok, ale jeśli trzy to nie wyświetlaj komunikatu typu "Podany kod jest nieprawidłowy!", tylko np. "Przepisz pierwszą i ostatnią cyfrę!". Ten post edytował Szunaj85 12.06.2010, 17:56:20 -------------------- Jeśli Ci pomogłem wciśnij
![]() ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.06.2025 - 03:45 |