![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 0 Dołączył: 18.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam mam pewien problem. To treść zadania z książki którą czytam:
"Napisz program, który zapyta użytkownika nazwę użytkownika oraz hasło. (...)Nazwa użytkownika oraz nowe hasło powinny być przechowywane w pliku o nazwie db.password. Następnie Utwórz program PGP pytający o nazwę użytkownika oraz hasło i wpuszczający użytkownika tylko wtedy, gdy poda on prawidłowe dane. Jeśli dane uwierzytelniające będą prawidłowe należy wyświetlić zawartość pliku datebook." Plik index.php:
Plik index2.php
Zawartość pliku db.password Kod uzytkownik1 haslo1 uzytkownik2 haslo2 Zawartość pliku datebook: Kod Imie Nazwisko dd\mm\rrrr Adres Imie2 Nazwisko2 dd\mm\rrrr Adres2 Wie ktoś na czym polega błąd? Pozdrawiam ![]() |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 580 Pomógł: 85 Dołączył: 25.03.2010 Skąd: Skrzyszów :) Ostrzeżenie: (0%) ![]() ![]() |
Ok, napiszesz coś o błędzie czy mamy się sami domyślać?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 0 Dołączył: 18.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
z rejestracją jest wszystko ok. Nazwa Użytkownika i hasło się dodają. Problem jest przy logowaniu. Jeśli wpisze się złe dane to wyświetla się komunikat że użytkownik nie istnieje ale kiedy się dobrze poda dane do nie dzieje się nic
![]() Gdy w pliku index2.php w lini 10 zamiast wpisze się I przy logowaniu poda dobrą nazwę użytkownika to wszystko jest ok Ten post edytował badowl 27.07.2011, 21:56:53 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 580 Pomógł: 85 Dołączył: 25.03.2010 Skąd: Skrzyszów :) Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 0 Dołączył: 18.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
Kod Array
( [0] => uzytkownik1 [1] => haslo1 ) Array ( [0] => uzytkownik2 [1] => haslo2 ) Array ( [0] => uzytkownik3 [1] => haslo3 ) |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 580 Pomógł: 85 Dołączył: 25.03.2010 Skąd: Skrzyszów :) Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 0 Dołączył: 18.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
Nadal nic ;/
Kod Użytkownik uzytkownik1 nie istnieje w bazie! Zarejstruj się! Nikt nie zna rozwiązania? Ten post edytował badowl 27.07.2011, 22:20:16 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 580 Pomógł: 85 Dołączył: 25.03.2010 Skąd: Skrzyszów :) Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 0 Dołączył: 18.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
Kod Array
( [login] => uzytkownik1 [pass] => haslo1 [submit] => loguj ) Ten post edytował badowl 28.07.2011, 07:59:06 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 580 Pomógł: 85 Dołączył: 25.03.2010 Skąd: Skrzyszów :) Ostrzeżenie: (0%) ![]() ![]() |
Spróbuj tak i powiedz czy się coś wyświetli
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 0 Dołączył: 18.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
Kod Użytkownik uzytkownik1 nie istnieje w bazie! Zarejstruj się!
Ten post edytował badowl 28.07.2011, 08:18:16 |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
W pliku index2.php zamień albo linijkę 6 na:
albo linijkę 10 na: Mam nadzieję, że zdajesz sobie sprawę, że funkcja strcasecmp jest cese-insensitive, co oznacza, że TomeK = toMEk, przy porównywaniu tą funkcją. Po pomyślnym zalogowaniu należałoby przerwać pętlę foreach (słówko break) i dopiero wtedy wykonywać pozostałe operacje. Poza tym przy rejestracji nie sprawdzasz, czy użytkownik o podanym loginie i haśle już istnieje, czy nie istnieje i można go utworzyć (zatem możesz mieć użytkowników TomeK, ToMeK, tOMEk, itp. z różnymi hasłami, co będzie powodować problemy). |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 0 Dołączył: 18.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
Pierwszy sposób nic nie daje ;/ a drugi próbowałem. Zaproponował go już użytkownik Zend.
Tak, wiem ze ta funkcja nie rozróżnia wielkości liter wcześniej użyłem strcmp() ale myślałem że to może być powód błędu i dlatego ją zmieniłem. To ze sprawdzaniem czy użytkownik już nie istnieje zamierzałem dodać później. Teraz męczy mnie inny problem ;/ Kompletnie nie mam pojęcia o co może chodzić ;/ Nikt mi nie potrafi pomóc ? ![]() |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
U mnie ten sam skrypt po zastosowaniu funkcji trim() działa bez zarzutu.
Opcjonalnie przed warunkiem: sprawdź zawartość wszystkich zmiennych potrzebnych do logowania, czyli: Zamiast funkcji spróbuj użyć operatorów porównania (na razie tylko kontrolnie): |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 0 Dołączył: 18.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
Ok działa
![]() ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 1.07.2025 - 23:29 |