Ngu ngơ học làm web (92) - PDO – thêm thực đơn

Tiếp theo của: Ngu ngơ học làm web (91) - PDO - hiển thị dạng lưới
-----

Phần 92. PDO – thêm thực đơn


Để ý là mấy phần thực hành này đặt tên biến, tên tập tin, tên hàm, có vẻ lung tung quá. Tạm thời bỏ qua cái này để làm thực hành cho dễ, rồi sẽ chuẩn hóa lại khi làm việc chính thức. Vì thực tế không phải chỉ có một cách quy ước đặt tên.

Xem và làm theo clip số 18 của thầy Nguyễn Anh Tuấn:

Lưu lại các đoạn mã để tham khảo.

[thuvien.js]

function kiem_tra_thuc_don() {
            var ten_thuc_don = document.getElementById('th_ten_thuc_don');
            if(ten_thuc_don.value == ""){
                        alert('Nhập tên thực đơn');
                        ten_thuc_don.focus();
                        return false;
            }
            return true;
}

[default.css]

body { background: #ccc; }
h1 { text-align: center; color: #F00;  }
#main { width: 700px; margin: 0 auto; border: #f00 solid 1px; background: #fff; }
.khung { width: 680px; height: 200px; border-bottom: #999 solid 1px;  padding: 10px; }
.khung img { width: 250px; float: left; margin-right: 10px; }
[connection.php]
<?php
try
{
            //Khai báo đối tượng PDO
            $pdo = new PDO("mysql:host=localhost;dbname=ql_nha_hang","root","");
            //Xuất tiếng Việt
            $pdo->query("SET NAMES UTF8");
}
catch (PDOException $ex)
{
            die($ex->getMessage());
}
?>

[them_thuc_don.php]

<!DOCTYPE html>
<html lang="en">
<head>
            <meta charset="UTF-8">
            <title>Thêm thực đơn</title>
            <link rel="stylesheet" href="default.css">
            <script src="thuvien.js"></script>
</head>
<?php
            include("connection.php");
            $err = '';
            if(isset($_POST['th_luu'])){
                        //Lấy thông tin từ form gán vào các biến
                        $ma_thuc_don = NULL;
                        $ten_thuc_don = $_POST['th_ten_thuc_don'];
                        $don_gia = $_POST['th_don_gia'];
                        $don_gia_khuyen_mai = $_POST['th_don_gia_khuyen_mai'];
                        $noi_dung = $_POST['th_noi_dung'];
                        $hinh = $_FILES['th_hinh']['error'] == 0 ? $_FILES['th_hinh']['name'] : '';
                        //Tạo lệnh thêm dữ liệu vào CSDL
                        $sql = 'INSERT INTO thuc_don VALUES(?,?,?,?,?,?)';
                        //Khai báo mảng tham số
                        $param = array($ma_thuc_don,$ten_thuc_don,$don_gia,$don_gia_khuyen_mai,$noi_dung,$hinh);
                        $stmt = $pdo -> prepare($sql);
                        $kq = $stmt -> execute($param);
                        if($kq){
                                    $err = 'Thêm dữ liệu thành công!';
                                    //Di chuyển hình về thư mục chứa hình
                                    if($hinh !=''){
                                                $kt = move_uploaded_file($_FILES['th_hinh']['tmp_name'], "images/$hinh");
                                                if($kt){
                                                            $err .= 'upload hình thành công';
                                                }else{
                                                            $err .= 'upload hình không thành công';
                                                }
                                    }
                        }else{
                                    $err = 'Quá trình thêm dữ liệu không thành công!';
                        }
            }
?>
<body>
<h3 style="color:red"><?php echo $err; ?></h3>
<div id="main">
            <h1>Thực đơn mới</h1>
            <form action="them_thuc_don.php" name="ManHinhThemThucDon" method="POST" enctype="multipart/form-data">
            <table cellpadding="2px">
                        <tr>
                                    <td width="150px" bgcolor="B0D1EA">Tên thực đơn</td>
                                    <td colspan="3"><input type="text" name="th_ten_thuc_don" id="th_ten_thuc_don" style="width:300px" value=""></td>
                        </tr>
                        <tr>
                                    <td bgcolor="B0D1EA">Đơn giá</td>
                                    <td><input type="text" name="th_don_gia" id="th_don_gia" style="width:100px" value=""></td>
                                    <td bgcolor="B0D1EA">Đơn giá khuyến mãi</td>
                                    <td><input type="text" name="th_don_gia_khuyen_mai" id="th_don_gia_khuyen_mai" value=""></td>
                        </tr>
            <tr>
                                    <td bgcolor="B0D1EA">Nội dung</td>
                                    <td colspan="3"> <textarea name="th_noi_dung" id="th_noi_dung" cols="40" rows="5"></textarea> </td>
                        </tr>
                        <tr>
                                    <td bgcolor="B0D1EA">Hình</td>
                                    <td colspan="3"><input type="file" name="th_hinh" id="th_hinh" value=""></td>
                        </tr>
                        <tr>
                                    <td colspan="4" align="center"><input type="submit" value="Lưu" name="th_luu" onclick="return kiem_tra_thuc_don()"></td>
                        </tr>
            </table>
            </form>
</div>
<?php
            $pdo->NULL;
?>
</body>

</html>
-----------
Cập nhật 1/3/2017
-----------
Xem thêm:
Tổng hợp các bài viết về Ngu ngơ học làm web