Not understanding HTML form [message #169429] |
Sun, 12 September 2010 18:06 |
MikeB
Messages: 65 Registered: September 2010
Karma:
|
Member |
|
|
I have a question about form submission in PHP (Perhaps more a HTML
question, but then I don't know).
Please look at the attached sample code. It is a mish-mash of things,
but this is what I want to know:
When the form initially displays, since the "action" field from the
form is not set, the PHP code performs the "else" part of the PHP
code.
Then when I type something into the "action' field, the isset test
evaluates to true and the "if" portion is executed. However the value
of the action field is not carried over, since the form does not have
a "value" clause for that input field.
However, on a 3rd iteration, without typing anything into any field,
the isset still evaluates to true, although the $_POST variable for
"action' shows a null field. How can I then recognize that that field
is in fact not set? or is it set with nulls or what is going on here?
sample code:
<?php
$MAX_FILE_SIZE = 300;
$version = 8;
$_POST['MAX_FILE_SIZE'] = 600;
echo <<<_END
<html>
<head>
<title>PHP Variable test</title>
</head>
<body>
<form method='post' action='TestVar.php'>
<br/>Form version $version</br>
<br/>This value should be the same as the variable
($MAX_FILE_SIZE) sent from PHP:
<input type='text' name='MAX_FILE_SIZE'
value="{$_POST['MAX_FILE_SIZE']}"/>
<br/> Type "X" here to process the form: <input type='text'
name='action' />
<br/> Select File: <input type='file' name='filename' size='60' /
>
<input type='submit' value='Submit' />
</form>
_END;
if (isset($_POST['action'])) {
echo "<br/>Input received<br/> ";
echo "<br/> post variables</br/>";
print_r($_POST);
echo "<br/> Get variables follows<br/>";
print_r($_GET);
echo "<br/> My variable '$MAX_FILE_SIZE': $MAX_FILE_SIZE";
echo "<br/> Form variable '$MAX_FILE_SIZE':
{$_POST['MAX_FILE_SIZE']}";
echo "<br/>print-r of max-f-s<br/>";
print_r($MAX_FILE_SIZE);
echo "<br/>Vardump of max-f-s<br/>";
var_dump($MAX_FILE_SIZE);
} else {
echo "<br/>No input processed.<br/>";
echo "<br/> post variables</br/>";
print_r($_POST);
echo "<br/> Get variables follows<br/>";
print_r($_GET);
echo "<br/> My variable '$MAX_FILE_SIZE': $MAX_FILE_SIZE";
echo "<br/> Form variable '$MAX_FILE_SIZE':
{$_POST['MAX_FILE_SIZE']}";
echo "<br/>print-r of max-f-s<br/>";
print_r($MAX_FILE_SIZE);
echo "<br/>Vardump of mas-f-s<br/>";
var_dump($MAX_FILE_SIZE);
}
echo "</body></html>";
?>
|
|
|