Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]formularz i checkboxy
hub3rt
post
Post #1





Grupa: Zarejestrowani
Postów: 126
Pomógł: 0
Dołączył: 19.09.2003
Skąd: Białystok

Ostrzeżenie: (10%)
X----


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
UnKnOwN
post
Post #2





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 1.12.2005

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


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.
Go to the top of the page
+Quote Post
hub3rt
post
Post #3





Grupa: Zarejestrowani
Postów: 126
Pomógł: 0
Dołączył: 19.09.2003
Skąd: Białystok

Ostrzeżenie: (10%)
X----


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ę?
Go to the top of the page
+Quote Post
UnKnOwN
post
Post #4





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 1.12.2005

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


A no tak, o tym nie pomyślałem. W takim wypadku mój skrypt zadziała tylko raz (IMG:http://forum.php.pl/style_emoticons/default/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. ?>


Ten post edytował UnKnOwN 9.09.2006, 22:46:55
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 04:46