ID:               21696
 Comment by:       mj at ungesundleben dot org
 Reported By:      ivanpisa at dfm dot ffclrp dot usp dot br
 Status:           No Feedback
 Bug Type:         *General Issues
 Operating System: Windows 2000
 PHP Version:      4.3.0
 New Comment:

Same problem with PHP 5.1.4, Windows XP and Xampp 1.5.3a.

The problem is especially: How to create a CSV file from post data
without explicitely handling checkbox fields by their names if some
checkbox fields "vanish"? You will get an unusable CSV file, because the
order of the fields gets mismatched.

Workaround:

Inside the form, create checkboxes, which always are checked, but
hidden for the user (using CSS), like this:

<input style="display:none" type="checkbox" name="test_chk[]"
value="phpbug" checked>
<input class="checkbox" type="checkbox" name="test_chk[]"
value="TRUE">

Within a loop “foreach ($_POST as $key=>$value)” through the post data,
you then can do sth. like this:

if (strpos($key,"_chk")) {
if (isset($_POST[$key][1])) {$v='TRUE';} else {$v='FALSE';};
}

Regards,
Maike


Previous Comments:
------------------------------------------------------------------------

[2008-09-21 11:12:33] jeff at powerupmobile dot com

Same problem with me:
Solaris 10
PHP 5.2.5
Apache 2.2.8

Seems like a simple problem to me, PHP doesn't seem to recognise when a
form checkbox is submitted with no value. I guess there are several ways
to work around it but would be nice if it recognised it like it
recognises and empty text field.

------------------------------------------------------------------------

[2003-01-31 13:50:10] sni...@php.net

No feedback was provided. The bug is being suspended because
we assume that you are no longer experiencing the problem.
If this is not the case and you are able to provide the
information that was requested earlier, please do so and
change the status of the bug back to "Open". Thank you.



------------------------------------------------------------------------

[2003-01-17 20:17:34] sni...@php.net

If you're really using Apache2, consider moving to Apache 1.3.27 which
actually works.


------------------------------------------------------------------------

[2003-01-17 09:10:07] hholz...@php.net

are you sure that your error_reporting settings are really the same on
both boxes? (pleas check in phpinfo() output)

the message you see is only produced if E_NOTICE reporting is enabled
...

------------------------------------------------------------------------

[2003-01-17 05:18:53] ivanpisa at dfm dot ffclrp dot usp dot br

First, thanks for your attention.

a) I'm running the same script in other machine, and it's passing NULL
("") string. I suppose the other machine, with the same configuration,
should have the same behavior.

b) Do I have to create the variable? Again, it's running in other
machine with no problems. And all of my variables are created in the
moment I need them. Did I miss something about PHP?

c) I'll test.

d) You are right, sorry, I mean register_globals is off

e) I'll read.

------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/21696

-- 
Edit this bug report at http://bugs.php.net/?id=21696&edit=1

Reply via email to