Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zabezpieczenie przed odświerzeniem...
SHiP
post 30.08.2005, 21:47:49
Post #1





Grupa: Zarejestrowani
Postów: 697
Pomógł: 47
Dołączył: 19.12.2003
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Napisałem prosty skrpyt wsyłający dane getem. Jednak gdy odświerze strone skrypt wykonuje sie jeszcze raz :]. Szukam jakiegoś sposobu aby temu zapobiec ale jakoś jeszcze nic nie wykombinowałem. Od razy mówię ze wysyłam dane do tego samego pliku tzn do siebie samego dlatego sprawdzenie refera nic nie daje ;/


--------------------
Warsztat: Kubuntu, PhpStorm, Opera
Go to the top of the page
+Quote Post
czachor
post 30.08.2005, 21:50:05
Post #2





Grupa: Zarejestrowani
Postów: 897
Pomógł: 40
Dołączył: 16.12.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Najprościej: ustaw sobie jakąś zmienną również wysyłaną getem, potem sprawdzaj, jeżeli już jest (isset), to nie wykonuj skryptu.
Albo wykorzystaj sesje, ciastka...


--------------------
how many SEO experts does it take to change a light bulb,lightbulb,light,bulb,lamp,lighting,switch,sex,xxx
5-Reasons-why-you-should-NEVER-fix-a-computer-for-free
Go to the top of the page
+Quote Post
TomASS
post 30.08.2005, 21:59:14
Post #3





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


Dokładnie, zrób sobie np.:

  1. <?php
  2.  
  3. $zmiennaS = $_SESSION['zmiennaS'];
  4.  
  5. if(!$zmiennaS){
  6.  $zmiennaS = 1;
  7.  session_register("zmiennaS");
  8.  
  9.  //wykonaj skrypt
  10.  
  11. }
  12. else{
  13.  //nie wykonuj skryptu
  14. }
  15.  
  16. ?>


Tylko to narazie przychodzi mi na chypcika do główki-makówki smile.gif


--------------------
Go to the top of the page
+Quote Post
czachor
post 30.08.2005, 22:07:41
Post #4





Grupa: Zarejestrowani
Postów: 897
Pomógł: 40
Dołączył: 16.12.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


ciut poprawek do mojego Przedmówcy smile.gif
  1. <?php
  2.  
  3. if (!$_SESSION['zmiennaS'])
  4. {
  5. $_SESSION['zmiennaS'] = 1;
  6. //wykonaj skrypt
  7. }
  8. else
  9. {
  10. //nie wykonuj skryptu
  11. }
  12. ?>


--------------------
how many SEO experts does it take to change a light bulb,lightbulb,light,bulb,lamp,lighting,switch,sex,xxx
5-Reasons-why-you-should-NEVER-fix-a-computer-for-free
Go to the top of the page
+Quote Post
TomASS
post 30.08.2005, 22:42:52
Post #5





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


Dokładnie smile.gif


--------------------
Go to the top of the page
+Quote Post
SHiP
post 30.08.2005, 23:01:57
Post #6





Grupa: Zarejestrowani
Postów: 697
Pomógł: 47
Dołączył: 19.12.2003
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Juz rozwiązałem problem wysyłając jeszcze jedną zmienną która przy przetwarzaniu zmieniała wartość w bazie. A po odświerzeniu sprawdzałem czy ta z get i z bazy są identyczne.. jeśli nie to nie wykonywałem skryptu...
Co do sesji.. ale jeśli klikne jeszcze raz w link żeby wykonać jeszcze raz to chyba to nie zadziała ;P bo sesja nadal będzie aktywna....


--------------------
Warsztat: Kubuntu, PhpStorm, Opera
Go to the top of the page
+Quote Post
TomASS
post 30.08.2005, 23:31:48
Post #7





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


No lepiej nie ustawiaj żadnej zmiennej w bazie danych - jeśli jest to tabela jakichś produktów, czy czegokolwiek, to po co dokładać jeszcze jedno pole nikomu nie wiadomo po co? Zawsze musisz robić update do bazy, a to troszkę trwa, wyciąganie tego też. Zrób to tak jak Ci napisaliśmy - w sesjach. Za drugim razem skrypt się nie wykona ponieważ zmienna $_SESSION['zmiennaS'], będzie miała już ustawioną wartość 1

  1. <?php
  2.  
  3. if (!$_SESSION['zmiennaS'])
  4. {
  5. //to sie nie wykona ponieważ zmienna $_SESSION['zmiennaS']) bedzie rowna 1
  6. }
  7. else
  8. {
  9. //to sie wykona - czyli nic
  10. }
  11.  
  12. ?>


Może nie zuważyłeś wykrzyknika przed $_SESSION....


--------------------
Go to the top of the page
+Quote Post
Seth
post 30.08.2005, 23:39:51
Post #8





Grupa: Przyjaciele php.pl
Postów: 2 335
Pomógł: 6
Dołączył: 7.03.2002

Ostrzeżenie: (0%)
-----


Bylo na forum.
http://forum.php.pl/index.php?showtopic=28150
Go to the top of the page
+Quote Post
SHiP
post 31.08.2005, 08:29:09
Post #9





Grupa: Zarejestrowani
Postów: 697
Pomógł: 47
Dołączył: 19.12.2003
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Heh dodatkowego pola nie tworze... moze wytłumacze mój przykład... Mam mape i strzałki w 4 kierunkach. Jeśli klikne w jakaś zmienia się moja pozycja i odejmuje 1 energi. Jeśli ustawie zmienną sysyjną to nie będe mógł jeszcze raz kliknąć w strzałke ;] bo mi tego nie uzna.

PS: Czy moze sie myle i sesje chodzą tylko za pierwsym razem? o.O


--------------------
Warsztat: Kubuntu, PhpStorm, Opera
Go to the top of the page
+Quote Post
TomASS
post 31.08.2005, 08:32:49
Post #10





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


Oj widzę, że się tych sesji lękasz. Poprostu ustawisz zmienną, która będzie pamiętana aż do zamknięcia przeglądarki. (w zasadzie to do usunięcia ID sesji)


--------------------
Go to the top of the page
+Quote Post
SHiP
post 31.08.2005, 09:20:04
Post #11





Grupa: Zarejestrowani
Postów: 697
Pomógł: 47
Dołączył: 19.12.2003
Skąd: Lublin

Ostrzeżenie: (0%)
-----


No ale nie o to mi chodzi!! Ja chce zabezpieczyć strone przed odświerzeniem(F5 na klawiaturce) a nie przed ponownym wywołaniem skryptu tzn kliknięciem jeszcze raz w link...


--------------------
Warsztat: Kubuntu, PhpStorm, Opera
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 Wersja Lo-Fi Aktualny czas: 13.07.2025 - 01:15