BigD Posted August 3, 2012 Share Posted August 3, 2012 I have a form radioButtonG passing 2 radio buttons grp1 and grp0 to code radioButtonA. I am having difficulty to receive these 2 buttons. Please help. Thanks. radioButtonG -<html><FORM NAME ="form1" METHOD ="POST" ACTION ="radioButtonA.php"><head><title>Radio Buttons</title></head><?PHP$aray2 = array("Tom", "Jan");$i = 0;foreach ($aray2 as $key => $value){echo $value;echo "<INPUT TYPE = \"Radio\" Name =\"grp.$i\" value= \"male\" >Male";echo "<INPUT TYPE = \"Radio\" Name =\"grp.$i\" value= \"female\" >Female";echo "\n";echo '<input type=hidden name="aray2[]" value="'.htmlspecialchars($value).'">';}?><INPUT TYPE = "Submit" Name = "Submit1" VALUE = "Submit"></FORM></html> radioButtonA -<html><head><title>Radio Buttons action</title></head><FORM NAME ="form2" METHOD ="PUT" ACTION ="radioButton2.php"><?PHP$aray2 = $_POST['aray2'];$grpx = $_REQUEST['grp0'];$grpy = $_REQUEST['grp1'];print_r($aray2);?><input name="grpx" value="<?php echo $grpx; ?>" /><input name="grpy" value="<?php echo $grpy; ?>" /><input name="aray2" value="<?php echo $aray2; ?>" /><INPUT TYPE = "Submit" Name = "Submit1" VALUE = "Next"></FORM></html> Link to comment Share on other sites More sharing options...
dsonesuk Posted August 3, 2012 Share Posted August 3, 2012 All the radio name values equal "grp.0", you have to increment '$i' with $i++; each time a loop completes, you are try to read $_REQUEST['grp1']; which at present does not exist. Link to comment Share on other sites More sharing options...
BigD Posted August 4, 2012 Author Share Posted August 4, 2012 I fixed the code to increment $i. On the receiving code I tried $_REQUEST['grp0'], $_REQUEST[grp1], and $_REQUEST['grp.0'],$_REQUEST['grp1']; none worked. <html><FORM NAME ="form1" METHOD ="POST" ACTION ="radioButtonA.php"><head><title>Radio Buttons</title></head><?PHP$aray2 = array("Tom", "Jan");$i = 0;foreach ($aray2 as $key => $value){echo $value;echo "<INPUT TYPE = \"Radio\" Name =\"grp.$i\" value= \"male\" >Male";echo "<INPUT TYPE = \"Radio\" Name =\"grp.$i\" value= \"female\" >Female";echo "\n";$i = $i + 1;echo '<input type=hidden name="aray2[]" value="'.htmlspecialchars($value).'">';}?><INPUT TYPE = "Submit" Name = "Submit1" VALUE = "Submit"></FORM></html> radioButtonA code:<html><head><title>Radio Buttons action</title></head><FORM NAME ="form2" METHOD ="PUT" ACTION ="radioButton2.php"><?PHP$aray2 = $_POST['aray2'];$grpx = $_REQUEST['grp0'];$grpy = $_REQUEST['grp1'];print_r($aray2);?><input name="grpx" value="<?php echo $grpx; ?>" /><input name="grpy" value="<?php echo $grpy; ?>" /><input name="aray2" value="<?php echo $aray2; ?>" /><INPUT TYPE = "Submit" Name = "Submit1" VALUE = "Next"></FORM></html> Link to comment Share on other sites More sharing options...
BigD Posted August 4, 2012 Author Share Posted August 4, 2012 I figured it out. The problem was I have a dot in my variable names. that can create problems. I am able to pass things to a third piece of code. This is a great forum. Thanks to people who posted. Here are the codes: xxxxG:<html><FORM NAME ="form1" METHOD ="POST" ACTION ="radioButtonA.php"><head><title>Radio Buttons</title></head><?PHP$aray2 = array("Tom", "Jan");$i = 0;foreach ($aray2 as $key => $value){echo $value;echo "<INPUT TYPE = \"Radio\" Name =\"grp$i\" value= \"male\" >Male";echo "<INPUT TYPE = \"Radio\" Name =\"grp$i\" value= \"female\" >Female";//echo "<INPUT name = \"$grp.$i\" value = \"grp.$i\" type = hidden>";echo "\n";$i = $i + 1;echo '<input type=hidden name="aray2[]" value="'.htmlspecialchars($value).'">';}?><INPUT TYPE = "Submit" Name = "Submit1" VALUE = "Submit"></FORM></html> xxxxA:<html><head><title>Radio Buttons action</title></head><FORM NAME ="form2" METHOD ="PUT" ACTION ="radioButton2.php"><?PHP$aray2 = $_POST['aray2'];$grpx = $_REQUEST['grp0'];$grpy = $_REQUEST['grp1'];echo "grp0 is $grpx, \n";echo "grp1 is $grpy. \n";print_r($aray2);?><input name="grpx" value="<?php echo $grpx; ?>" type=hidden ><input name="grpy" value="<?php echo $grpy; ?>" type=hidden ><input name="aray2" value="<?php echo $aray2; ?>" type=hidden ><INPUT TYPE = "Submit" Name = "Submit1" VALUE = "Next"></FORM></html> xxxx2<html><head><title>Radio Buttons action2</title></head><?PHP$aray3 = $_REQUEST['aray2'];$grp3 = $_REQUEST['grpx'];echo "value to next level is $grp3";?></html> Link to comment Share on other sites More sharing options...
BigD Posted August 4, 2012 Author Share Posted August 4, 2012 I run into another problem. While changing the 2nd piece code to a loop, I can not get grp$i translated to grp0 and grp1. Anyone following the tpoic please try the code: <html><head><title>Radio Buttons action</title></head><FORM NAME ="form2" METHOD ="PUT" ACTION ="radioButton2.php"><?PHP$aray2 = $_POST['aray2'];print_r($aray2); $i = 0;while (array_shift($aray2)) {$grpp = $_REQUEST['grp$i'];echo "grpp is $grpp, \n";$i++;}?><input name="grpp" value="<?php echo $grpp; ?>" type=hidden ><input name="aray2" value="<?php echo $aray2; ?>" type=hidden ><INPUT TYPE = "Submit" Name = "Submit1" VALUE = "Next"></FORM></html> Link to comment Share on other sites More sharing options...
dsonesuk Posted August 4, 2012 Share Posted August 4, 2012 Separate text from php variable $_POST['grp'.$i]; Link to comment Share on other sites More sharing options...
justsomeguy Posted August 6, 2012 Share Posted August 6, 2012 PHP replaces periods and a few other characters in input names with underscores, because of a shortsighted feature in PHP that no one uses anymore. If you want to keep the original names you can use this: function getRealPOST() { $pairs = explode("&", file_get_contents("php://input")); $vars = array(); foreach ($pairs as $pair) { $nv = explode("=", $pair); $name = urldecode($nv[0]); $value = urldecode($nv[1]); $vars[$name] = $value; } return $vars;}$_POST = getRealPOST(); Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now