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

Lập trình web với PHP - p35

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 (163.24 KB, 9 trang )

NGƯỜI DÙNG NHẬP CÓ HIỆU Chương 8 :
LỰC

Nếu bạn chấp nhận cho người dùng được nhập vào trang web, bạn phải chuẩn bị
gặp những lỗi. Có thể chỉ là lỗi đơn giản hoặc những lỗi ảnh hưởng trang web của bạn.
Lỗi chung nhất thường gặp là lỗi thuật in cơ bản, lỗi định dạng (ví dụ cho một năm trong
một ngày). Những lỗi như người dùng không cung cấp địa chỉ email, hoặc người dùng
xâm nhập vào cơ sở dữ liệu của bạn. Tập lệnh cần có phần điều khiển nhập, bằng việc
xác định dữ liệu xấu và trả về trang thông báo lỗi cho người dùng. Bao gồm:
Làm cho có hiệu lực những giá trị chuỗi đơn giản
Làm cho có hiệu lực những giá trị nguyên
Làm cho có hiệu lực văn bản nhập vào đã định dạng

Việc kiểm tra những kiểu lỗi

Việc kiểm tra lỗi ngày tháng hoặc những dữ liệu định dạng khác là một yêu cầu
cần thiết trong hệ thống bởi vì người dùng không phải lúc nào cũng được hướng dẫn nhập
dữ liệu. Bạn phải luôn kiểm tra dữ liệu mà người dùng nhập vào nếu bạn định dạng hoặc
thiết lập giá trị đặc biệt.
Tại điểm này, bạn cần những biểu thức chung, những biểu thức này cho phép bạn
định nghĩa một mẫu và kiểm tra xem có thể áp dụng vào dữ liệu hay không. Nó giúp bạn
kiểm tra ngày tháng, số bảo mật và bất kỳ một dữ liệu nào mà được chú ý việc định dạng
(nó giúp chắc chắn trong việc định dạng vùng nguồn.
Ví dụ về kiểm tra ngày tháng và số
Trong bài tập này bạn sẽ thay đổi vài trang để bạn kiểm tra việc định dạng ngày
tháng của người dùng.
1.Mở file movie.php và thay đổi nó như sau (thay đổi được làm nổi bật)

<?php
$link = mysql_connect(“localhost”, “bp5am”, “bp5ampass”)
or die(“Could not connect: “ . mysql_error());


mysql_select_db(„moviesite‟, $link)
or die(mysql_error());
$peoplesql = “SELECT * FROM people”;
$result = mysql_query($peoplesql)
or die(“Invalid query: “ . mysql_error());
while ($row = mysql_fetch_array($result))
{
$people[$row[„people_id‟]] = $row[„people_fullname‟];
}
switch ($_GET[„action‟])
{
case “edit”:
$moviesql = “SELECT * FROM movie “ .
“WHERE movie_id = „“ . $_GET[„id‟] . “„“;
$result = mysql_query($moviesql)
or die(“Invalid query: “ . mysql_error());
$row = mysql_fetch_array($result);
$movie_name = $row[„movie_name‟];
$movie_type = $row[„movie_type‟];
$movie_year = $row[„movie_year‟];
$movie_release = $row[„movie_release‟];
$movie_leadactor = $row[„movie_leadactor‟];
$movie_director = $row[„movie_director‟];
$movie_rating = $row[„movie_rating‟];
break;
default:
$movie_name = “”;
$movie_type = “”;
$movie_year = “”;
$movie_release = time();

$movie_leadactor = “”;
$movie_director = “”;
$movie_rating = “5”;
break;
}
?>
<html>
<head>
<title><?php echo $_GET[„action‟]; ?> movie</title>
<style type=”text/css”>
TD
{
color:#353535;font-family:verdana
}
TH
{
color:#FFFFFF;font-family:verdana;background-color:#336699
}
</style>
</head>
<body>
<form action=”commit.php?action=<?php
echo $_GET[„action‟]; ?>&type=movie&id=<?php
if (isset($_GET[„id‟]))
{
echo $_GET[„id‟];
}
?>” method=”post”>
<?php
if (!empty($_GET[„error‟]))

{
echo “<div align=\”center\” “ .
“style=\”color:#FFFFFF;background-color:#FF0000;” .
“font-weight:bold\”>” . nl2br(urldecode($_GET[„error‟])) .
“</div><br />”;
}
?>
<table border=”0” width=”750” cellspacing=”1”
cellpadding=”3” bgcolor=”#353535” align=”center”>
<tr>
<td bgcolor=”#FFFFFF” width=”30%”>Movie Name</td>
<td bgcolor=”#FFFFFF” width=”70%”>
<input type=”text” name=”movie_name”
value=”<?php echo $movie_name?>”>
</td>
</tr>
<tr>
<td bgcolor=”#FFFFFF”>Movie Type</td>
<td bgcolor=”#FFFFFF”>
<select id=”game” name=”movie_type” style=”width:150px”>
<option value=”” selected>Select a type...</option>
<?php
$sql = “SELECT movietype_id, movietype_label “ .
“FROM movietype ORDER BY movietype_label”;
$result = mysql_query($sql)
or die(“<font color=\”#FF0000\”>Query Error</font>” . mysql_error());
while ($row = mysql_fetch_array($result))
{
if ($row[„movietype_id‟] == $movie_type)
{

$selected = “ selected”;
}
else
{
$selected = “”;
}
echo „<option value=”‟ . $row[„movietype_id‟] . „“„ . $selected .
„>‟ . $row[„movietype_label‟] . “</option>\r\n”;
}
?>
</select>
</td>
</tr>
<tr>
<td bgcolor=”#FFFFFF”>Movie Year</td>
<td bgcolor=”#FFFFFF”>
<select name=”movie_year”>
<option value=”” selected>Select a year...</option>
<?php
for ($year=date(“Y”); $year >= 1970 ;$year--)
{
if ($year == $movie_year)
{

×