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!