Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [ajax] zapisanie checkbxó do sesji
grzegorz_g
post 2.11.2011, 09:42:48
Post #1





Grupa: Zarejestrowani
Postów: 259
Pomógł: 0
Dołączył: 26.10.2004

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


witam!

mam tego typu problem, muszę zapisać zaznaczone checkboxy w ten sposób by przy stronicowaniu zachowywało mi ich zaznaczenie.
Jak się do tego zabrać sad.gif

pozdrawiam


--------------------
www.wettradar.com
Go to the top of the page
+Quote Post
nospor
post 2.11.2011, 09:52:25
Post #2





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




http://nospor.pl/formularz-i-stronicowanie...anie-stanu.html


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

"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
grzegorz_g
post 2.11.2011, 11:03:40
Post #3





Grupa: Zarejestrowani
Postów: 259
Pomógł: 0
Dołączył: 26.10.2004

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


być może skorzystam z Twojego rozwiązania jednak ten formularz mam rozbudowany

są to elementy sklepu z bazy danych produktów , na stronie 20 elementów (chceckboxów) i nie wiem jak zastosować tto Twoje rozwiązanie





--------------------
www.wettradar.com
Go to the top of the page
+Quote Post
nospor
post 2.11.2011, 11:04:47
Post #4





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




Czy pól w formularzu masz 2, 5 czy 20 to nic nie zmienia. NIezależnie od liczby, wszystko robisz dokładnie tak samo.
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
grzegorz_g
post 2.11.2011, 13:23:32
Post #5





Grupa: Zarejestrowani
Postów: 259
Pomógł: 0
Dołączył: 26.10.2004

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



mam takie pole w formularzu

  1.  
  2. <input type='checkbox' name='all".$row['id']."' value='".$row['id']."' /> Wystaw na allegro
  3.  


gdzie $row['id] jest numerem id produktu
ja nie znam na wstępie by zdefiniować funkcję jakie będą nazwy pól





--------------------
www.wettradar.com
Go to the top of the page
+Quote Post
nospor
post 2.11.2011, 13:28:48
Post #6





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




Bo źle nadajesz NAME. NAME ma nie zawierać ID produktu, od tego masz VALUE.
Name ma mieć nazwę tablicową: all[] i już. wówczas formularz wysyła pod indexem all tylko zaznaczone checkboxy.


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

"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
grzegorz_g
post 2.11.2011, 15:47:29
Post #7





Grupa: Zarejestrowani
Postów: 259
Pomógł: 0
Dołączył: 26.10.2004

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


to dlaczego u ciebie kolejne pola mają inne nazwy?
tym się sugerowałem


--------------------
www.wettradar.com
Go to the top of the page
+Quote Post
nospor
post 2.11.2011, 15:56:56
Post #8





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




No bo u mnie to są pola o różnych nazwach. U mnie były pola tekstowe u ciebie są checkboxy.
W przypadku powiązanych ze sobą checkboxów, ustala się nazwę tablicową - taki jest standardowy schemat działania dla formularza z checkboxami.


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

"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
grzegorz_g
post 2.11.2011, 16:13:49
Post #9





Grupa: Zarejestrowani
Postów: 259
Pomógł: 0
Dołączył: 26.10.2004

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


to co nie działa znajduję się tutaj:

http://scoressite.nazwa.pl/test/sklepik/admin/produkty.php

i zmieniłem te funkcje w ten spsób:

  1.  
  2. if (!empty($_POST['oursubmit'])){
  3. //gdy wysłano formularz (kliknięto przycisk "oursubmit")
  4. //zapisz jego stan w sesji
  5.  
  6. $_SESSION['form'] = array(
  7. 'allegro' => $_POST['allegro']
  8. );
  9. }
  10.  
  11. //niezależnie, czy wysłano formularz, czy nie,
  12. //pobierz jego stan z sesji
  13. $formData = array(
  14. 'allegro' => !isset($_SESSION['form']) ? null : $_SESSION['form']['allegro'],
  15.  
  16. );
  17.  



i teraz po odświeżeniu działa ale jak przejdę na druga stronę to ustawienia checkboxów się tracą sad.gif

aha jedno pytanie mi się ciśnie na usta jak serwer wie jaki checkbox został zaznaczony

Ten post edytował grzegorz_g 2.11.2011, 16:19:39


--------------------
www.wettradar.com
Go to the top of the page
+Quote Post
nospor
post 2.11.2011, 16:25:52
Post #10





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




a sesje startujesz? session_start()?

Cytat
aha jedno pytanie mi się ciśnie na usta jak serwer wie jaki checkbox został zaznaczony
Już ci mówiłem. Pod indeksem "allegro" masz tablicę zaznaczonych checkboxów. Staraj się czytać uważniej.

ps: pisałem również, że checkbox ma miec VALUE jako ID twojego rekordu. A ciebie checkboxy nie ma ją żadnej VALUE

ps2: podany przeze mnie art dotyczył formularzy. Czyli, że pola były zapamiętywane po wysłaniu formularza. U ciebie raczej średnio widzę, byś jakikolwiek formularz wysyłał.


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

"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
grzegorz_g
post 2.11.2011, 16:34:01
Post #11





Grupa: Zarejestrowani
Postów: 259
Pomógł: 0
Dołączył: 26.10.2004

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


nadałem checkboxom value

ale wciąż nie ma nic w sesji:

  1. print_r($formData['allegro']);


to mam puste,

session_start() na początku dodane

Ten post edytował grzegorz_g 2.11.2011, 16:34:45


--------------------
www.wettradar.com
Go to the top of the page
+Quote Post
nospor
post 2.11.2011, 16:36:45
Post #12





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




Przeczytaj mój ps2.
Jeśli nie wysylasz forma, a domyslam się że nie wysyłasz, to ta metoda nie zadziała.
Musisz więc użyć AJAX, by po kliknięciu w checkbox, zapisywać na serwerze w sesji kliknięty checkbox.


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

"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
grzegorz_g
post 2.11.2011, 16:40:36
Post #13





Grupa: Zarejestrowani
Postów: 259
Pomógł: 0
Dołączył: 26.10.2004

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


a masz jakieś rozwiązanie z tym ajaxem bo u mnie z wiedzą na ten temat cięzko

a może by ten mój problem zrobić na cookies?

Ten post edytował grzegorz_g 2.11.2011, 16:56:38


--------------------
www.wettradar.com
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: 14.06.2025 - 14:57