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

Chia sẻ: Yukogaru | Ngày: | Loại File: PDF | Số trang:8

0
62
lượt xem
44
download

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

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Chương 8 : NGƯỜI DÙNG NHẬP CÓ HIỆU LỰC Quên điều gì ( tiếp theo) 2. Lưu file với tên movie.php và đưa đoạn mã mới vào thư mục làm việc của bạn 3. Mở tập lệnh commit.php và chỉnh sửa như những dòng hướng dẫn sau:

Chủ đề:
Lưu

Nội dung Text: Lập trình web với PHP - p34

  1. Chương 8 : NGƯỜI DÙNG NHẬP CÓ HIỆU 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 Quên đi u g i h 2. Lưu file với tên movie.php và đưa đoạn mã mới vào thư mục làm việc của bạn 3. Mở tập lệnh commit.php và chỉnh sửa như những dòng hướng dẫn sau:
  2. { case “people”: $sql = “UPDATE people SET “ . “people_fullname = „“ . $_POST[„people_fullname‟] . “„ WHERE people_id = „“ . $_GET[„id‟] . “„“; break; case “movie”: $movie_name = trim($_POST[„movie_name‟]); if (empty($movie_name)) { $error .= “Please+enter+a+movie+name%21%0D%0A”; } if (empty($_POST[„movie_type‟])) { $error .= “Please+select+a+movie+type%21%0D%0A”; } if (empty($_POST[„movie_year‟])) { $error .= “Please+select+a+movie+year%21%0D%0A”; } if (empty($error)) { $sql = “UPDATE movie SET “ . “movie_name = „“ . $_POST[„movie_name‟] . “„,” .
  3. “movie_year = „“ . $_POST[„movie_year‟] . “„,” . “movie_type = „“ . $_POST[„movie_type‟] . “„,” . “movie_leadactor = „“ . $_POST[„movie_leadactor‟] . “„,” . “movie_director = „“ . $_POST[„movie_director‟] . “„ “ . “WHERE movie_id = „“.$_GET[„id‟].”‟”; } else { header(“location:movie.php?action=edit&error =” . $error . “&id=” . $_GET[„id‟] ); } break; } break; case “add”: switch ($_GET[„type‟]) { case “people”: $sql = “INSERT INTO people (people_fullname) “ . “VALUES („“ . $_POST[„people_fullname‟] . “„)”; break; case “movie”: $movie_name = trim($_POST[„movie_name‟]); if (empty($movie_name)) { $error .=
  4. “Please+enter+a+movie+name%21%0D%0A”; } if (empty($_POST[„movie_type‟])) { $error .= “Please+select+a+movie+type%21%0D%0A”; } if (empty($_POST[„movie_year‟])) { $error .= “Please+select+a+movie+year%21%0D%0A”; } if (empty($error)) { $sql = “INSERT INTO movie (movie_name,movie_year,” . “movie_type,movie_leadactor,movie_director) “. “VALUES („“ . $_POST[„movie_name‟] . “„,” . “„“ . $_POST[„movie_year‟] . “„,” . “„“ . $_POST[„movie_type‟] . “„,” . “„“ . $_POST[„movie_leadactor‟] . “„,” . “„“ . $_POST[„movie_director‟] . “„)”; } else { header(“location:movie.php?action=add&error= ” . $error); } break; }
  5. break; } if (isset($sql) && !empty($sql)) { echo “”; $result = mysql_query($sql) or die(“Invalid query: “ . mysql_error()); ?> Done. Index 4. Lưu với tên commit.php và đưa lên server 5. Mở trình soạn thảo và vào trang http://localhost/chapter8/index.php và thêm vào một 19 1H movie không tên, như H nh 8.3. H nh 8.3 6. Nhập vào một movie mới mà không đặt năm và kiểu movie( Như H nh 8.4)
  6. H nh 8.4 7. Soạn thảo một movie từ chỉ số và xóa form tên, submit( Như H nh 8.5) H nh 8.5 8. Chú ý thông báo lỗi trong việc điền form( Như H nh 8.6) H nh 8.6 Cách thức hoạt động
  7. Khi form chuyển thông tin đến tập lệnh, dữ liệu sẽ được xác nhận. Bạn sử dụng một phương pháp đơn giản: hàm empty() trả về true nếu chuỗi rỗng, trả về false nếu không. Để đảm bảo rằng người dùng không trình bày form với một không gian đơn giản trong vùng tên movie, bạn dùng trim() trong nội dung của vùng để loại trừ bất kỳ dẫn đến nào hoặc kéo dài chuỗi( một vài người làm cho công việc trở nên khó khăn). Cùng lúc đó mà có lỗi được phát hiện thì bạn đưa ra thông báo lỗi, dùng biến $error( tập hợp tất cả các lỗi) if (empty($movie_name)) { $error = “Please+enter+a+movie+name%21%0D%0A”; } Một lần nữa bạn thấy rằng có một lỗi xuất hiện, bạn gởi đến người dùng một thông báo lỗi. Thông báo lỗi được URL mã hóa để đảm bảo nó được chuyển đến tập lệnh move.php mà không bị hỏng if (empty($error)) { ... } else { header(“location:movie.php?action=add&error=” . $error); } Một lần gởi đến form, hệ thống cần hiển thị giải mã thông báo lỗi
  8. “”; } ?> Điều này trình bày thông báo quá màu mè mà người dùng sẽ không nhớ. Chính sự cập nhật được thực hiện vào lúc cuối của đoạn mã, cùng với tất cả các điều khiển và đưa ra thông báo bạn cần if (isset($sql) && !empty($sql)) { echo “”; $result = mysql_query($sql) or die(“Invalid query: “ . mysql_error()); ?> Done. Index
Đồng bộ tài khoản