Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Sesja oraz dodawanie do tablicy
dazer91
post 10.09.2011, 14:41:37
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 10.09.2011

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


Witam
Jestem nowy i proszę nie jeździjcie po mnie jeśli ktoś miał już taki problem.
Mianowicie sprawa wygląda tak:
tutaj mam skrypcik który ma byc odpowiedzialny za dodawanie do tablicy pobierając z formularza pewne dane:
  1. <?
  2. if(!isset($_SESSION['dodaj']))
  3. {
  4. $_SESSION['dodaj'] = 1;
  5. $i=1;
  6. }
  7. else{
  8. $i = $_SESSION['dodaj'];
  9.  
  10.  
  11. $nazwa[$i]=$_POST['nazwa'];
  12. $_SESSION['dodaj'] = $_SESSION['dodaj'] +1;
  13. }
  14.  
  15. ?>

Teraz troszkę wytłumaczę.
Te kombinacje z $i i $_SESSION wynikają z tego że gdy dam $i++ to nie zwiększa mi wartości.
skrypt dodawac dodaje do tablicy ale dodaje tylko dla aktualnej wartości $i, ale jak będę chciał wyświetlic coś ręcznie i zamiast $i w tablicy wpiszę 3 a $i będzie różne od tej liczby to nie wyświetli nic. W C++ z tablicami nie mam problemu. Tutaj męcze już 3 dzień. Czytałem sporo. Kombinowałem i nic...
Prosił bym o pomoc...
Powód edycji: [Ociu]: dodałem bbCode
Go to the top of the page
+Quote Post
Sokon
post 10.09.2011, 15:16:01
Post #2





Grupa: Zarejestrowani
Postów: 31
Pomógł: 1
Dołączył: 29.10.2008

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


Używaj tagów [ php ] [ /php ], z tego co widzę, to
  1. $nazwa[$i]=$_POST['nazwa'];
jest po każdym wykonaniu submit resetowany więc nic dziwnego, że nie działa.
Go to the top of the page
+Quote Post
mortus
post 10.09.2011, 15:23:38
Post #3





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Do poczytania:
Jak poprawnie zadać pytanie
Tematyka i zasady panujące na forum Przedszkole

Zauważ, że w sesji zapisujesz tylko indeks tablicy, a nie dane przesłane przez formularz. Zmienna $nazwa[$i] jest natomiast tworzona za każdym razem, kiedy uruchamiasz skrypt i zawsze jest to tablica z jednym tylko elementem o indeksie $i.
  1. if(!isset($_SESSION['dodaj'])) {
  2. $_SESSION['dodaj'] = 1;
  3. }
  4. if(isset($_POST['nazwa']) && $_POST['nazwa'] != '') {
  5. $_SESSION['nazwa'][$_SESSION['dodaj']] = $_POST['nazwa'];
  6. $_SESSION['dodaj']++;
  7. }
  8.  
  9. // sprawdźmy zawartość zmiennej $_SESSION['nazwa']
  10. echo '<pre>';
  11. print_r($_SESSION['nazwa']);
Go to the top of the page
+Quote Post
dazer91
post 10.09.2011, 15:23:58
Post #4





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 10.09.2011

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


Czyli jak ma to wyglądac, nie wiem właśnie dlaczego mi nie zapamiętuje danych. Co mam zrobic alby submit był zarejestrowany tylko raz ?
Go to the top of the page
+Quote Post
Sokon
post 10.09.2011, 15:25:14
Post #5





Grupa: Zarejestrowani
Postów: 31
Pomógł: 1
Dołączył: 29.10.2008

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


Ja bym to np. zrobił tak:
  1. $_SESSION['nazwa'] .= $_POST['nazwa']."|";
  2. $nazwaArray = explode( $_SESSION['nazwa'], "|" );
  3.  
  4. echo $nazwaArray[$i];

Go to the top of the page
+Quote Post
Fifi209
post 10.09.2011, 15:33:23
Post #6





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Sokon a po co zabawy z explode? Nie można od razu do tablicy wpisywać? $_SESSION['name'][] = 'wartosc'; ?


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
dazer91
post 10.09.2011, 15:33:39
Post #7





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 10.09.2011

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


Dobra dzięki Panowie. Pomęczę i spróbuje coś zrobic.
Dzięki za tak szybką odpowiedź i pomoc wink.gif
Jak coś to pozwolę sobie zadac kolejne pytanie smile.gif
Go to the top of the page
+Quote Post
Sokon
post 10.09.2011, 15:34:30
Post #8





Grupa: Zarejestrowani
Postów: 31
Pomógł: 1
Dołączył: 29.10.2008

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


Można, ale po co się ograniczać do jednego rozwiązania :-)?
Go to the top of the page
+Quote Post
Fifi209
post 10.09.2011, 15:36:11
Post #9





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(Sokon @ 10.09.2011, 16:34:30 ) *
Można, ale po co się ograniczać do jednego rozwiązania :-)?

Bo tak tracisz mniej zasobów na serwerze?


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
Sokon
post 10.09.2011, 15:39:55
Post #10





Grupa: Zarejestrowani
Postów: 31
Pomógł: 1
Dołączył: 29.10.2008

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


Trochę zaczynamy offtopować, ale odpowiem Ci na pytanie - nie zapominajmy, że to jest przedszkole i co do optymalizacji kodu i oszczędzania zasobów to chyba lekka przesada w tym dziale ? Ty mi pewnie odpiszesz, że dobrych nawyków trzeba nabierać od przedszkola, na co ja napiszę, że masz rację i więcej już nic nie napiszę bo się moderatorzy zaczną czepiać :-)
Cytat
Dobra dzięki Panowie. Pomęczę i spróbuje coś zrobic.

Nie ma co męczyć, dostałeś gotowe rozwiązania :-)

Ten post edytował Sokon 10.09.2011, 15:44:25
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: 12.06.2025 - 23:19