🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.php
5 messages
5 total messages Started by Jivanmukta Thu, 21 Jul 2016 16:41
nie POSTuje się jeden checkbox
#231410
Author: Jivanmukta
Date: Thu, 21 Jul 2016 16:41
102 lines
4026 bytes
Nie POSTuje mi się jeden checkbox na formularzu. Inne checkboxy zdefiniowane 
podobnie się POSTują. Inne pola też.
Mam w PHP:

...
<?php
echo form_open_multipart(empty($fullAnnouncementNo) ? 'announcement/insert' 
: 'announcement/update', 
			 array('id' => 'announcement', 'name' => 
'announcement'));
?>
<div>
<input id="referer_page" name="referer_page" type="hidden" value="<?php if 
(empty($fullAnnouncementNo) && array_key_exists('HTTP_REFERER', $_SERVER)) 
echo $_SERVER['HTTP_REFERER']; ?>">
<input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $maxFileSize; 
?>">
</div>
...
<fieldset id="property_data">
...
<div id="property_house_field">
<div class="label"><label for="property_house">Domek 
letniskowy:</label></div>
<div class="control">
<input type="checkbox" id="property_house" name="property_house" <?php echo 
myChecked('property_house', $field_values); ?>>
</div>
</div>
<div id="property_buildings_field">
<div class="label"><label 
for="property_buildings">Zabudowania:</label></div>
<div class="control">
<input type="checkbox" id="property_buildings" name="property_buildings" 
<?php echo myChecked('property_buildings', $field_values); ?>>
</div>
</div>
...

co daje kod HTML:

...
<form action="http://localhost/~robert/announcement/insert" method="post" 
accept-charset="utf-8" id="announcement" name="announcement" 
enctype="multipart/form-data">
<div>
<input id="referer_page" name="referer_page" type="hidden" value="">
<input type="hidden" name="MAX_FILE_SIZE" value="10485760">
</div>
...
<fieldset id="property_data">
...
<div id="property_house_field">
<div class="label"><label for="property_house">Domek 
letniskowy:</label></div>
<div class="control">
<input type="checkbox" id="property_house" name="property_house" >
</div>
</div>
<div id="property_buildings_field">
<div class="label"><label 
for="property_buildings">Zabudowania:</label></div>
<div class="control">
<input type="checkbox" id="property_buildings" name="property_buildings" >
</div>
</div>
...

Po zaznaczeniu checkbox property_buildings się POSTuje, natomiast po 
zaznaczeniu property_house nie. Tzn. nie ma go ani w $this->input->post ani 
w $_POST ani w file://input.
Po wywołaniu akcji kontrolera Announcement:

public function insert() {
$raw_post = file_get_contents('php://input');
echo 'insert() input:';var_dump($raw_post['property_house']);
$this->afterSubmit('insert');
}

mam:

insert() input:
A PHP Error was encountered
Severity: Warning
Message: Illegal string offset 'property_house'
Filename: controllers/announcement.php
Line Number: 263
A PHP Error was encountered
Severity: Notice
Message: Uninitialized string offset: 0
Filename: controllers/announcement.php
Line Number: 263
string '' (length=0)
afterSubmit() post:
string '' (length=0)

Nie chodzi o limit <input type="hidden" name="MAX_FILE_SIZE" 
value="10485760">. Ten limit jest wystarczający.

Używam PHP Version 5.5.9-1ubuntu4.13 Linux pecet 3.13.0-37-generic #64-
Ubuntu SMP Mon Sep 22 21:28:38 UTC 2014 x86_64. Pracuję na localhoście.
Nie wiem co robię źle. Proszę o pomoc.
Re: nie POSTuje się jeden checkbox
#231411
Author: ww
Date: Fri, 22 Jul 2016 06:12
7 lines
1392 bytes
W dniu 2016-07-21 o 18:41, Jivanmukta pisze:
> Nie POSTuje mi się jeden checkbox na formularzu. Inne checkboxy zdefiniowane
> podobnie się POSTują. Inne pola też.

Może zacznij od sprawdzenia w firebugu/narzędziach 
developerskich/czymkolwiek co tam masz czy te dane w ogóle wychodzą na 
serwer ?
Re: nie POSTuje się jeden checkbox
#231412
Author: Jivanmukta
Date: Fri, 22 Jul 2016 07:25
12 lines
1170 bytes
ww wrote:

> W dniu 2016-07-21 o 18:41, Jivanmukta pisze:
>> Nie POSTuje mi się jeden checkbox na formularzu. Inne checkboxy
>> zdefiniowane podobnie się POSTują. Inne pola też.
> 
> Może zacznij od sprawdzenia w firebugu/narzędziach
> developerskich/czymkolwiek co tam masz czy te dane w ogóle wychodzą na
> serwer ?

Zrobiłem alerta w JS w chwili submitowania formularza i właściwość checked 
jest true.
nie POSTuje się jeden checkbox
#231413
Author: Rafal Podsiadly
Date: Fri, 22 Jul 2016 15:03
5 lines
1578 bytes
2 bledy
Masz błąd if przy sprawdzaniu. Zmiennej house i dlatego error. 
Drugi błąd to nie brak wartości domyślnej dla checkbox ustaw value=0. Pamiętaj też o sprawdzaniu zmiennych isset przed użyciem.

Warto korzystać z template kod jest bardziej czytelny. A formularze budować przez model zawrzeć w nich walidacja.
Re: nie POSTuje się jeden checkbox
#231414
Author: Jivanmukta
Date: Fri, 22 Jul 2016 16:32
13 lines
1213 bytes
Rafal Podsiadly wrote:

> 2 bledy
> Masz błąd if przy sprawdzaniu. Zmiennej house i dlatego error.
> Drugi błąd to nie brak wartości domyślnej dla checkbox ustaw value=0.
> Pamiętaj też o sprawdzaniu zmiennych isset przed użyciem.
> 
> Warto korzystać z template kod jest bardziej czytelny. A formularze
> budować przez model zawrzeć w nich walidacja.

Dzięki.
Miałem błąd w funkcji JavaScriptowej.
Problem zamknięty.
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads