Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ PHP _ zaznaczanie pola checkbox w sesji

Napisany przez: dentopolis 12.10.2019, 12:23:49

mam pole checkbox które chciałbym aby było domyślnie zaznaczone.
http://dentopolis.org/test/

chciałbym żeby słowo HIV było czerwone gdy pole jest zaznaczone i czarne gdy odznaczone. mam taki kod:

  1. if ($xhiv == 1) {
  2. http://www.php.net/echo "<span class='czerwony'> HIV </span> <input type='checkbox' name='xhiv' value='1' checked> ; ";
  3. }
  4. else {
  5. http://www.php.net/echo " HIV <input type='checkbox' name='xhiv' value='0'> ; ";
  6. }
  7.  


obecnie nie ma jak przeskoczyć na wartość 1 nawet po zaznaczeniu ale jak to poprawić?

Napisany przez: dublinka 14.10.2019, 06:51:41

Dwa warunki if.
Pierwszy sprawdza czy zostalo wyslane 1 i wtedy ustawuasz sesje z wartoscia jakąstam.
Drugi podobny if tyle ze sprawdzasz czy wyslane zostalo 0 i tak samo jakas sesja.

Teraz warunek z polami checkbox. Sprawdzasz czy sesja ma wartosc z pierwszego ifa. Jesli tak to pokazujesz pkle z wartoscia 0 a w else pole z wart 1

Napisany przez: viking 14.10.2019, 07:13:38

Nie potrzebujesz tu żadnego phpa do tego
https://jsfiddle.net/0kqcgdxL/
Poczytaj sobie https://prophp.pl/advice/show/21/zaznaczanie_aktywnych_elementow_html_bez_uzycia_javascript

Napisany przez: dublinka 14.10.2019, 14:03:45

Cytat(dentopolis @ 12.10.2019, 12:23:49 ) *
mam pole checkbox które chciałbym aby było domyślnie zaznaczone.
http://dentopolis.org/test/

chciałbym żeby słowo HIV było czerwone gdy pole jest zaznaczone i czarne gdy odznaczone. mam taki kod:
  1. if ($xhiv == 1) {
  2. http://www.php.net/echo "<span class='czerwony'> HIV </span> <input type='checkbox' name='xhiv' value='1' checked> ; ";
  3. }
  4. else {
  5. http://www.php.net/echo " HIV <input type='checkbox' name='xhiv' value='0'> ; ";
  6. }
  7.  


obecnie nie ma jak przeskoczyć na wartość 1 nawet po zaznaczeniu ale jak to poprawić?


Moze to byc np. tak:

  1. <?php
  2. http://www.php.net/session_start();
  3. if(http://www.php.net/isset($_POST['submit']))
  4. {
  5. if(http://www.php.net/isset($_POST['xhiv']))
  6. {
  7. $_SESSION['checked'] = $_POST['xhiv'];
  8. }else {
  9.  
  10. $_SESSION['checked'] = null;
  11. }
  12. }
  13.  
  14.  
  15. ?>
  16. <form action="" method=post>
  17. <?php
  18. if ($_SESSION['checked'] == 1)
  19. {
  20. http://www.php.net/print "<span style='color:red'>HIV </span>";
  21. }
  22. http://www.php.net/print '<input name="xhiv" type="checkbox" value="1"';
  23. if ($_SESSION['checked'] == 1)
  24. {
  25. http://www.php.net/print ' checked="checked"';
  26. }
  27.  
  28. http://www.php.net/print ">";
  29. ?>
  30. <input type="submit" name="submit" value="ustaw">
  31. </form>


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)