$title = $_POST[‘Submit’] . “ “ .
$_POST[‘type’] . “ : “ .
$_POST[‘Name’];
?>
<html>
<head>
<title><?php echo $title; ?></title>
</head>
<body>
<?php
Có thể bạn quan tâm!
- Cơ sở dữ liệu APACHE, PHP, MYSQL - 12
- Những Thành Phần Của Form: Cho
- Cơ sở dữ liệu APACHE, PHP, MYSQL - 14
- Cơ sở dữ liệu APACHE, PHP, MYSQL - 16
- Cho Phép Người Sử Dụng Soạn
- Chèn Một Mẩu Tin Trong Cơ Sở Dữ Liệu Quan Hệ
Xem toàn bộ 258 trang tài liệu này.
if ($_POST[‘Debug’] == “on”) {
?>
<pre>
<?php
print_r($_POST);
?>
</pre>
<?php
}
$name = $_POST[‘Name’];
$name[0] = strtoupper($name[0]); if ($_POST[‘type’] == “Movie”)
{
$foo = $_POST[‘MovieType’] . “ “ . $_POST[‘type’];
} else
{
$foo = $_POST[‘type’];
}
?>
<p align=”center”>
You are <?php echo $_POST[‘Submit’]; ?>ing
</p>
<?php echo $_POST[‘Submit’] == “Search” ? “for “ : “”; ?> a <?php echo $foo ?>
named “<?php echo $name; ?>”
</body>
</html>
3. Mở http://localhost/form3.php. Kết quả như Hình 5.2.2.1
Chú ý ở
4. Nhập
Hinh 5.2.2.1
đây có 2 nút Search và nút Add
Kevin Kline trong trường Name.
5. Chọn loại film.
6. Xóa hiển thị Debug Dump checkbox nếu bạn thích; sau đó nhấn nút Search .Kết quả như sau:
Hình 5.2.2.2
7. Bây giờ hãy thử thay đổi dữ liệu xem kết quả thế nào Cách thức hoạt động
Bạn viết mã lệnh một form đơn giản với hai hoạt động. Phụ thuộc vào nút
bạn nhấn và dữ liệu bạn chọn để enter, mã này xuất ra những thông tin khác nhau.
Một nhóm những nút radio và nút submit được thêm vào. Chúng ta hãy nhìn
vào hình Hình 5.2.2.1
5.2.3. Những phần tử nhập nút Radio
Nút radio là phần tử rất đơn giản. Bằng việc mặc định, nếu không có nút radio đặc biệt như CHECKED thì không có việc chọn mặc định. Nên nhớ, việc chọn giá trị mặc định là phần quan trọng của việc thiết lập form.
Người sử dụng thường để mặc định.
<input type=”radio” name=”type” value=”Movie” checked> Movie<br>
<input type=”radio” name=”type” value=”Actor”> Actor<br>
<input type=”radio” name=”type” value=”Director”> Director<br>
Cho nhiều nút radio phức tạp để liên kết các nhóm form với nhau và để xử lý
một phần tử form đơn giản, chúng cần tên như nhau và những giá trị khác nhau, một cách hoàn toàn rõ ràng. Trong đoạn mã có trước, tên luôn là chữ in. Điều này nói với trình duyệt web rằng chỉ có một nút được chọn.
5.2.4. Những nút submit phức tạp
Như với nút radio, nút submit cũng có tên giống nhau với giá trị khác nhau.
Nhấn vào một trong những nút đơn giản.
<input type=”submit” name=”Submit” value=”Search”>
<input type=”submit” name=”Submit” value=”Add”>
Khi bạn thấy biên dịch trở ngại, nút submit gởi thông tin đến tập lệnh. Bạn có thể cập nhật giá trị nút submit thông qua mảng $_POST[‘Submit’].
5.2.5. Việc kiểm tra nhập cơ bản
Tập lệnh xử lý là gì? Có gì mới?
Đoạn mã dưới đây kiểm tra loại mục là Movie, nó kiểm tra người sử dụng
đã chọn một loại giá trị movie từ danh sách chưa. Nếu có hoặc không, anh ta hoặc cô ta được gởi một địa chỉ mới đến trang form.
Việc kiểm tra đơn giản nếu với một và toán tử. (Trong cách nói đơn giản Monopoly, nếu loại mục là movie và không đặc biệt, bạn trở lại một hình vuông và không thu được $200.)
if ($_POST[‘type’] == “Movie” && $_POST[‘MovieType’] == “”)
{
header(“Location:form3.php”);
}
Phần đầu hàm cho phép bạn gởi đến phần đầu HTTP thô. Nó thì hữu ích cho vấn đề bảo mật địa chỉ và hạn chế cập nhật. Trong ví dụ này, nó gửi một địa chỉ người dùng mới đến trang lý thuyết.
Chú ý: Một lỗi chung với người bắt đầu sử dụng PHP là hiểu sai một sự thật rất đơn giản. Một lần gửi những phần đầu không thể gửi một lần nữa. Điều này có nghĩa là bất kì việc xuất nào, bất kì khoảng trắng nào, bất kì sự trình bày bảng nào đúng, trước khi gọi phần đầu hàm nó sẽ sinh ra một cảnh báo trong việc thực thi tập lệnh. Ở đây là một vài kiểu lỗi:
<?php
header(“Location:form3.php”);
?>
Đoạn mã này sẽ thất bại. Dòng bắt đầu tập lệnh rỗng sẽ gửi đến phần đầu với một điều khiển trả về và một đường vận chuyển (phụ thuộc vào hệ điều hành).
<?php
echo “foobar”; header(“Location:form3.php”);
?>
Đoạn mã này sẽ thất bại. Hàm xuất ra sẽ gửi phần đầu với text “foobar”
5.2.6. Tiêu đề trang động
Mã này thì dễ hiểu hơn: Bạn không bắt đầu xuất ra sớm như bắt đầu thực thi tập lệnh PHP. Điều gì sẽ xảy ra khi điểm bắt đầu tập lệnh sẽ kiểm tra sự xâm nhập và kiểm tra ngữ cảnh. Trong ví dụ này, bạn không sắp xếp mã ngữ cảnh phức tạp, nhưng bạn cần đặt tiêu đề trang động sử dụng kiểu action và kiểu item, bạn sẽ sử dụng handle của trang.
$title = $_POST[‘Submit’] . “ “ .
$_POST[‘type’] . “ : “ .
$_POST[‘Name’];
?>
<html>
<head>
<title><?php echo $title; ?></title>
5.2.7. Điều khiển một chuỗi bằng tay như một mảng để đổi ký tự đầu tiên
Chuỗi ký tự đơn giản có thể cập nhật thông qua cú pháp đơn giản giống như
việc cập nhật chỉ mục của mảng. Chỉ mục đặc biệt của ký tự muốn cập nhật và voilà! Để đổi một ký tự hoặc toàn bộ chuỗi, sử dụng hàm: strtoupper():
$name = $_POST[‘Name’];
$name[0] = strtoupper( $name[0]); Bạn có thể dùng hàm ucfirst()
5.2.8. Toán tử tam nguyên
Dòng dưới đây chứa sự so sánh phép toán bậc ba. Toán tử tam nguyên không chỉ sử dụng trong PHP mà những ngôn ngữ khác cũng sử dụng (như C).
<?php echo $_POST[‘Submit’] == “Search” ? “for “ : “”; ?> Việc này có thể so sánh như cấu trúc if-else,
[biểu thức]?[thực hiện nếu TRUE]: [thực hiện nếu FALSE];
Toán tử tam nguyên này thì được biết như mối nguy hiểm lâu dài. Việc sử
dụng nó sẽ làm cho đoạn mã của bạn dễ đọc hơn và có thể gây ra lỗi trong thời gian dài.
5.3. Kết hợp những phần tử của form
Bây giờ chúng ta tạo ra một khung cho một phim ứng dụng. Hệ thống sẽ thêm những mục mới hoặc tìm kiếm những cái có sẵn.
Ví dụ: Liên kết tất cả chúng lại với nhau
Trong ví dụ này, bạn sẽ tạo ra nhiều tập lệnh mới làm việc với nhau để tái tạo cho phép người dùng thêm thông tin vào dữ liệu.
1. Tạo một file tên form4.php Nhập đoạn code như sau:
<?php
// Hiển thị thông tin biên dịch function debugDisplay()
{
?>
<pre>
$_POST
<?php print_r($_POST);
?>
$_GET
<?php print_r($_GET);
?>
</pre>
<?php
}
if (!isset($_GET[‘step’]))
{
require(‘startform.php’);
}
else
{
// Switch on search/add wizard step switch ($_GET[‘step’])
{
// #################
// Search/Add form
// #################
case “1”:
$type = explode(“:”, $_POST[‘type’]); if ($_POST[‘Submit’] == “Add”)
{
require($_POST[‘Submit’] . $type[0] . ‘.php’);
} else
{
if ($_POST[‘type’] == “Movie:Movie” &&
$_POST[‘MovieType’] == “”)
{
header(“Location:form4.php”);
}
?>
<h1>Search Results</h1>
<p>You are looking for a “<?php echo $type[1]; ?>” named
“<?php echo $_POST[‘Name’]; ?>”</p>
<?php
}
if ($_POST[‘Debug’] == “on”)
{
debugDisplay();
}
break;
// #################
// Add Summary
// #################
case “2”:
$type = explode(“:”, $_POST[‘type’]);
?>
<h1>New <?php echo $type[1]; ?> : <?php echo
$_POST[‘Name’]; ?></h1>
<?php
switch ($type[0])
{
case “Movie”:
?>
<p>Released in <?php echo $_POST[‘MovieYear’]; ?
></p>
<p><?php echo nl2br(stripslashes($_POST[‘Desc’])); ?
></p>
<?php break; default:
?>
<h2>Quick Bio</h2>
<p><?php echo nl2br(stripslashes($_POST[‘Bio’])); ?
></p>
<?php break;
}
break;
// ###############