Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]problem z checbox
Forum PHP.pl > Forum > Przedszkole
freedom.street
Witajcie,
mam taki problem. Generalnie chodzi o to żeby zapisać wartość checkboxa do MySql, to oczywiście bez problemu mi się udaje ale..
  1. $confirm = $_POST['check'] ? TRUE : FALSE;
  2.  
  3. $checked = '<input type="checkbox" checked="checked" name="check" />';
  4. $unchecked = '<input type="checkbox" name="check" />';
  5.  
  6.  
  7. if($confirm == TRUE){
  8. $ins = @mysql_query("UPDATE $rmlc_tablename SET confirm=1");
  9. echo $checked;
  10. }elseif ($confirm == FALSE) {
  11. $ins = @mysql_query("UPDATE $rmlc_tablename SET confirm=0");
  12. echo $unchecked;
  13. }

.. zapisuje się wartość 1 lub 0 w bazie, przy odświeżaniu nic się nie dzieje, wartość w bazie jest taka jak aktualnie przekazana ale pokliknięciu na zakładkę ustawień (wtyczka do wordpress), zapisuje ponownie 0 - reset smile.gif Wyświetlanie stanu checkboxa zrobię później ale teraz wartość w bazie powinien trzymać a nie trzyma, dlaczego ?
Kshyhoo
Jak poprawnie zadać pytanie | Jak poprawnie zatytułować wątek

Bo tak nie bardzo rozumiem... nie pamięta ustawień, czy zaznaczony, czy nie?

Dobra, chyba zakumałem... Wina formularza, przy wyświetleniu strony idzie do $_POST, bo masz wiecznie zaznaczony input z 0.
freedom.street
Tak, pytania to ważna sprawa smile.gif Niemniej stres wrogiem zdrowia biggrin.gif Zadaję więc pytanie :
Dlaczego przy konstrukcji formularza jak niżej, po kliknięciu w link ustawień wtyczki w bazie zawsze zapisuje 0 ? Co robię źle ?

////// form.php
  1. <h3 class="title">Ustawienia</h3>
  2. <?php bolter_setting(); ?>
  3. <form method="post" action="" >
  4. <p><label for="ping_sites">Kee</p>
  5.  
  6. <textarea name="kee" id="ping_sites" class="large-text code" rows="3"><?php ShowKee()?></textarea>
  7.  
  8. <p><label for="ping_sites">Mess </p>
  9.  
  10. <textarea name="admin_message" id="ping_sites" class="large-text code" rows="3"><?php ShowMessage()?></textarea>
  11.  
  12. <p><label for="ping_sites">Mail/ maile dla powiadomien :</p>
  13.  
  14. <input name="mail" type="text" id="admin_email"
  15. class="regular-text ltr" value="<?php ShowMail()?>" />
  16. <fieldset>
  17. <p><label for="users_can_register">
  18. <?php SaveConfirm()?>
  19. Powiadomomić na maila ? </label></p>
  20. </fieldset>
  21.  
  22.  
  23. <p class="submit">
  24. <input type="submit" class="button button-primary" value="Zapisz zmiany" /></p>
  25.  
  26. </form>



////// function.php
  1. $confirm = $_POST['check'] ? TRUE : FALSE;
  2.  
  3. $checked = '<input type="checkbox" checked="checked" name="check" />';
  4. $unchecked = '<input type="checkbox" name="check" />';
  5.  
  6.  
  7. if($confirm == TRUE){
  8. $ins = @mysql_query("UPDATE $rmlc_tablename SET confirm=1");
  9. echo $checked;
  10. }elseif ($confirm == FALSE) {
  11. $ins = @mysql_query("UPDATE $rmlc_tablename SET confirm=0");
  12. echo $unchecked;
  13. }
Kshyhoo
Generalnie, to tak: 1092890
freedom.street
Nie tyle problem z formularzem ale miałem dwie funkcje które robiły to samo smile.gif Sprawa rozwiązana.
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.