?? fig19_07.pl
字號:
#!/perl/bin/perl
# Fig. 19.7: fig19_07.pl
# Guestbook program which filters HTML tags.
use warnings;
use strict;
use CGI qw( :standard );
print( header(), start_html( "Guestbook" ), h1( "Guestbook" ) );
if ( param() ) {
my $name = param( "name" );
my $email = param( "email" );
my $message = param( "message" );
if ( $name =~ /<.*>/ || $email =~ /<.*>/ ) {
print( h3( "HTML tags not allowed in Name or E-mail" ),
br(), "Please correct your entry and re-send", br(),
"To include the < or > symbols, use &gt or &lt.",
br() );
}
else {
print( h3( "Thank you for signing our guestbook!!!" ) );
# filter to remove HTML tags
print( $message =~
s/<([^>]*)>/( $1 eq "BR" || $1 eq "br" ) ?
"<$1>" : "\<$1\>"/ge );
open( FILE, ">>guestbook.log" ) or
die( "Cannot open guestbook" );
print( FILE "\n", hr(), "From: ",
a( { -href => "mailto:$email" }, $name ), br(), br(),
$message );
close( FILE );
}
}
open( FILE, "guestbook.log" ) or die( "Can't open guestbook" );
print while ( <FILE> );
close( FILE );
print( hr(), h4( "Please sign our guestbook:" ), start_form(),
"Name: ", textfield( -name => "name" ), br(),
"E-mail: ", textfield( -name => "email" ), br(),
"Enter your message:", br(),
textarea( -name => "message", -rows => 5, -columns => 50,
-wrap => 1 ), br(),
h4( "Warning: Filtering HTML tags except <br>" ),
br(), submit( -name => "Sign the Guestbook" ), end_form(),
end_html() );
###########################################################################
# (C) Copyright 2001 by Deitel & Associates, Inc. and Prentice Hall. #
# All Rights Reserved. #
# #
# DISCLAIMER: The authors and publisher of this book have used their #
# best efforts in preparing the book. These efforts include the #
# development, research, and testing of the theories and programs #
# to determine their effectiveness. The authors and publisher make #
# no warranty of any kind, expressed or implied, with regard to these #
# programs or to the documentation contained in these books. The authors #
# and publisher shall not be liable in any event for incidental or #
# consequential damages in connection with, or arising out of, the #
# furnishing, performance, or use of these programs. #
###########################################################################
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -