intech Posted September 1, 2006 Share Posted September 1, 2006 These foreach() statements have always thrown me for a loop...I have a simple contact us form with a series of checkboxes where users can request notifications by different formats. They could have 1,2 or any number of boxes checked.Here is my FORM code:[code]<input type="checkbox" name="some_info[]" value="Website Development" />DVD <input type="checkbox" name="some_info[]" value="Network Solutions" />Email<input type="checkbox" name="some_info[]" value="Computer Upgrades/Repairs" />Newsletter[/code]And here is my foreach() statement:[code]foreach($_POST['some_info'] as $some_info) { $info = ". $some_info .";}[/code]What I get in the email is only the last selection formatted like the following:Media requested: . Newsletter .Not all variables are being passed...My gratitude ahead of time... Quote Link to comment https://forums.phpfreaks.com/topic/19361-simple-array-variables-not-being-passed-in-foreach-statement/ Share on other sites More sharing options...
samshel Posted September 1, 2006 Share Posted September 1, 2006 [code]echo "<pre>";print_r($_POST['some_info']);echo "</pre>";foreach($_POST['some_info'] as $some_info) { $info = ". $it_info .";}[/code]try this, check if all data is posted properly or not.hth Quote Link to comment https://forums.phpfreaks.com/topic/19361-simple-array-variables-not-being-passed-in-foreach-statement/#findComment-84006 Share on other sites More sharing options...
intech Posted September 1, 2006 Author Share Posted September 1, 2006 my line...[code]$info = ". $it_info .";[/code]Should read...[code]$info = ". $some_info .";[/code](But still same problem)Yep all variables are printed to screen with your debug code... Quote Link to comment https://forums.phpfreaks.com/topic/19361-simple-array-variables-not-being-passed-in-foreach-statement/#findComment-84017 Share on other sites More sharing options...
Jenk Posted September 1, 2006 Share Posted September 1, 2006 change the assignment operator to .= instead of just = Quote Link to comment https://forums.phpfreaks.com/topic/19361-simple-array-variables-not-being-passed-in-foreach-statement/#findComment-84021 Share on other sites More sharing options...
intech Posted September 1, 2006 Author Share Posted September 1, 2006 Now we're getting some where...Changed my line to the following:[code]$info .= ". $some_info .";[/code]It does pass all checkbox values to the email now, but I now get the dreaded error:[quote]Notice: Undefined variable: info [/quote] Quote Link to comment https://forums.phpfreaks.com/topic/19361-simple-array-variables-not-being-passed-in-foreach-statement/#findComment-84022 Share on other sites More sharing options...
Jenk Posted September 1, 2006 Share Posted September 1, 2006 add [code]$info = '';[/code] before your loop. Quote Link to comment https://forums.phpfreaks.com/topic/19361-simple-array-variables-not-being-passed-in-foreach-statement/#findComment-84027 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.