Here is a simple form file that needs to pass a variable - $hello - from
the form to a new function. Unfortunately, it doesn't. When you click
the submit button, the URL looks like this:
http://localhost/test5.php?action=1&hello=
It should have the variable there after the "hello="
I suspect it's something to do with parent.location. Looking for a
solution. Here's the script:
<head>
</head>
<body bgcolor=white>
<?
define(INITIAL_PAGE,0);
define(SELECT,1);
function initial_page(){
global $PHP_SELF,$hello;
print "<form action = '$PHP_SELF?action=1' method = 'post'
name = 'hello'>";
print "<input type='text' name='hello'>";
print "<input name = 'hello' type='button' value='Submit'
onClick=\"parent.location='$PHP_SELF?action=1&hello=$hello'\">";
print "</form>";
}
function select(){
global $hello;
print "Hellooooooooooo, $hello!";
}
initial_page();
switch($action){
case INITIAL_PAGE:
initial_page;
break;
case SELECT:
select();
break;
default:
die ("Hello, can't find that function.");
}
?>
</body>
</html>
The thing is that if you simply hit "enter" - rather than click the
"submit" button, the first directive in the <form> tag is invoked, and
the value of the $hello variable IS passed.
regards
Martin Cameron