|
Home >> FAQs/Tutorials >> PHP Script Tutorials and Tips >> Index
PHP Script Tips - Processing Web Forms
By: FYICenter.com
Part:
1
2
3
4
5
6
7
8
(Continued from previous part...)
What Happens If an Expected Input Field Was Not Submitted?
Obviously, if an expected input field was not submitted, there will no entry in the $_REQUEST array
for that field. You may get an execution error, if you are not checking the existence of
the expected entries in $_REQUEST. For example, if you copy processing_forms.php to your
local Web server, and run your browser with http://localhost/processing_forms.php?name=Joe,
you will an error page like this:
You have submitted the following information:
Name = Joe
Comments =
Thank you!
PHP Notice: Undefined index:
comment in ...\processing_forms.php on line 3
How To Avoid the Undefined Index Error?
If you don't want your PHP page to give out errors as shown in the previous exercise,
you should consider checking all expected input fields in $_REQUEST with the isset() function
as shown in the example script below:
<?php
if (isset($_REQUEST['name'])) {
$name = $_REQUEST['name'];
} else {
$name = "";
}
if (isset($_REQUEST['comment'])) {
$comment = $_REQUEST['comment'];
} else {
$comment = "";
}
print("<html><pre>");
print("You have submitted the following information:\n");
print(" Name = $name\n");
print(" Comments = $comment\n");
print("Thank you!\n");
print("</pre></html>\n");
?>
How To List All Values of Submitted Fields?
If you want list all values of submitted fields, you can write a simple loop
to retrieve all entries in the $_REQUEST array. Below is an improved version of processing_forms.php
to list all submited input values:
<?php
print("<html><pre>");
$count = count($_REQUEST);
print("Number of values: $count\n");
foreach ($_REQUEST as $key=>$value) {
print(" $key = $value\n");
}
print("</pre></html>\n");
?>
If you test this with submit_comments.php on your Web server, you will get something like:
Number of values: 2
name = Fyi Center
comment = Good job.
What Are the Input Values of SELECT Tags?
SELECT tags are used in forms to provide dropdown lists. Entris in a dropdown list are defined
by OPTION tags, which can provide input values in two ways:
- Implicit value - Provided as <OPTION>input_value</OPTION>, where input_value will be used
as both the dropdown entry and the input value if this entry is selected.
- Explicit value - Provided as <OPTION VALUE=input_value>display_value</OPTION>, where
display_value will be used as the download entry, and input_value will be used as the input value
if this entry is selected.
The sample PHP script page below is a modified version of submit_comments.php that
has one SELECT tag named as "job" using implicit input values and another SELECT tag
named s "site" using explicit input values:
<?php
print("<html><form action=processing_forms.php method=post>");
print("<table><tr><td colspan=2>Please enter and submit your"
." comments about FYICenter.com:</td></tr>");
print("<tr><td>Your Name:</td>"
."<td><input type=text name=name></td></tr>\n");
print("<tr><td>Your Job Title:</td>"
."<td><select name=job>"
."<option>Developer</option>"
."<option>QA Engineer</option>"
."<option>DBA</option>"
."<option>Other</option>"
."</select></td></tr>\n");
print("<tr><td>Rate This Site:</td>"
."<td><select name=rate>"
."<option value=3>Good</option>"
."<option value=2>Average</option>"
."<option value=1>Poor</option>"
."</select></td></tr>\n");
print("<tr><td>Comments:</td>"
."<td><input type=text name=comment></td></tr>\n");
print("<tr><td colspan=2><input type=submit><td></tr></table>\n");
print("</form></html>\n");
?>
(Continued on next part...)
Part:
1
2
3
4
5
6
7
8
|