<?php if(!isset($bien_bao_mat)){exit();} ?> <form action="" method="post"> <table width="990px" > <tr> <td colspan="2" ><b style="color:blue;font-size:20px" >Thêm menu dọc</b><br><br> </td> </tr> <tr> <td width="150px" >Tên : </td> <td width="840px"> <input style="width:400px;margin-top:3px;margin-bottom:3px;" name="ten" value="" > </td> </tr> <tr> <td> </td> <td> <br> <input type="submit" name="bieu_mau_them_menu_doc" value="Thêm menu" style="width:200px;height:50px;font-size:24px" > </td> </tr> </table> </form> |
- Bạn xem giải thích code (phần chữ xanh) của file 'them_menu_doc.php' ở phía dưới
<?php if(!isset($bien_bao_mat)){exit();} // xuất ra trang trắng nếu truy cập trực tiếp vào file này ?> <form action="" method="post"> // tạo biểu mẫu với phương thức là post (thuộc tính method) <table width="990px" > <tr> <td colspan="2" ><b style="color:blue;font-size:20px" >Thêm menu dọc</b><br><br> </td> // xuất tiêu đề màu xanh và kích cỡ chữ 20px </tr> <tr> <td width="150px" >Tên : </td> <td width="840px"> <input style="width:400px;margin-top:3px;margin-bottom:3px;" name="ten" value="" > // xuất khung nhập liệu tên ; khung này cách trên cách dưới 3px (margin-top,margin-bottom) và rộng 400px (width) // lưu ý khung này có name là 'ten' => khi lấy dữ liệu từ khung này bằng mã php thì viết là $_POST['ten'] // (biểu mẫu hiện tại dùng phương thức post (thuộc tính method) nên khi lấy dữ liệu thì dùng $_POST ) </td> </tr> <tr> <td> </td> <td> <br> <input type="submit" name="bieu_mau_them_menu_doc" value="Thêm menu" style="width:200px;height:50px;font-size:24px" > // tạo nút gửi biểu mẫu thêm menu dọc với name là 'bieu_mau_them_menu_doc' // trong file 'xu_ly_post_get.php' sẽ dùng phần name này // để xác định biểu mẫu có được gửi hay không ( isset($_POST['bieu_mau_them_menu_doc']) ) // định dạng css của nút này (thuộc tính style) là : rộng 200px , cao 50px , kích cỡ chữ 24px </td> </tr> </table> </form> |
- Mình đăng nhập quản trị rồi bấm vào liên kết 'Thêm menu dọc' thì nhận được kết quả sau :
- Khi mình bấm vào liên kết thêm menu dọc (ở file 'trang_chu_2.php' ) => web sẽ đến trang ?thamso=them_menu_doc , web sẽ tải file 'dieu_huong.php' và gọi file 'them_menu_doc.php' bằng đoạn code sau :
case "them_menu_doc": include("chuc_nang/menu_doc/them_menu_doc.php"); break; |
- Từ đó sẽ xuất ra biểu mẫu thêm menu dọc
- Tiếp theo là làm tiếp phần thêm menu dọc vào bảng 'menu_doc'.Bạn tạo file 'them_menu_doc_vao_csdl.php' trong thư mục 'menu_doc' với nội dung sau :
<?php if(!isset($bien_bao_mat)){exit();} ?> <?php $ten_menu=trim($_POST['ten']); $ten_menu=str_replace("'","'",$ten_menu); if($ten_menu!="") { $tv=" INSERT INTO menu_doc ( id , ten ) VALUES ( NULL , '$ten_menu' );"; mysql_query($tv); } else { thong_bao_html("Tên menu chưa được điền vào"); } ?> |
- Bạn xem giải thích code (phần chữ xanh) của file 'them_menu_doc_vao_csdl.php' ở phần bên dưới :
<?php if(!isset($bien_bao_mat)){exit();} // xuất ra trang trắng nếu truy cập trực tiếp vào file này ?> <?php // dùng $_POST để lấy giá trị của biểu mẫu thêm menu dọc được gửi $ten_menu=trim($_POST['ten']); // lấy tên menu ngang gán vào biến $ten_menu và loại bỏ khoảng trống ở 2 bên trái phải của tên menu $ten_menu=str_replace("'","'",$ten_menu); // thay thế dấu ' thành ' (cách viết này cũng hiển thị ra dấu ' ) // làm như vậy để tránh gây ra lỗi sql khi thêm dữ liệu , với cách viết câu truy vấn thêm dữ liệu như bên dưới thì sẽ xảy ra lỗi // khi thêm dữ liệu mà tên menu có dấu ' nên cần có sự thay thế này if($ten_menu!="") // đây là trường hợp tên menu được điền vào , lúc này biến $ten_menu sẽ khác rỗng { $tv=" INSERT INTO menu_doc ( // câu truy vấn thêm dữ liệu thì dùng lệnh insert into , bảng menu_doc sẽ được thêm dữ liệu id , // tên cột 'id' ten // tên cột 'ten' ) VALUES ( NULL , // id sẽ được tăng tự động '$ten_menu' // gán biến $ten_menu vào cột 'ten' );"; mysql_query($tv); // gửi câu truy vấn vào mysql bằng lệnh mysql_query } else { // trường hợp không điền tên menu thong_bao_html("Tên menu chưa được điền vào"); // xuất ra thông báo "Tên menu chưa được điền vào" } ?> |
- Sau đó mình thêm dữ liệu thì đã thấy đã thêm được dữ liệu (mình thêm Menu 9 ) , kết quả mình nhận được :
- Khi mình không điền tên menu thì sẽ nhận được thông báo "Tên menu chưa được điền vào"
- Khi bạn thực hiện gửi biểu mẫu thêm menu dọc thì web sẽ chạy file 'xu_ly_post_get.php' , lúc này sẽ tồn tại biến $_POST['bieu_mau_them_menu_doc'] , từ đó file 'xu_ly_post_get.php' sẽ gọi file 'them_menu_doc_vao_csdl.php' ( để xử lý thêm dữ liệu menu dọc ) bằng đoạn code sau :
if(isset($_POST['bieu_mau_them_menu_doc'])) { include("chuc_nang/menu_doc/them_menu_doc_vao_csdl.php"); trang_truoc_html(); } |
- File 'them_menu_doc_vao_csdl.php' sẽ thực hiện thêm dữ liệu vào bảng 'menu_doc' bằng lệnh insert nếu như tên menu được điền vào