![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 21.04.2018 Ostrzeżenie: (0%) ![]() ![]() |
To moje pierwsze kroki z PHP, więc z góry przepraszam za pewnie banalne i oczywiste pytanie.
Mam plik form.php ze stroną HTML wyświetlającą formularz przyjmujący i wysyłający jedną danę i plik script.php, do którego trafiają dane. Wszystko grało do momentu kiedy chciałem wysłać i przerobić więcej niż jedną danę, ściśle mówiąc kilka pod rząd ( nie jeden formularz z kilkoma polami, ale kilkukrotne wykorzystanie tego samego). Wygląda na to, że dane otrzymane przez script.php się resetują za każdym razem. Zmieniłem tę konstrukcję i przeniosłem właściwie wszystko, co było w script.php do form.php, ale efekt jest taki sam - po naciśnięciu submit wszystko się czyści i nie ma dostępu do poprzednich danych. Poczytałem trochę o SESSION, jeszcze tego nie sprawdziłem, czy SESSION to jedyne rozwiązanie, czy przeoczyłem coś oczywistego? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Opisz problem dokladniej bo przynajmniej dla mnie nie dokonca wynika co chcesz osiagnac.
Nie mozesz wyslac tych danych w jednym formularzu poprostu? -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 21.04.2018 Ostrzeżenie: (0%) ![]() ![]() |
Widzisz, to jest tylko nauka, może bym i mógł, ale zdecydowanie nie chcę.
Załóżmy, że form.php pobiera i wysyła hasło. Script.php ma zrealizować taką logikę: Przy podaniu prawidłowego hasła użytkownika pierwszy raz ma się wyświetlić komunikat" Hasło OK”, w przypadku błędnego hasła ma poprosić jeszcze raz o nie i komunikat ze strony ma być „Pierwszy błąd”, przy kolejnym błędnym haśle poprosi jeszcze raz o nie i komunikat ze strony ma być „Drugi błąd”. Przy czwartej błędnej próbie ma wyświetlić się okno dialogowe „zablokowane”. To jest przykład. Chodzi o to, że script.php jest za każdym razem uruchamiany na nowo i nie przechowa informacji o błędnych próbach. Z opisu session wynikałoby, że to sobie poradzi. Pytanie, czy nie ma prostszej metody - prawdopodobnie coś przeoczyłem oczywistego -ale w PHP jestem bardzo świeży. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Generalnie sesja by pomogla. Ale jesli to ma byc prawdziwie zabezpieczenie na hakerow to jest do bani, bo haker ma gdzies sesje
![]() Mozesz w bazie trzymac info ze dla danego loginy bylo juz x prob zlego zalogowania i blokowac login. Ale wten sposob ktos moze komus robic "psikusy". -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 21.04.2018 Ostrzeżenie: (0%) ![]() ![]() |
Hakerami to się jeszcze nie przejmuję, właściwie to zacząłem się bawić php w piątek.
To jest zdecydowanie do nauki, a nie komercyjnego czy jakiegokolwiek wykorzystania. Właściwie to nie jest pierwsza sytuacja kiedy kombinuję co poradzić na odświeżające się skrypty. Pisząc w bazie masz na myśli podpięcie SQL czy czegoś takiego? Ten post edytował Kiszuriwalilibori 29.04.2020, 10:55:56 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Tak, baza danych. Najpopularniejsza na poczatek to MySQL
No ale zalozylem ze juz korzystasz z bazy, skoro mowiles cos o wpisywaniu hasel. No ale jesli nie masz bazy jeszcze to znaczy ze masz tylko jedno haslo na cala aplikacje dla wszystkich? -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 21.04.2018 Ostrzeżenie: (0%) ![]() ![]() |
Masz rację - niejasno napisałem. To jest przykład, chodzi tylko o obieg danych - i resetowanie skryptu. Szukałem rozwiązania dla przechowania takich danych ( a poza tym dopiero zaczynam i nie było dla mnie oczywiste, że dane ze skryptu giną... acz z drugiej strony są w nim deklarowane, to jak mają nie ginąć...). Właściwie o SQL pomyślałem na początku, ale z SQL jeszcze na dobre nie wystartowałem.
Tak, w poważnej aplikacji próby logowania na pewno szłyby do bazy. |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
php pamieta tylko dane w trakcie jednego żądania. Jak slesz kolejne żądania/formy to poprzednie dane natuaralnie znikaja. Jak chcesz zarzadzac danymi miedzy żądaniami do tego używa się wlasnie sesji
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 21.04.2018 Ostrzeżenie: (0%) ![]() ![]() |
OK, dzięki, tego właśnie napisanego w jasny sposób brakowało mi w kilku źródłach, które czytałem.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 18:15 |