![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 250 Pomógł: 1 Dołączył: 6.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
Cześć,
mam taki problem z funkcją strlen w php. Otóż. Próbuję wykonać własny system rejestracji kicha(jak na razie) Do rzeczy. Nie wiem czy dobrze skonstruowałem instrukcję if...elseif...else, bo nawet jeśli gracz wpisze nick mniejszy niż 6 znaków lub poprawnie to i tak rejestruje go wysyłając komunikat o błędzie("Nick nie może być, krótszy niż 6 znaków!")
Wie ktoś co jest nie tak? Proszę o jakieś rady. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 651 Pomógł: 116 Dołączył: 3.06.2012 Skąd: Lędziny Ostrzeżenie: (0%) ![]() ![]() |
ehh.
Spójrz na to co podałeś... Najpierw wrzucasz zapytanie do bazy, a później zaczynasz dopiero sprawdzać czy nick/hasło itd. nie są za krótkie. Logiczne to jest według Ciebie? Według mnie najpierw należałoby sprwadzac dlugość, potem dodawać wpis do bazy. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 250 Pomógł: 1 Dołączył: 6.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
Ale teraz cały czas pojawia się komunikat: Nick nie może być, krótszy niż 6 znaków! nawet jeśli wszystko poprawnie wpiszę. I dodatkowo powinien pojawić się drugi komunikat Hasło nie może być, krótsze niż 6 znaków! a nic się nie pojawia. Co może być problemem?
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 651 Pomógł: 116 Dołączył: 3.06.2012 Skąd: Lędziny Ostrzeżenie: (0%) ![]() ![]() |
Ten post edytował Michael2318 16.03.2013, 15:59:31 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 250 Pomógł: 1 Dołączył: 6.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
Dalej to samo się dzieje. Może da się jakoś inaczej?
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Zdecyduj się do czego się odwołujesz. Do zmiennych czy do POST ?
edycja: Poza tym instrukcja if jest bez sensu u Ciebie, dlaczego ona jest niby połączona i zależna od zmiennej nick? Jedno nie powinno wykluczać drugiego. http://pl.wikibooks.org/wiki/PHP/Instrukcja_if I zainteresuj się też isset, empty to za mało. Ten post edytował !*! 16.03.2013, 16:26:31 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 250 Pomógł: 1 Dołączył: 6.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
Ok.
Tylko teraz mam taki kod:
I nie wiem dlaczego dostaję taki błąd:
Jest to odniesienie do linijki 43 czyli: Jak to naprawić? Ten post edytował Kerth 16.03.2013, 22:39:20 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 651 Pomógł: 116 Dołączył: 3.06.2012 Skąd: Lędziny Ostrzeżenie: (0%) ![]() ![]() |
Linia 40, funkcja mail(). Nawet kolor skladni Ci to podpowiada...
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 250 Pomógł: 1 Dołączył: 6.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
Ale chyba nie ma to znaczenia, bo funkcja jest (chyba) dobra, ale nic. Po wyrzuceniu jej błąd pojawia się w linijce 46 czyli pierwszym "else"
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 651 Pomógł: 116 Dołączył: 3.06.2012 Skąd: Lędziny Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 250 Pomógł: 1 Dołączył: 6.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
No wiem brakuje " ale nie o to chodzi. Tą funkcję wyrzuciłem i mam błąd jak w poście wyżej. Odnosi się do pierwszego else:
Ten post edytował Kerth 16.03.2013, 23:01:00 |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 587 Pomógł: 190 Dołączył: 5.02.2011 Skąd: 64-800 Ostrzeżenie: (0%) ![]() ![]() |
} po 45 i po 49 brakuje
Ten post edytował _Borys_ 16.03.2013, 23:41:38 |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 250 Pomógł: 1 Dołączył: 6.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
Ok. Pokombinowałem trochę i wyskrobałem coś takiego:
W tym skrypcie jest pewien błąd, którego nie potrafię naprawić. Objawia się to w ten sposób, że po wpisaniu poprawnych(przykładowych danych): LOGIN: dawid4157 HASŁO: dawid1996 POWTÓRZONE: dawid1996 E-MAIL: abcd@vp.pl I pojawia się komunikat: "Hasła nie są takie same!" Czasem też pojawia się komunikat o "Hasło nie może być krótsze niż 6 znaków!" lub inne. Nie wiem czemu to tak dziwnie jest. Może mi ktoś jakoś rzetelnie wytłumaczyć co ja źle zrobiłem? Czasem jest tak a czasem tak. |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 651 Pomógł: 116 Dołączył: 3.06.2012 Skąd: Lędziny Ostrzeżenie: (0%) ![]() ![]() |
Po co tyle tego tam? Jedna funkcja wystarczy... Po drugie: - do filtracji emaila używamy takiego warunku:
- do nicku nie używaj żadnych funkcji typu addslashes itd. tylko zwykłe wyrazenia regularne, czyli preg_match i sprawdzasz sobie czy np. nick sklada się tylko z liter i cyfr, jeśli tak to nick jest ok. - hasła koduj jakimiś funkcjami i w ogole ich wtedy nie filtrujesz bo nie ma takiej potrzeby, dobrze jest jeśli w haśle sa jakieś fikuśne znaki, typu apostrofy i inne znaki specjalne. Hash i tak zamieni to na jakiś ciąg znaków złożonych tylko z liter i cyfr. |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
1. po co łączysz się z bazą gdy nie przechodzisz walidacji?
2. taki kod Jest zły. Nie używaj @ i mysql_real_escape_string powinno być po walidacji 3. zastanów się co robisz. Teraz, gdy hasło jest inne niż hasło dodajesz do bazy dane. 4. formatuj kod poprawnie, za chwilę będziesz pisał ciurkiem. Cytat(Michael2318) - do filtracji emaila używamy takiego warunku: To ciut za mało (IMG:style_emoticons/default/wink.gif) ale też nie zaszkodzi. Ten post edytował !*! 17.03.2013, 13:57:54 |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 250 Pomógł: 1 Dołączył: 6.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
A czy jak zaszyfruję hasła to jest możliwość zrobienia "Przypomnienia hasła"? Bo nie chcę, żeby zwracało hasło typu: vgvvCXVBxcwer233FSDvxcxcvxRfsd.
Z e-mailem jet na razie dobrze, tylko nie wiem czemu gdy wpisuję wszystkie dane poprawnie pojawia się komunikat o tym, że hasła nie pasują. |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Przypomnienie hasła, to wygenerowanie nowego.
Cytat tylko nie wiem czemu gdy wpisuję wszystkie dane poprawnie pojawia się komunikat o tym, że hasła nie pasują. Czytaj ze zrozumieniem. Ten post edytował !*! 17.03.2013, 14:00:48 |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 250 Pomógł: 1 Dołączył: 6.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
1. po co łączysz się z bazą gdy nie przechodzisz walidacji? 2. taki kod Jest zły. Nie używaj @ i mysql_real_escape_string powinno być po walidacji 3. zastanów się co robisz. Teraz, gdy hasło jest inne niż hasło dodajesz do bazy dane. 4. formatuj kod poprawnie, za chwilę będziesz pisał ciurkiem. To ciut za mało ;) ale też nie zaszkodzi. 1. A kiedy mam się łączyć? Wydawało mi się, że najlepiej podłączyć include z osobnym plikiem(i tak zrobiłem) 2. Czemu zły? Jeśli usunę @ to pojawią się błędy:
3. Warunek jest taki tylko, że dodałem to w else.
To nie wiem co jest nie tak. PS. Szczerze mówiąc nie bardzo rozumiem o czym mówisz. Uczę się dopiero PHP więc, wiesz... Ten post edytował Kerth 17.03.2013, 14:11:46 |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Cytat 1. A kiedy mam się łączyć? Wydawało mi się, że najlepiej podłączyć include z osobnym plikiem(i tak zrobiłem) Łącz się z bazą wtedy kiedy tego potrzebujesz. Cytat 2. Czemu zły? Jeśli usunę @ to pojawią się błędy: Błędy się naprawia a nie wycisza. Cytat 3. Warunek jest taki tylko, że dodałem to w else. PS. Szczerze mówiąc nie bardzo rozumiem o czym mówisz. Uczę się dopiero PHP więc, wiesz... Zacznij od kursu w takim razie http://phpkurs.pl/ tam przejdź do działu "Operatory porównania". I przeczytaj jeszcze raz punkt 3 jaki podałem. Ten post edytował !*! 17.03.2013, 14:19:20 |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 250 Pomógł: 1 Dołączył: 6.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
A co jest źle w tej linijce?
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 20:32 |