Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Tablica liczb w sesji
Forum PHP.pl > Forum > PHP
Jadranko
Witam, chcę przekazać tablicę liczb (każda liczba, odpowiada zaznaczonemu checkbox-owi) pomiędzy stronami za pomocą sesji. Problem jest chyba z zapisywaniem wartości do tablicy:

  1. <form action="zmodyfikowana_galeria.php" method="post" >

  1. $tablica = array();
  2. for ($i=0, $j=0; $i<$licznik_plikow; $i++)
  3. {
  4. <input type="checkbox" name="input_checkbox[]" value= "$i"/>
  5. if (isset ($_POST['input_checkbox[]']))
  6. {
  7. $tablica[$j] = $i;
  8. $_SESSION['cos'] = $tablica;
  9. $j++;
  10. }
  11. }

  1. <input type="submit" value="wyslij" />
  2. </form>


Licznik_plikow to jest liczba checkbox-ów.
Kshyhoo
A co Ci nie działa? Jakie błędy? Dlaczego INPUT bez ECHO?

I co to za szalona pętla?
Jadranko
Ogólnie ta szalona pętla służy do wyświetlania obrazków z katalogu, a obok każdego obrazka jest checkbox. Chodzi o to, że zaznaczone checkboxy wskazują na obrazki które mają być wyświetlone a które nie (na nowej stronie). I chcę, aby "indeksy" obrazków były zapisywane do tablicy, którą będę mógł przekazać do podstrony zmodyfikowana_galeria.php
Kshyhoo
żeby wrzucić to do tablicy wystarczy coś na podobę:
  1. echo '<form action="" method="post">';
  2. foreach($lista as $plik) {
  3. echo '<input type="checkbox" name="input_checkbox[]" ';
  4. echo 'value="'.$plik.'" />'.$plik.'<br />';
  5. }
  6. echo '<input type="submit" value="wyslij" /></form>';
com
a dane do tablicy dodajesz tak jak to zrobiłeś tylko nie dajesz indexu tylko robisz
  1. $tablica[] = $i;

A
  1. $_SESSION['cos'] = $tablica;

zrób za foreach z przykładu Kshyhoo wink.gif
Jadranko
Kshyhoo czym jest Ciebie $lista w foreach? I te checkboxy umieścić tylko w tej pętli?

com czy dane do tablicy mam dodawać w pętli foreach?
Kshyhoo
Jak lukniesz do jakiegokolwiek kursu PHP, dowiesz się. Interesują Cię dwie zmienne: $lista i $plik. Dowiedz się, co robią a już nigdy nie zadasz pytania na ten temat smile.gif
com
@up tak patrze na to co napisałeś i nie dziwę się, że autor nie zrozumiał bo zmieniłeś sens działania tego co on chciał.. no chyba ze uznałeś $lista jako n liczbowy array tylko poco mu array z samymi kluczami?

Generalnie tu masz przykład tego co chcesz uzyskać :
  1. <?php
  2.  
  3. echo "<form method=\"post\" >";
  4. echo '<input type="checkbox" name="formDoor[]" value="A" />Acorn Building<br />
  5. <input type="checkbox" name="formDoor[]" value="B" />Brown Hall<br />
  6. <input type="checkbox" name="formDoor[]" value="C" />Carnegie Complex<br />';
  7. echo '<input type="submit" value="wyslij" />
  8. </form>';
  9.  
  10. if(!empty($_POST['formDoor']))
  11. {
  12. $lista = $_POST['formDoor'];
  13. $_SESSION['cos'] = $lista;
  14. var_dump($_SESSION['cos']);
  15. }
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.