Jump to content

Archived

This topic is now archived and is closed to further replies.

jonw118

Radio button value on PHP Post

Recommended Posts

Hi there- I'm writing a script right now and not sure how I should handle this problem.

 

Basically it's a form that uses post and when you click submit does simple calculations.

 

For form fields to get it to keep the values upon submit is no problem, I'm using this:

<input id="variable_a" type=text name="variable_a" wrap=virtual value="<?php echo $_POST["variable_a"]; ?>" size=3 maxlength=10>

 

If I didn't echo it, it would lose the value on submit.

 

BUT - I can't figure out on radio button how to do it (so it will show what was selected after submit). I need one radio button to have a value of "1" and the other to have a value of "2".

 

Can anyone advise me how to do this?

 

Thanks!

 

 

Share this post


Link to post
Share on other sites

Put the options into an array (or pull from a database):

$options = array(
    '0' => 'Option 1',
    '1' => 'Option 2',
    '2' => 'Option 3',
    '3' => 'Option 4',
);

foreach($options as $value => $label)
{
  $checked = ($option == $_POST['group_name'])? ' checked="checked"' : '';
  echo "<input type=\"radio\" name=\"group_name\" value=\"{$value}\"{$checked} /> $value<br /> ";
}

Share this post


Link to post
Share on other sites

The simple way is to use JavaScript.

 

<form id="yourform" method="POST" action="">
<input id="variable_a" type=text name="variable_a" wrap=virtual value="<?php echo $_POST["variable_a"]; ?>" size=3 maxlength=10 onclick="document.getElementById('yourform').submit();">
</form>

 

OR in PHP:

 

$v1 = 'unchecked';
$v2 = 'unchecked';

if (isset($_POST['Submit'])) {

$selected_radio = $_POST['variable_a'];

if ($selected_radio = = 'v1') {
$v1 = 'checked';
}
else if ($selected_radio = = 'v2') {
$v2 = 'checked';
}
}

 

V-1 <Input type = 'Radio' Name ='variable_a' value= '1'
<?PHP echo $v1; ?>

V-2 <Input type = 'Radio' Name ='variable_a' value= '2'
<?PHP echo $v2; ?>

Share this post


Link to post
Share on other sites

The OP asked

I can't figure out on radio button how to do it (so it will show what was selected after submit).

 

Unless this page is merely for learning purposes and there is no reason for the user to actually submit the page I don't see how JavaScript is an answer. Even if you wanted to have the JavaScript determine some value before submission it still couldn't be used for the only solution since the same logic would need to be copied on the server-side to take care of users without JavaScript enabled.

 

 

Share this post


Link to post
Share on other sites

First- thanks so much for the help!

 

 

Mjdamato: I tried your solution, pasted your example in exactly, and when I click submit, the radio buttons didn't stay checked (None of them were selected).

 

 

Mmarif4u: Can't quite get this one to work either. First it gave an error:

 

Parse error: syntax error, unexpected '=' in 

 

So I removed the "=" on the two lines where you had two of them.

 

That got rid of the error.

 

But - it didn't keep the settings on the submit. Here's the exact code I used:

 

<?php
$v1 = 'unchecked';
$v2 = 'unchecked';

if (isset($_POST['Submit'])) {

$selected_radio = $_POST['variable_g'];

if ($selected_radio = 'v1') {
$v1 = 'checked';
}
else if ($selected_radio = 'v2') {
$v2 = 'checked';
}
}
?>

 

And

<Input type = 'Radio' Name ='variable_g' value= '1' <?PHP echo $v1; ?>>
<Input type = 'Radio' Name ='variable_g' value= '2' <?PHP echo $v2; ?>>

 

It keeps the first one checked after every submit.

 

Thanks again for the help!

Share this post


Link to post
Share on other sites

The OP asked

I can't figure out on radio button how to do it (so it will show what was selected after submit).

 

Unless this page is merely for learning purposes and there is no reason for the user to actually submit the page I don't see how JavaScript is an answer. Even if you wanted to have the JavaScript determine some value before submission it still couldn't be used for the only solution since the same logic would need to be copied on the server-side to take care of users without JavaScript enabled.

 

 

 

Yeah, this is for an online calculator - so someone can input variables, click submit and see the updated price. The problem is the user will get confused if they can't remembered what was selected and what wasn't.

Share this post


Link to post
Share on other sites
<?php
$v1 = 'unchecked';
$v2 = 'unchecked';

if (isset($_POST['Submit'])) {

$selected_radio = $_POST['variable_g'];

if ($selected_radio == '1') {
$v1 = 'checked';
}
else if ($selected_radio == '2') {
$v2 = 'checked';
}
}
?>

Share this post


Link to post
Share on other sites

You are most welcome.

Mark the thread as solved.

Share this post


Link to post
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.