Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Zmienne 'giną'...czy SESSION to jedyny mechanizm?
Kiszuriwalilibor...
post
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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
nospor
post
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

Go to the top of the page
+Quote Post
Kiszuriwalilibor...
post
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.
Go to the top of the page
+Quote Post
nospor
post
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 smile.gif
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

Go to the top of the page
+Quote Post
Kiszuriwalilibor...
post
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
Go to the top of the page
+Quote Post
nospor
post
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

Go to the top of the page
+Quote Post
Kiszuriwalilibor...
post
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.
Go to the top of the page
+Quote Post
nospor
post
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

Go to the top of the page
+Quote Post
Kiszuriwalilibor...
post
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.
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 - 18:15