tags:

views:

34

answers:

3

I was wondering if it would be possible to set a session variable from a radio button. This is what I have so far:

<form action="process.php" method"post">
<input type="radio" name="number" id="number" value="1" /> 1 
<input type="radio" name="number" id="number" value="2" /> 2 
<input type="radio" name="number" id="number" value="3" /> 3 <br />
<input type="submit" name="Submit" value="Submit" />
</form>

And then for my process.php:

<?php 
session_start();
session_register ("number");
$_SESSION['number'] = $_POST['number'];
echo "Number = ". $_SESSION['number'];
?> 

I have the echo "Number = " in there just to test and make sure the variable is being set, but it still seems to be coming back blank.

I am really confussed. Thank you for your help :-)

A: 

session_register is deprecated so no need to use it.

just

<?php 
session_start();
$_SESSION['number'] = $_POST['number'];
echo "Number = ". $_SESSION['number'];
?>

should do the trick.

also your form action is messed up:

<form action="process.php" method"post">

should be

<form action="process.php" method="post">

Ross
A: 

method"post" should be method="post". This is why it sends as a GET request, therefore $_POST['number'] will be undefined.

And yes, do not use session_register().

Archimedix
+1  A: 

You are missing = in here:

method"post"

Should be:

method="post"

Note

You have a couple of more problems:

The id should always be unique per element per page

<input type="radio" name="number" id="number1" value="1" /> 1 
<input type="radio" name="number" id="number2" value="2" /> 2 
<input type="radio" name="number" id="number3" value="3" /> 3 <br />

Avoid using session_register function because it is deprecated, eg remove below line:

session_register ("number");
Sarfraz