Kevin Johnson
Kevin Johnson

Reputation: 107

Setting Session Variable from Form

Is it 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 confused. Thank you for your help :-)

Upvotes: 2

Views: 11540

Answers (3)

Sarfraz
Sarfraz

Reputation: 382666

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");

Upvotes: 4

Arc
Arc

Reputation: 11286

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().

Upvotes: 0

Ross
Ross

Reputation: 17967

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">

Upvotes: 1

Related Questions