Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]formularz i checkboxy
Forum PHP.pl > Forum > Przedszkole
hub3rt
Jak sprawdzić, które checkboxy są zaznaczone?

Czytałem o jakiś sposobach za pomocą tablic, ale nie załatwia to mojego problemu. Mam takie cuś:

formularz:
  1. <?php
  2. if ($ilo > 0)
  3. {
  4.  for ($i=$ilo; $i>=1; $i--)
  5.  {
  6. echo file_get_contents(blabla.$i.".txt");
  7. echo '<input type="checkbox" name="kasacja['.$i.']" value="'.$i.'">';
  8.  }
  9. echo '<input type="submit" value="Usuń wybrane" name="B1"><input type="hidden" name="check" value="yes" size="1"></form>';
  10. ?>


jak ma wyglądać skrypt php usuwający plik np.:
blabla1.txt albo lepiej blabla5.txt

Bo skrypt, który ja napisałem usuwa zawsze 1 element, czyli tą blabla1.txt
UnKnOwN
Zmień

  1. <?php
  2. for ($i=$ilo; $i>=1; $i--)
  3.  {
  4. echo file_get_contents(blabla.$i.".txt");
  5. echo '<input type="checkbox" name="kasacja['.$i.']" value="'.$i.'">';
  6.  }
  7. ?>

na

  1. <?php
  2. for ($i='1'; $i <= $ilo; $i++)
  3.  {
  4. echo file_get_contents('blabla'.$i.'.txt');
  5. echo '<input type="checkbox" name="kasacja'.$i.'" value="1">';
  6.  }
  7. ?>

A usuwanie:

  1. <?php
  2. if ($_POST['check'] == 'yes')
  3. {
  4.  for ($i='1'; $i <= $ilo; $i++)
  5.  {
  6. if ($_POST['kasacja'.$i.'] == '1') unlink('blablabla'.$i.'.txt');
  7.  }
  8. }
  9. ?>


Nie sprawdzałem, ale powinno działać.
Btw mógłbyś wkleić ten niedziałający skrypt.
hub3rt
Ok, też tak na początku chciałem, ale muszę jeszcze uporządkować indeksy od początku. Czyli...wszystkie pliki z indeksem większym od usuwanego pliku będą mniejsze o jeden a ostatni plik zostanie usunięty, dobrze myślę?
UnKnOwN
A no tak, o tym nie pomyślałem. W takim wypadku mój skrypt zadziała tylko raz tongue.gif

Ja bym zrobił coś takiego: wpisał wszystkie pliki do tablicy, wyświetlił checkboxy o wartości nazwy dla każdego pliku, a po wysłaniu sprawdzał pętlą czy zmienna $_POST[nazwa_pliku] ma wartość 1 i jeżeli tak, wywala plik o nazwie, która jest wpisana w dane pole tablicy. W ten sposób nie trzeba by było zmieniać po każdym usuwaniu nazw plików, żeby miały po sobie kolejne numery.

Jakoś tak (wpisanie plików do tablicy pomijam, bo nie pamiętam tego za bardzo, ale zakładam, że $pliki to tablica z nazwami plików):

  1. <?php
  2. foreach($pliki as $key => $val)
  3. { 
  4.  echo '<input type="checkbox" name="$val" value="1">';
  5. }
  6. ?>


A dla usuwania:

  1. <?php
  2. foreach($pliki as $key => $val)
  3. {
  4.  if ($_POST[$val] == 1) unlink($val);
  5. }
  6. ?>
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.