Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Dodawanie zmiennych ?
piotr485
post
Post #1





Grupa: Zarejestrowani
Postów: 292
Pomógł: 0
Dołączył: 10.07.2009

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


Witam Serdecznie, piszę skrypt który generuje kod html.

Chciałbym tam sobie dodawac produkty, ale nie gdzies do bazy tylko na czas pisania wiec wszysko przechowuje sobie w GETcie.

Może napiszę przykład:

  1. $produkt_tytul = nazwa produktu
  2. $produkt_opis = jakis opis
  3. $produkt_cena = 200zl
  4.  
  5. //wyswietlam sobie moj produkt czyli
  6.  
  7. <div>
  8. Nazwa produktu to '.$produkt_tytul.'<br />
  9. Opis to '.$produkt_opis.', Cena '.$produkt_cena.'
  10. </div>
  11. ';


To jest moj tak jakby szablon dla produktu pierwszego i nigdy nie wiem ile bede chcial stworzyc produktow, dlatego chcialbym stworzyc przycisk "dodaj nowy produkt" jak w ktory klikne to pojawią mi się nowe inputy (puste pola) w ktore bede dodac produkt i nie chce zeby te pola znikaly na czas pisania musza zostac i to co w nich wpisane.

Jak to wykonac ? Moglbym zrobic recznie np. 4 produkty zawsze by bylo trzeba dodac i bym nazwal
  1. $produkt_tytul_02 = nazwa produktu
  2. $produkt_opis_02 = jakis opis
  3. $produkt_cena_02 = 200zl

itd. ale chcialbym aby po kliknieciu w przycisk dodawaly sie tak jakby nowe zmienne czy jakos innaczej - nie mam pojecia jak to wykonac nigdy czegos takiego nie robilem - jakies podpowiedzi - nakierowania ?

Z góry dziekuje i pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Najszybciej będzie Ci to na sesjach zrobić. Wtedy do tablicy sesyjnej będziesz wkładał wybrane produkty. To lepsze niż liczyć na szczęście, że Ci się to w długim url zmieści (GET ma limit znaków, bodajże 256)


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
piotr485
post
Post #3





Grupa: Zarejestrowani
Postów: 292
Pomógł: 0
Dołączył: 10.07.2009

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


Cytat(thek @ 10.09.2009, 13:31:03 ) *
Najszybciej będzie Ci to na sesjach zrobić. Wtedy do tablicy sesyjnej będziesz wkładał wybrane produkty. To lepsze niż liczyć na szczęście, że Ci się to w długim url zmieści (GET ma limit znaków, bodajże 256)


Limit ? To jakim cudem mi to wszystko pamieta ? Przetestowalem na jakies 1000znakow i bez problemu - ktos pomoze ?
Go to the top of the page
+Quote Post
kfc4
post
Post #4





Grupa: Zarejestrowani
Postów: 195
Pomógł: 18
Dołączył: 7.10.2007

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


Sesje. Na początku skryptu dajesz
Później sprawdzasz czy istnieje zmienna sesyjna, jak nie to ją tworzysz
  1. if (!isset($_SESSION['tablica']))
  2. $SESSION['tablica'] = array();

I później po prostu dodajesz do tej tablicy nowe produkty. Tu bez kodu bo mam nadzieję, że sobie z tym już poradzisz.

BTW. Limit geta zależy od przeglądarki.

Ten post edytował kfc4 10.09.2009, 13:31:49
Go to the top of the page
+Quote Post
piotr485
post
Post #5





Grupa: Zarejestrowani
Postów: 292
Pomógł: 0
Dołączył: 10.07.2009

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


Na sesjach jeszcze niepracowałem tak dokładniej.
1. To w sesji moge przechowywac zmienne ?
2. Jakas podpowiedz do dodawania kolejnych produktow ?
3. Za pomoca formularza dodawalem zmienne do GETa do teraz mam je dodawac do sesji ? Jak to zrobic kurde molek ? Z tego co wiem formularz ma dwa mozliwosci wyslania GET i POST.

Z góry dziękuje za nakierowanie i pomoc - nieoczekuję gotowców!

Go to the top of the page
+Quote Post
kfc4
post
Post #6





Grupa: Zarejestrowani
Postów: 195
Pomógł: 18
Dołączył: 7.10.2007

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


Sesja jest zmienną. Jest taką wielką tablicą. I zachowuje się jak tablica, więc możesz tab dodawać co sobie tylko chcesz. Formularz wysyłasz POSTem. Zapisujesz sobie wysłany formularz do tablicy. Tzn tworzysz tablicę w sesji. Masz wtedy taką wielowymiarową (dokładnie dwu) tablicę. I poprostu zapisujesz do niej to co obierzesz POSTem. Do danych dobierasz się tak: $_SESSION['tablica']['dane']. Mogę trochę źle wytłumaczyć ale mam nadzieję, że rozumiesz.
Go to the top of the page
+Quote Post
piotr485
post
Post #7





Grupa: Zarejestrowani
Postów: 292
Pomógł: 0
Dołączył: 10.07.2009

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


Ale powiedź mi jakie są zalety sesji w tym przypadku i jaka róźnica będzie jeśli wszystko będę zapisywał metodą zamiast GET to POST dla przykładu:

  1. $post_tyt = $_POST['tytul'];
  2.  
  3.  
  4. <form action="" method="post">
  5. Tytuł dla produktów: <br /><input type="text" name="tytul" value="'.$post_tyt.'" style="width: 500px;"><br />
  6. <input type="submit">
  7. ';
  8.  
  9. echo '<div style="color: red;">'.$post_tyt.'</div>';


Tutaj to co wpiszę do inputa mi się zachowa, a więc po co używac sesje ?
Go to the top of the page
+Quote Post
kfc4
post
Post #8





Grupa: Zarejestrowani
Postów: 195
Pomógł: 18
Dołączył: 7.10.2007

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


A no po to że, jak napisałeś w pierwszym poście nie wiesz ile będzie tych imputów. A jak wpiszesz coś innego, to skrypt nie pamięta już co wpisałeś wcześniej niej. Napisz dokładnie krok po kroku co chcesz osiągnąć to wtedy dobierzemy właściwą metodę.
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: 22.08.2025 - 10:01