Bạn cần hai form khác nhau để thêm vào mục con, vì thế cần nhánh thứ hai để quyết định form hiển thị.
Bây giờ chúng ta gặp phải một phần lệnh mà có một ít mưu mẹo. Danh sách giá trị mục con sử dụng lưu trữ 2 giá trị thay vì một. Cách này dùng dấu phân cách và đưa giá trị explode vào mảng, cập nhật phần bạn cần.(Hàm explode() lấy mỗi đơn vị văn bản bằng dấu ngăn cách và chèn nó như phần tử mới của mảng.
Trong trường hợp bạn có 3 kiểu mục(Actors, Directors, and Movies), mỗi kiểu yêu cầu một form. Nhưng bạn muốn mục Actor và mục Director cùng thông tin .
Do đó, bạn không cần hai form khác nhau. Bạn làm điều này bằng việc thêm vào một cấu trúc cây bên trên mục Person hay Movie. Dưới Person là Actor và Director . Toàn bộ điểm có thể sử dụng mức độ tên của hệ đẳng cấp mới đến tên file và bạn có thể thêm một mức độ mới su đó
Trong startform.php bạn có:
<input type=”radio” name=”type” value=”Person:Actor”> Actor<br>
Chú ý: phần giá trị của kiểu phần tử bao gồm 2 giá trị khác nhau ngăn cách bởi dấu chấm phẩy(;).
Trong form4.php bạn có: ...
$type = explode(“:”, $_POST[‘type’]); if ($_POST[‘Submit’] == “Add”) {
require($_POST[‘Submit’] . $type[0] . ‘.php’); }
...
Trong tập lệnh này, bạn lấy lại giá trị kiểu phần tử sử dụng chỉ mục mảng $_POST[‘kiểu’] và sau đó sử dụng hàm explode() trên nội dung của nó.Hàm explode() thì khá dễ sử dụng. Nó cần chuỗi giới hạn đặc biệt và chuỗi chứa văn bản để explode.
Ví dụ, bạn có “Person:Actor” như giá trị để explode và dấu hai chấm (:) như giới hạn. Kết quả của biến $type sẽ là một mảng chứa một phần của chuỗi cắt tại dấu(;) trong ví dụ
Nếu bạn trình bày nó trong định dạng print_r, bạn có: Array
(
[0] => Person [1] => Actor )
Mục tiêu của tên file đơn giản được hoàn thành. Bạn có hai tập lệnh Add và một tên:
AddPerson.php and AddMovie.php.
require($_POST[‘Submit’] . $type[0] . ‘.php’); Dòng này tạo tên tự động.