Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
[php] Sprawdzenie czy checkbox jest checked - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Początkujący webmaster (https://www.webmastertalk.pl/forum-poczatkujacy-webmaster)
+--- Wątek: [php] Sprawdzenie czy checkbox jest checked (/thread-php-sprawdzenie-czy-checkbox-jest-checked)



[php] Sprawdzenie czy checkbox jest checked - K0nio - 11-12-2011

Witam mam problem z formularzem, chciałbym by przy błędnie wpisanych danych i ponownym załadowaniu formularzu wpisane dane nadal by się tam znajdowały. Poradziłem sobie z polami typu type=text , problem mam z polami checkbox
Kod PHP:
<input type="checkbox" name="days[]" value="1"  <?php if (!empty($arrayr[0])) echo('checked=\"checked\"'); ?> />Poniedziałek    
             <input type="checkbox" name="days[]" value="2"  <?PHP if (!empty($arrayr[1])) echo('checked=\"checked\"'); ?> />Wtorek
             <input type="checkbox" name="days[]" value="3"  <?PHP if (!empty($arrayr[2])) echo('checked=\"checked\"'); ?> />Środa
             <input type="checkbox" name="days[]" value="4"  <?PHP if (!empty($arrayr[3])) echo('checked=\"checked\"'); ?> />Czwartek
             <input type="checkbox" name="days[]" value="5"  <?PHP if (!empty($arrayr[4])) echo('checked=\"checked\"'); ?> />Piątek <br /> 

Użyłem do tego pętli foreach wiem, że kod jest błędny
Kod PHP:
foreach ($days_array as $day) {
             
$arrayr[]= array($day);             
             global 
$days
             } 

I wtedy jeżeli zaznaczymy piątek to zapiszemy w tablicy $arrayr w indeksie zero i po przeładowaniu formularza zaznaczy nam poniedziałek. Myślałem, żeby zrobić to na if-ach ale nie wiem czy takie rozwiązanie jest optymalne. Chodzi o to by po zaznaczeniu np. środy i piątku po przeładowaniu formularza nadal były one zaznaczone Wink
Z góry dzięki za pomoc




RE: [php] Sprawdzenie czy checkbox jest checked - mateo - 11-12-2011

Sprawdź issetem które pole zostało zaznaczone, potem 2 linijki kodu do zaznaczania odpowiedniego dnia i tyle. Jeśli chodzi o utrzymanie wartości pól podczas przeładowywania/walidacji formularza, możesz użyć sesji.


RE: [php] Sprawdzenie czy checkbox jest checked - K0nio - 12-12-2011

Zrobilem to w taki sposób po wciśnięciu przycisku submit pobieram pola
$days_array = $_POST['days']; a następnie w formularzu sprawdzam
Kod PHP:
<input type="checkbox" name="days[0]" value="1"  <?php if (isset($days_array[0]))  echo('checked=\"checked\"'); ?> />Poniedziałek 

Dziala tak jak chcialem ;D