Tải bản đầy đủ (.pdf) (5 trang)

PHP 5/MySQL Programming- P20 pptx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (125.05 KB, 5 trang )

<body>
<h1>Hi User</h1>
<?
if (empty($userName)){
print <<<HERE
<form>
Please enter your name:
<input type = “text”
name = “userName”><br>
<input type = “submit”>
</form>
HERE;
} else {
print “<h3>Hi there, $userName!</h3>”;
} //end
?>
</body>
</html>
This program begins by looking for the existence of a variable called $userName.
There is no
$userName variable the first time the program is called, because the
program was not called from a form. The
empty() function returns the value true
if the specified variable is empty; it returns false if it has a value. If $userName does
not exist,
empty($userName) evaluates as true. The condition (empty($userName)) is
generally true if this is the first time this page has been called. If it’s true, the
program should generate a form so the user can enter her name. If the condition
is false, that means somehow the user has entered a name (presumably through
the form) so the program greets the user with that name.
The key idea here is that the program runs


more than once.
When the user first
links to
hiUser.php, the program creates a form. The user enters a value on the
form, and presses the
submit button. This causes exactly the same program to be
run again on the server. This time, though, the
$userName variable is
not
empty, so
rather than generating a form, the program uses the variable’s value in a greeting.
Server-side programming frequently works in this way. It isn’t uncommon for a
user to call the same program many times in succession as part of solving a par-
ticular problem. You often use branching structures such as the
if and switch
statements to direct the program flow based on the user’s current state of activity.
73
C
h
a
p
t
e
r
3
C
o
n
t
r

o
l
l
i
n
g
Y
o
u
r
C
o
d
e
w
i
t
h
C
o
n
d
i
t
i
o
n
s
a
n

d
F
u
n
c
t
i
o
n
s
Responding to Checkboxes
Now that you know how to use the if structure and the empty function, you can
work with checkboxes. Take a look at the following HTML code:
<html>
<head>
<title>Checkbox Demo</title>
</head>
<body>
<h1>Checkbox Demo</h1>
<h3>Demonstrates checkboxes</h3>
<form action =”checkDemo.php”>
<h3>What would you like with your order?</h3>
<ul>
<li><input type =”checkbox”
name =”chkFries”
value =”1.00”>Fries
</li>
<li><input type =”checkbox”
name =”chkSoda”
value =”.85”>Soda

</li>
<li><input type =”checkbox”
name =”chkShake”
value =”1.30”>Shake
</li>
<li><input type =”checkbox”
name =”chkKetchup”
value =”.05”>Ketchup
</li>
</ul>
<input type =”submit”>
</form>
</body>
</html>
74
P
H
P
5
/M
y
S
Q
L
P
r
o
g
r
a

m
m
i
n
g
f
o
r
t
h
e
A
b
s
o
l
u
t
e
B
e
g
i
n
n
e
r
75
C
h

a
p
t
e
r
3
C
o
n
t
r
o
l
l
i
n
g
Y
o
u
r
C
o
d
e
w
i
t
h
C

o
n
d
i
t
i
o
n
s
a
n
d
F
u
n
c
t
i
o
n
s
This code generates the printout shown in Figure 3.12.
When the user submits this form, it calls
checkDemo.php, which looks like Figure
3.13.
FIGURE 3.12
This page has
a series of
checkboxes.
FIGURE 3.13

Notice that
checkbox variables
have a value or
don’t exist.
Checkboxes are a little different from other form elements, which consistently
return a name/value pair. Checkboxes also have a name and a value, but the
checkbox variable is sent to the server only if the box has been checked. As an
example, compare Figures 3.12 and 3.13. You can see that only two of the check-
boxes were selected. These checkboxes report values. If a checkbox isn’t selected,
its name and value are not reported to the program.
Take a look at the code for the
checkDemo.php program to see how this works:
<html>
<head>
<title>Checkbox Demo</title>
</head>
<body>
<h3>Demonstrates reading checkboxes</h3>
<?
print <<<HERE
chkFries: $chkFries <br>
chkSoda: $chkSoda <br>
chkShake: $chkShake <br>
chkKetchup: $chkKetchup <br>
<hr>
HERE;
$total = 0;
if (!empty($chkFries)){
print (“You chose Fries <br> \n”);
$total = $total + $chkFries;

} // end if
if (!empty($chkSoda)){
print (“You chose Soda <br> \n”);
$total = $total + $chkSoda;
} // end if
if (!empty($chkShake)){
76
P
H
P
5
/M
y
S
Q
L
P
r
o
g
r
a
m
m
i
n
g
f
o
r

t
h
e
A
b
s
o
l
u
t
e
B
e
g
i
n
n
e
r
77
C
h
a
p
t
e
r
3
C
o

n
t
r
o
l
l
i
n
g
Y
o
u
r
C
o
d
e
w
i
t
h
C
o
n
d
i
t
i
o
n

s
a
n
d
F
u
n
c
t
i
o
n
s
print (“You chose Shake <br> \n”);
$total = $total + $chkShake;
} // end if
if (!empty($chkKetchup)){
print (“You chose Ketchup <br> \n”);
$total = $total + $chkKetchup;
} // end if
print “The total cost is \$$total \n”;
?>
</body>
</html>
The first part of the program simply prints out the expected variables. As you can
see, if the checkbox has not been selected, the associated variable is never created.
You can use the
empty() function to determine if a checkbox has been checked. If
the variable is empty, the corresponding checkbox was not checked. I used the
negation operator (

!) to check for the existence of a variable. The condition
(!empty($chkFries)) is true if chkFries was selected, and false otherwise. I tallied
the values associated with all the selected checkboxes to get a grand total.
Using Functions to Encapsulate
Parts of the Program
It hasn’t taken long for your programs to get complex. As soon as the code gets a
little bit larger than a screen in your editor, it gets much harder to track. Pro-
grammers like to break up code into smaller segments called
functions
to help
keep everything straight. A function is like a miniature program. It is designed
to do one job well. Look at Figure 3.14 for an example.
Examining the This Old Man Program
Song lyrics often have a very repetitive nature. The “This Old Man” song shown
in Figure 3.14 is a good example. Each verse is different, but the chorus is always
the same. You write each verse when you write the lyrics to such a song, but only
write the chorus once. After that, you simply write “chorus.” This works very
much like functions in programming language. The code for the
This Old Man
program illustrates:

×