Form data passed to php if statement

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
2 replies · 10K views
Messages
4,663
Reaction score
36
Howdy, tonight I was playing around with trying to pass a value from a form field and use it for an "if" statement in php.
the html:
Code:
<HTML>
<HEAD>
<TITLE>Form Test</TITLE>
</HEAD>
<BODY>
<H1>Form Test</H1>

<form name="input" action="myscript.php" method="get">
Enter a 1 or a 2:
<input type="text" name="page_number_from_form">

<input type="submit" value="Submit">

</form>
</BODY>
</HTML>
myscript.php:
Code:
#!/usr/local/bin/php
<?php 
$page_number="";

if(isset($_GET["page_number_from_form"])) $page_number = $_GET["page_number_from_form"];

if($page_number="1")
{
	
	echo 'Number One.';

}
else if($page_number="2")
{

	echo 'Number Two.';
	
}
else
	echo 'No page number.';
?>

No matter what I type in (or don't type in) it always echos "Number One". Is there a way to pass an integer from the form field instead of text? Maybe a way to convert it?
Thanks!
 
on Phys.org
I don't know PHP, but it's the middle of the night, so here are two shots in the dark.

Can you use "==" rather than "=" for your "if($page_number="1")" comparisons?

To change type, google says there are two ways: http://www.php.net/manual/en/function.settype.php" (links have examples).

I don't know if this will help at all, but I figured it couldn't hurt too much. :biggrin: Good lucks.

Oh, now I think about it for a second, the first option makes sense. If "=" gets interpreted as variable assignment inside of the "if" test statement, you are setting "$page_number" to "1", which explains the behavior (to me). Anywho... bedtime.
 
Last edited by a moderator:
ah, geez. double equals again. you'd think I would learn after making that mistake in C++ about 800 times!
I knew it was going to be something embarrassingly simple.
Gracias, amiga!
And thanks for the casting links, too.