NGAY HÀNG THẲNG LỐI
Để làm cho các ô nhập liệu và phần mô tả các ô này trong tệp EZMAIL.HTM gióng thẳng hàng với nhau, cách hiệu quả nhất là đưa chúng vào bảng. Ta hãy sử dụng thẻ <table> cùng các thẻ đi kèm <tr>, <td> để làm việc này.
Your Name: | |
Your Email: | |
Subject: | |
Message | |
|
Trong FrontPage, bạn chỉ việc nhấn chuột vào nút để tạo ra một bảng gồm 2 cột, 5 hàng, sau đó kéo từng phần tử của form vào ô tương ứng. Mã HTML của đoạn này sẽ như sau:
<TABLE BORDER="0"
CELLSPACING="1" WIDTH="100%">
<TR>
<TD WIDTH="17%">Your Name:</TD>
<TD WIDTH="83%"> <INPUT NAME="SenderName" TYPE="text" SIZE="35"></TD> </TR>
<TR>
<TD WIDTH="17%">Your Email: </TD>
<TD WIDTH="83%"> <INPUT NAME="SenderEmail" TYPE="text" SIZE="35"></TD> </TR>
<TR>
<TD WIDTH="17%">Subject: </TD>
<TD WIDTH="83%"> <INPUT NAME="Subject" TYPE="text" SIZE="35"></TD> </TR>
<TR>
<TD WIDTH="17%">Message</TD>
<TD WIDTH="83%"><TEXTAREA NAME="Message" ROWS="5" COLS="40"></TEXTAREA></TD>
</TR>
<TD WIDTH="17%"> </TD><TD WIDTH="83%"> <INPUT TYPE="Submit" VALUE="Send">
<INPUT TYPE="Reset"></TD></TR>
</TABLE>
TÔ MÀU CHO FORMBạn có thể tô màu cho cả form bằng việc thay đổi thuộc tính BGCOLOR của thẻ <table>.
<TABLE BORDER="0" CELLSPACING="1" WIDTH="100%" BGCOLOR="#CDFFBA">
Còn nếu muốn tô màu cho từng ô nhập liệu thì điều chỉnh thẻ <input> như sau:
<INPUT NAME="SenderName" TYPE="text" SIZE="35" STYLE="background: #FFCC99;">
LÀM CHO FORM THÊM ĐA DẠNG
Bạn có thể bổ sung thêm các thành phần để cho form được đa dạng và đáp ứng yêucầu thu thập thông tin từ người dùng. Thành phần đầu tiên bạn có thể thêm vào lànút radio. Nút này thể hiện một loạt những lựa chọn và người dùng chỉ có thểchọn một trong các lựa chọn đó. Ví dụ bạn muốn biết người dùng đánh giá thế nàovề website của mình, bạn có thể tạo một nút radio gồm 3 lựa chọn Tốt, Khá, Trungbình. Lưu ý là thuộc tính NAME trong cả 3 thẻ <INPUT> này phải giống nhau:How do you rate this website?
<INPUT TYPE=RADIO NAME="Rating" VALUE="Good" CHECKED>Good
<INPUT TYPE=RADIO NAME="Rating" VALUE="Average">Average
<INPUT TYPE=RADIO NAME="Rating" VALUE="Bad">Bad
<INPUT TYPE=CHECKBOX NAME="Gender" VALUE="Male" CHECKED>Male?
Nếu muốn tạo ra một danh sách nhiều lựa chọnhơn, bạn phải dùng đến hộp combo. Hộp này được tạo bởi cặp thẻ <SELECT></SELECT> và ở giữa là số lượng tùy ý các thẻ <OPTION> để mô tả các lựa chọn. Vídụ bạn muốn biết độ tuổi của người gửi thông tin cho bạn:<SELECT NAME="Age">
<OPTION VALUE="Under 20" SELECTED>Under 20
<OPTION VALUE="20 - 30">20 - 30
<OPTION VALUE="30 - 40">30 - 40
<OPTION VALUE="Over 40">Over 40
</SELECT>
Ở tệp EZMAIL.PHP, bạn sẽ phải thêm một số dòng lệnh để thể hiện những thông tin thu thập được trong thông điệp của mình:
if (!$Gender)
$Gender = "Female";
$Message .= "\r\nWebsite rating: $Rating";
$Message .= "\r\n(About Sender: $SenderName, $Gender, $Age)";
2 TRONG 1
Trong thời đại của những cơm 5 trong 1 (cơm hộp), cà-phê 3 trong 1 thì liệu ta có thể nhập hai tệp EZMAIL.HTM và EZMAIL.PHP lại làm một được không? Câu trả lời là có. Và đây chính là điểm
mạnh cũng như tính uyển chuyển của PHP. Bạn chỉ việc kết hợp cả hai tệp lại với nhau, thêm một ít dòng lệnh nữa là xong. Dưới đây là toàn bộ mã của tệp EZMAIL-3.PHP, bao gồm cả một bảng đã tô màu, gióng thẳng hàng các thành phần trong form, bổ sung thêm một số thành phần mới và kết hợp cả phần hiển thị form (EZMAIL.HTM) lẫn phần xử lý form (EZMAIL.PHP).
<?php
/*###################################
# EZMail: powered by www.thanhhai.com ####################################
*/$RecipientEmail = "yourname@yourdomain.com";
$DefaultSubject = "Feedbackfrom My Website";$RedirectPage = "http://www.thanhhai.com";
$CcEmail ="cc@yourdomain.com";if (!$submit) {
?><HTML>
<HEAD><TITLE>gui mail: powered by www.thanhhai.com</TITLE>
<METAhttp-equiv="Content-Type" content="text/html; charset=UTF-8"></HEAD>
<BODY><FORM ACTION="<?php echo $PHP_SELF ?>" METHOD="POST">
<TABLE BORDER="0"CELLSPACING="1" WIDTH="100%" BGCOLOR="#CDFFBA"><TR>
<TD WIDTH="20%">YourName:</TD><TD WIDTH="80%"> <INPUT NAME="SenderName" TYPE="text" SIZE="35">
<INPUT TYPE=CHECKBOXNAME="Gender" VALUE="Male" CHECKED>Male?<SELECT NAME="Age">
<OPTION VALUE="20 - 30">20 - 30
<OPTION VALUE="30 - 40">30 - 40<OPTION VALUE="Over 40">Over 40
</SELECT></TD>
</TR><TR>
<TD WIDTH="20%">YourEmail: </TD><TD WIDTH="80%"> <INPUT NAME="SenderEmail" TYPE="text" SIZE="35"></TD>
</TR><TR>
<TD WIDTH="20%">Subject:</TD><TD WIDTH="80%"> <INPUT NAME="Subject" TYPE="text" SIZE="35"></TD>
</TR><TR>
<TD WIDTH="20%">Message</TD><TD WIDTH="80%"><TEXTAREA NAME="Message" ROWS="5" COLS="40"></TEXTAREA></TD>
</TR><TR>
<TD WIDTH="20%">How doyou rate this website?</TD><TD WIDTH="80%">
<INPUT TYPE=RADIO NAME="Rating" VALUE="Average">Average
<INPUT TYPE=RADIONAME="Rating" VALUE="Bad">Bad</TD>
</TR><TR>
<TD WIDTH="20%"></TD><TD WIDTH="80%">
<INPUT TYPE="Submit"NAME="submit" VALUE="Send"> <INPUT TYPE="Reset"></TD>
</TR></TABLE>
</FORM></BODY>
</HTML><?php
}else {
if ((!$SenderEmail) ||(!$Message)) {
echo ("Missing your email or message!");exit ();
}if (!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$", $SenderEmail))
{
exit ();
}if (!$Subject)
if (!$Gender)
$Message .= "\r\nWebsite rating: $Rating";
$Message .= "\r\n(AboutSender: $SenderName, $Gender, $Age)";$Headers .= "From: $SenderName <$SenderEmail>\r\nReply-To: $SenderEmail";
if ($CcEmail)$Headers .= "\r\nCc: $CcEmail";
mail ($RecipientEmail, $Subject, $Message, $Headers);if ($RedirectPage) {
header ("Location: $RedirectPage");} else {
echo "<CENTER><H1>Thank you for using EZ Mail</H1>";echo "<P>Powered by www.thanhhai.com</CENTER>";
}}
?>
No comments:
Post a Comment