[FX.php List] A php question

Leo R. Lundgren leo at finalresort.org
Mon Mar 9 12:05:32 MDT 2009


Unless I totally misunderstand your problem, then no; Your problem/ 
what you want to do isn't to get a checkbox with the name DealerType1  
submitted even if it is unchecked. Unchecked checkboxes are simply  
not POSTed at all, and this is the expected behaviour. To quote  
http://www.w3.org/TR/html401/interact/forms.html#checkbox , "When a  
form is submitted, only "on" checkbox controls can become successful."

So, you should expect the following form a checkbox:
	- If it is checked, you will recieve it as part of the POST.
	- If it is *not* checked, you will not recieve it as part of the POST.

I think it's more a problem of how you handle this fact in your  
business logic. I don't fully understand what you want to accomplish  
with showing a checkbox for something that you apparently still want  
to recieve the same value for nomatter what the checkbox status is.


9 mar 2009 kl. 18.46 skrev John Funk:

> Leo,
> I see your point but I think my problem is getting the input name  
> posted from the form if the check box is not set.
> I am only checking if a specfic text in in the field, I do not care  
> if it is empty, infact if it is empty my logic should show an  
> unchecked input field. So it is this part that is causing me problems:
>
> <?php
> if ($DealerType1 =='Stand-Alone Single')
> echo "<input name= 'DealerType1' type='checkbox' value='Stand-Alone  
> Single' checked />";
> else
> echo "<input name= 'DealerType1' type='checkbox' value='Stand-Alone  
> Single' unchecked />";
> ?>
>
> looks for a specific string
> if there show a checked box pass the input name as DealerType1
> if NOT there show an UNchecked box pass the input name as DealerType1
>
> John
>
>
>
> On 3/9/09 12:10 PM, "Leo R. Lundgren" <leo at finalresort.org> wrote:
>
>> Damn me, I was too quick when editing that. This code is what I  
>> meant to paste, of course:
>>
>> $DealerType1 = (isset($_REQUEST['DealerType1']) ? $_REQUEST 
>> ['DealerType1'] : '0');
>> $request->AddDBParam('DealerType1', $DealerType1);
>>
>> Sorry :-/
>>
>>
>> 9 mar 2009 kl. 18.08 skrev Leo R. Lundgren:
>>
>>> Well, just as with any input validation, you must be prepared for  
>>> and handle gracefully the situation where you don't get the data  
>>> that you are expecting from the client. One case of that is  
>>> getting no data at all.
>>>
>>> To cut it short, one way to solve your problem is to make sure  
>>> that if you don't get a value at all, you place a default value  
>>> in the variable you are working with. For example:
>>>
>>> $DealerType1 = (isset($_REQUEST['DealerType1']) ? $_REQUEST 
>>> ['DealerType1'] : '0');
>>> $request->AddDBParam('DealerType1', $_REQUEST["DealerType1"]);
>>>
>>> As I see it, this is only tip of the iceberg for a discussion of  
>>> best practices regarding input handling. But it should be enough  
>>> to solve the problem :)
>>>
>>>
>>> 9 mar 2009 kl. 17.44 skrev John Funk:
>>>
>>>> I have a survey form that gets data from existing records, shows  
>>>> the data on form with check boxes. When submitted, edits the FMm  
>>>> data.
>>>>
>>>>  When building and testing the site all worked well. This  
>>>> morning I am getting index errors on the edit page because on  
>>>> check boxes that are NOT checked, do not pass the input name (or  
>>>> data) to the post.
>>>>
>>>>  Here is my logic on each check box:
>>>>
>>>> I get the data using a normal query:
>>>>  $DealerType1=$record['DealerType1'][0];
>>>>
>>>> I how the data in a form:
>>>>
>>>> <?php
>>>>  if ($DealerType1 =='Stand-Alone Single')
>>>>  echo "<input name= 'DealerType1' type='checkbox' value='Stand- 
>>>> Alone Single' checked />";
>>>>  else
>>>>  echo "<input name= 'DealerType1' type='checkbox' value='Stand- 
>>>> Alone Single' unchecked />";
>>>>  ?>
>>>>  A stand-alone business with a single location<br>
>>>>
>>>>
>>>>  In my edit.php file that the form calls, this is how I am  
>>>> getting the data:
>>>>
>>>>  $request->AddDBParam('DealerType1', $_REQUEST["DealerType1"]);
>>>>
>>>>
>>>> What am I doing wrong? This is an iis web server.
>>>>
>>>> John
>>>>
>>>> _______________________________________________
>>>> FX.php_List mailing list
>>>> FX.php_List at mail.iviking.org
>>>> http://www.iviking.org/mailman/listinfo/fx.php_list
>>>>
>>>
>>> _______________________________________________
>>> FX.php_List mailing list
>>> FX.php_List at mail.iviking.org
>>> http://www.iviking.org/mailman/listinfo/fx.php_list
>>>
>>
>>
>> _______________________________________________
>> FX.php_List mailing list
>> FX.php_List at mail.iviking.org
>> http://www.iviking.org/mailman/listinfo/fx.php_list
>
> _______________________________________________
> FX.php_List mailing list
> FX.php_List at mail.iviking.org
> http://www.iviking.org/mailman/listinfo/fx.php_list

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.iviking.org/pipermail/fx.php_list/attachments/20090309/9daf702f/attachment-0001.html


More information about the FX.php_List mailing list