Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Aktualizowanie strony w php bez użycia bazy danych
Whitefire
post 9.09.2011, 14:02:55
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 17.04.2006

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


hej wszystkim!

Początkuję w php i nie dotarłem jeszcze do lekcji o bazach danych więc próbuję sklecić to, co chcę, bez bazy smile.gif

Ale nie wiem, czy się da.

Co chcę uzyskać:

Otóż mam sobie na stronce [button] i kiedy go nacisnę, chcę żeby wyświetliła się liczba. Docelowo losowa, ale powiedzmy teraz: 1.
Dalej, chcę żeby, kiedy nacisnę [button] po raz drugi, obok pojawiła się druga liczba. Powiedzmy: 2.
Naciskam [button] po raz trzeci i drukuje mi liczbę: 3.

Wszystko fajnie, tylko ja chcę, żeby mi zapamiętywało te poprzednie i wyświetlało: 1, 2, 3 (w sensie: 1 zmienna, 2 zmienna, 3 zmienna).

Wybiedziłem taki kod, ale niestety pokazuje najpierw 1, potem 2, potem 3 (na zmianę).

Pytanie moje brzmi: da się to zrobić bez bazy danych, najlepiej w jednym pliku i z użyciem jednego przycisku? Ma ktoś jakie sugestie, jak, niezależnie od odpowiedzi na pierwsze pytanie?

  1. <?PHP
  2. $submit_name = "roll_1";
  3. $result_1 = 0
  4.  
  5. if (isset($_POST['roll_1'])) {
  6. $submit_name = "roll_2";
  7. $result_1 = 1;
  8. print ($result_1);
  9. }
  10.  
  11. if (isset($_POST['roll_2'])) {
  12. $submit_name = "roll_3";
  13. $result_2 = 2;
  14. print ($result_1 . ", " . $result_2);
  15. }
  16.  
  17. if (isset($_POST['roll_3'])) {
  18. $result_3 = 3;
  19. print ($result_1 . ", " . $result_2 . ", " . $result_3);
  20. }
  21. else{
  22. print ("");
  23. }
  24. ?>
  25.  
  26. <html><head></head><body>
  27. <form name="form1" method="post" action="test.php">
  28. <input type='submit' name='<?php print ($submit_name); ?>' value='kliknij mnie'/>
  29. </form>
  30. </body></html>
Powód edycji: [nospor]:
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
nospor
post 9.09.2011, 14:04:38
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Temat: Jak poprawnie zatytulowac watek

edit: otwieram
Powód edycji: [nospor]:


--------------------

"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
gargamel
post 9.09.2011, 15:48:47
Post #3





Grupa: Zarejestrowani
Postów: 278
Pomógł: 35
Dołączył: 25.06.2010

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


Zamiast post-em, wysyłaj get-em i przepisuj linki.

  1. <form name="form1" method="get" action="test.php?<?php echo $_SERVER['QUERY_STRING']; ?>">


$_SERVER['QUERY_STRING'] zwróci Ci to co masz obecnie w tablicy GET. Kolejne wysłanie formularza GETem dopisze następne wartości.

PS

No i oczywiście później nie odwołujesz się do zmiennych przez $_POST, tylko przez $_GET.

Ten post edytował gargamel 9.09.2011, 15:51:08
Go to the top of the page
+Quote Post
Whitefire
post 9.09.2011, 16:29:50
Post #4





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 17.04.2006

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


Nie chce mi to działać, tzn jest tak jak wcześniej, za wyjątkiem linku ofc, gdzie po klikaniu na przycisk nie "przepisuje mi się" link, tylko się zmienia, tzn przy klikaniu końcówka wygląda tak:

test.php
test.php?roll_1=kliknijmnie
test.php?roll_2=kliknijmnie
test.php?roll_3=kliknijmnie

w międzyczasie próbowałem trochę innego podejścia, takiego żeby najpierw określić wszystkie zmienne (rzuty kostką, bo to w sumie o to chodzi), a potem przy klikaniu je na różny sposób wyświetlać (pierwszy rzut, pierwsze 2 rzuty, pierwsze 3 rzuty), dając użytkownikowi 'złudzenie' że jego klikanie coś daje. I byłoby nawet fajnie, gdyby nie to właśnie, że to są rzuty kostką, więc wartość jest nieregularna i po każdym kliknięciu zmieniały się też poprzednie liczby.

PS. Pełznę w stronę baz danych ale na razie jestem na pętlach i arrayach oneeyedsmiley02.png

Ten post edytował Whitefire 9.09.2011, 16:31:25
Go to the top of the page
+Quote Post
CuteOne
post 9.09.2011, 18:54:09
Post #5





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


A co za różnica czy POST czy GET....

  1. <?php
  2.  
  3. $content = '';
  4.  
  5. if(!empty($_POST['literka'])) {
  6.  
  7. $content = file_get_contents('plik_baza.txt');
  8. file_put_contents('plik_baza.txt', $content . $_POST['literka']);
  9. }
  10. ?>
  11. <form action="" method="post">
  12. Tekst: <?php echo $content . $_POST['literka']; ?> <br />
  13. <input type="text" name="literka" value="" />
  14. <input type="submit" name="submit" value="Ślij mnie" />
  15. </form>


Ten post edytował CuteOne 9.09.2011, 18:55:08
Go to the top of the page
+Quote Post
Mackos
post 9.09.2011, 22:51:33
Post #6





Grupa: Zarejestrowani
Postów: 362
Pomógł: 44
Dołączył: 10.06.2009

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


Po co tak utrudniać? Nie wystarczy wczytywać tych liczb do sesji ?
Zależy też na jak długo mają być zapamiętywane...


--------------------
WebLemon.pl - projektowanie stron www, reklama i PR w internecie - Adwords, Facebook.
Go to the top of the page
+Quote Post
CuteOne
post 10.09.2011, 10:27:49
Post #7





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


Utrudniać? masz 2 linijki kodu odpowiedzialne za pobranie i zapis danych z/do pliku... gdzie ty tu widzisz utrudnienia?

ps. "Pytanie moje brzmi: da się to zrobić bez bazy danych, najlepiej w jednym pliku"

Ten post edytował CuteOne 10.09.2011, 10:28:09
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: 24.07.2025 - 23:33