Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Checkbox sprawdzanie, odczyt i zapis do bazy
Forum PHP.pl > Forum > Przedszkole
redelek
Witam,
Mam formularz w którym są 4pola typu checbox. Po otwarciu strony pola są zaznaczane lub nie zgodnie z bazą danych. Wygląda to tak

  1. <fieldset class="fdset">
  2. <legend>Powiadomienia</legend>
  3. <form action="users_settings.php" method="post">
  4. <table class="uss" border="0" cellspacing="0" cellpadding="0">
  5. <tr>
  6. <td class="usslabel" ><input type="checkbox" name="message[]" '.(($row["u_new_message"]==1)?'checked="checked"':'').' />&nbsp;&nbsp;Powiadom mnie o nowej wiadomości</td>
  7.  
  8. <td class="usslabel" ><input type="checkbox" name="message[]" '.(($row["u_new_message_gift"]==1)?'checked="checked"':'').' />&nbsp;&nbsp;Powiadom mnie o nowym prezęcie</td>
  9. </tr>
  10. <tr>
  11. <td class="usslabel" ><input type="checkbox" name="message[]" '.(($row["u_new_message_my_account"]==1)?'checked="checked"':'').' />&nbsp;&nbsp;Powiadom mnie o logowaniu na konto</td>
  12.  
  13. <td class="usslabel" ><input type="checkbox" name="message[]" '.(($row["u_message_gift_book"]==1)?'checked="checked"':'').' />&nbsp;&nbsp;Powiadom mnie o rezerwacji mojego prezentu</td>
  14. </tr>
  15. <tr>
  16. <td class="usslabel" ><input type="checkbox" name="message[]" '.(($row["u_new_message_releasing_gift"]==1)?'checked="checked"':'').' />&nbsp;&nbsp;Powiadom mnie o powiadom mnie o zwolnieniu prezentu</td>
  17. <td class="usslabel" ><input type="checkbox" name="message[]" '.(($row["u_new_message_"]==1)?'checked="checked"':'').' />&nbsp;&nbsp;Powiadom mnie o </td>
  18. </tr>
  19. <tr>
  20. <!--<td class="usslabel" ><input type="checkbox" name="nazwa" value="wartość" />&nbsp;&nbsp;Powiadom mnie o </td>-->
  21.  
  22. </tr>
  23. <tr>
  24. <td class="buttons" colspan="2" ><center><br /><button class="positive" type="submit" /><img src="image/save_form.png" alt=""/>&nbsp;&nbsp;Zapisz</button></td></tr>
  25. <tr><td class="pbuttons" colspan="2"><input type="hidden" name="pre" value="upd_us_mail" /></td></tr>
  26. </table>
  27. <br />
  28.  
  29. </form>
  30. </fieldset>';

Problem mam w tym, że jak przechwycić że użytkownik zmienił zdanie i odzanczył pole(lub zaznaczył) i zmienić wartości w bazie danych z 1 na 0(lub z 0 na 1). Jakaś chwilowa zaćma i nie wiem jak to zrobić sad.gif
Będę bardzo zobowiązany za pomoc.
rocktech.pl
Witam.

Ustaw unikalny atrybut value dla każdego elementu.
  1. <input type="checkbox" name="message[]" value="powiadom_mnie" '.(($row["u_new_message"]==1)?'checked="checked"':'').' />&nbsp;&nbsp;Powiadom mnie o nowej wiadomości
  2. ....
  3. ';


Przykładowa obsługa formularza:
  1. if ( isset ( $_POST['message'] ) ) {
  2. $dane = filter_var_array ( $_POST['message'], FILTER_SANITIZE_STRING );
  3. if ( in_array ( 'powiadom_mnie', $dane ) ) {
  4. //Aktualizacja bazy, że chcę być powiadamiany
  5. } else {
  6. //Aktualizacja bazy, że nie chcę być powiadamiany
  7. }
  8. .....
  9. }
redelek
dzięki o to chodziło smile.gif)) yahoo.gif
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.