Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][PHP] Zaznaczanie opcji po przetworzeniu formularza
Robert3d
post
Post #1





Grupa: Zarejestrowani
Postów: 102
Pomógł: 3
Dołączył: 22.04.2006

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


Witam mam problem nie wiem jak stworzyć warunki czy może inną metodę zastosować by:

Mam formularz z 20 checkbox-ami zaznaczam kilka. formularz przetwarza się i w tablicy $_GET pojawiają się puszka=on, nakretka=on plastik=on.
Po przetworzeniu wraca na tą samą stronę i teraz jak zrobić by opcje po przetworzeniu formularza były zaznaczone.


gdzie formularz prezentuje sie tak.
  1. while($row = mysqli_fetch_assoc($dane)){
  2. ?>
  3. <li>
  4. <div><input type="checkbox" name="<?php echo $row['rodzaj']; ?>" /></div>
  5. <div><?php echo $row['rodzaj'];?><img src="<?php echo $row['obrazek']; ?>"/></div>
  6. </li>
  7. <?php } ?>
  8. </ul>
  9. <input type="submit" value="Pokaż" />


Ten post edytował Robert3d 14.06.2011, 01:02:07
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




I wlaśnie dlatego logikę aplikacji robi się PRZED wyświetlaniem. Gdy masz tak zrobione to po kliknięciu wyślij masz na serwer pchany $_POST i go przetwarzasz. Gdy się skończy robi coś na serwerze ale gdy kończy wciąż masz $_POST dostępny. Teraz w czasie wyświetlania sprawdzasz czy w zmiennej $_POST ten checkbox wystąpił i jeśli tak, dajesz mu checked. Mniej więcej coś w deseń:
  1. <?php
  2. //tu jakiś kod do połączenia z bazą i wstępnych operacji
  3. //ja tworzę sobie też zmienną z wszystkimi domyślnymi wartościami formularza, co załatwia mi też problem warningów "index undefined" co jest zmorą początkujących ;)
  4. $fields = array( 'input' => 'wartość', 'input2' => 'wartość', 'checkbox' => false, 'checkbox2' => true );
  5. if( array_key_exist( 'submit', $_POST ) ) {
  6. //tu przetwarzasz i w razie czego robisz przypisania post do fields w stylu
  7. $fields['checkbox'] = true;
  8. }
  9. //czas na wyświetlanie
  10. ?>
  11. <form method="post", action="">
  12. <input type="text" name="input" value="<?php echo $fields['input']; ?>" />
  13. <input type="" name="input2" value="<?php echo $fields['input2']; ?>" />
  14. <input type="" name="checkbox"<?php echo ( $fields['checkbox'] ? ' checked="checked"' : ''); ?> />
  15. <input type="" name="checkbox2"<?php echo ( $fields['checkbox2'] ? ' checked="checked"' : ''); ?> />
  16. <input type="submit" name="submit" value="Wyślij" />
  17. </form>
Go to the top of the page
+Quote Post

Posty w temacie


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: 11.10.2025 - 16:06