• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

if checkbox is checked, echo checkbox value /wiele checkboxow

Object Storage Arubacloud
0 głosów
472 wizyt
pytanie zadane 14 lutego 2016 w PHP przez TMMT Użytkownik (870 p.)

Witam serdecznie. Problem poczatkujacego!

W pierwszym pliku 1.php, posiadam zdefiniowane zmienne, ktore stanowia value checkboxow (w przyszlosci beda dluzsze, oraz liczniejsze) oraz formularz, zawierajacy checkboxy, przekierowujacy akcje do pliku 2.php

Plik ten, zawiera na poczatku ustawienie, by nie wyswietlac bledow (jezeli nie wybiore checkboxa, pojawia sie UNDEFINIED_STRING, a chce miec mozliwosc nie wybierania niektorych checkboxow, bez oznajmiania uzytkownikowi - wybralem taki sposob) a pozniej mam zmienne, ktore sa uchwytami POST checkboxow.

Nastepnie sprawdzam (isset) czy checkbox zostal zaznaczony, i jesli tak, to wyswietlam jego value.
Calosc (o dziwo! :D) dziala, ale pozycji bedzie ok. 30tu, i widze, ze ten sposob nie bedzie najlepszy, kazdorazowe if, dla kazdego checkboxa. Gdzie lezy blad? Co moge zastosowac, by to zoptymalizowac, dla wiekszej ilosci checkboxow? Domyslam sie, ze moze chodzic o operatory logiczne jak ||, ale nie widze tego tu narazie w praktyce, niestety.

Kod dla lepszego zrozumienia (warto sprawdzic jak dziala, lub chociaz przeanalizowac ;)):

Plik 1.php

<?php
$s110= "A";
$s120= "B";
$s130= "C";

echo '
<body>
<form action="2.php" method="post">
  <input type="checkbox" name="cb_110" value="'.$s110.'"> Abdeckarbeiten<br>
  <input type="checkbox" name="cb_120" value="'.$s120.'"> Grundierung<br>
  <input type="checkbox" name="cb_130" value="'.$s130.'"> Spachteln<br>


  <input type="submit" value="Submit">
</form>'
?>

Plik 2.php

<?php
ini_set( 'display_errors', 'Off' ); 
error_reporting( E_ALL );
$serv_110=$_POST['cb_110'];
$serv_120=$_POST['cb_120'];
$serv_130=$_POST['cb_130'];

if( isset($serv_110) ) {
	echo $serv_110;
}
if( isset($serv_120) ) {
	echo $serv_120;
}
if( isset($serv_130) ) {
	echo $serv_130;
}
?>

Pozdrawiam!

1 odpowiedź

0 głosów
odpowiedź 14 lutego 2016 przez TMMT Użytkownik (870 p.)
Widze, ze checkbox sam w sobie sprawdza (glupi jestem, przeciez tak sie nazywa..) i wystarczy samo echo zmiennej!
To po czesci zalatwia mi problem ;) Zmienilem takze metode na GET, i calosc robie w jednym pliku.

Co z komunikatem bledu? Powinienem zostawic to w ten sposob, czy sa lepsze metody?

Podobne pytania

+1 głos
1 odpowiedź 266 wizyt
pytanie zadane 8 grudnia 2017 w JavaScript przez lastavenger Obywatel (1,060 p.)
0 głosów
1 odpowiedź 732 wizyt
pytanie zadane 14 marca 2016 w PHP przez KamQiX Dyskutant (9,090 p.)
0 głosów
2 odpowiedzi 771 wizyt
pytanie zadane 7 grudnia 2016 w JavaScript przez enderius Nowicjusz (240 p.)

92,620 zapytań

141,474 odpowiedzi

319,813 komentarzy

62,004 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...