Trang 2 / 7 FirstFirst 12345 ... LastLast
Hiển thị kết quả từ 11 đến 20 / 62
  1. #11
    Tham gia
    22-10-2014
    Bài viết
    103
    Like
    0
    Thanked 12 Times in 11 Posts
    TRANG ĐĂNG NHẬP, ĐĂNG XUẤT (PHẦN 8)

    Từ phần này, tôi sẽ hướng dẫn các bạn thực hiện các trang trong phần quản trị (Admin).

    Nội dung kiến thức phần này gồm:

    - Session.
    - Câu lệnh điều kiện (Cấu trúc điều khiển).
    - Toán tử.

    Trong thư mục admin, các bạn tạo mới một thư mục tên là user để chứa các file xữ lý liên quan tới thành viên (Đăng nhập, đăng xuất, danh sách, thêm mới, chỉnh sửa).

    Trong thư mục admin/user, tạo mới file login[dot]php để viết mã lệnh xử lý đăng nhập.

    Nội dung file admin/user/login[dot]php như sau:

    <?php
    //Khởi động session
    session_start();

    //Kiểm tra nếu đã đăng nhập thì quay về trang chủ quản trị
    if(isset($_SESSION['user'])){
    header('location:../home/home[dot]php');
    }

    //Require các file cần thiết
    require '../../configs/config[dot]php';
    require '../../libraries/connect[dot]php';
    require '../../models/user[dot]php';

    //Kiểm tra dữ liệu POST lên
    if(isset($_POST['username']) && !empty($_POST['username']) && isset($_POST['password']) && !empty($_POST['password'])){
    //Gán tài khoản và mật khẩu nhận được từ form vào 2 biến tương ứng
    $username = $_POST['username'];
    $password = $_POST['password'];

    //Lấy thông tin thành viên từ DB
    $user = get_user_by_username($username);

    //Kiểm tra sự tồn tại của thành viên và mật khẩu có trùng khớp
    if($user && $user['password'] === md5($password)){
    //Tạo session lưu thông tin thành viên đăng nhập thành công
    $_SESSION['user'] = $user;

    //Chuyển hướng về trang chủ quản trị
    header('location:../home/home[dot]php');
    }else{
    //Bật cờ lỗi
    $error = true;
    }
    }

    //Require file giao diện (View)
    require '../../views/admin/user/login[dot]tpl[dot]php';
    ?>

    Lưu ý:

    - Các bạn mở file libraries/connect[dot]php và xóa dòng lệnh "require 'configs/config[dot]php';". File configs/config[dot]php sẽ được require ở các file xữ lý chứ không require trong file libraries/connect[dot]php nữa. Hôm trước tôi thực hiện như vậy là để các bạn dễ hình dung vấn đề.
    - Trang chủ quản trị tôi sẽ không hướng dẫn các bạn thực hiện mà sẽ để mở cho các bạn tự phát triển, hoàn thiện ứng dụng.

    Tiếp theo, trong thư mục models các bạn tạo một file tên là user[dot]php để viết các hàm tương tác với DB (Tôi gọi là model. Tôi sẽ giải thích ở các phần sau).

    Nội dung file models/user[dot]php như sau:

    <?php
    function get_user_by_username($username){
    //SQL
    $sql = "SELECT * FROM tbl_user WHERE username = '$username' AND status = 1";

    //Query
    $query = mysql_query($sql);

    //Fetch và return
    return mysql_fetch_assoc($query);
    }
    ?>

    File admin/user/login[dot]php ở trên chỉ mới là file xử lý, trang đăng nhập còn cần phải có giao diện (Tôi gọi là view). Về giao diện HTML tôi chỉ trình bày đơn giản và cũng không giải thích về mã lệnh HTML.

    Trong thư mục views/admin, các bạn tạo mới một thư mục tên là user để chứa các file trình bày giao diện HTML.

    Trong thư mục views/admin/user, tạo mới file login[dot]tpl[dot]php (Tên file này tôi thêm "[dot]tpl" để dễ phân biệt với file xử lý login[dot]php) để trình bày giao diện trang đăng nhập.

    Nội dung file views/admin/user/login[dot]tpl[dot]php như sau:

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Quản trị - Đăng nhập</title>
    </head>
    <body>

    <form name="login" method="POST" action="">
    <?php if(isset($error) && $error == true): ?>
    <p style="color:red;">Sai Tài khoản hoặc Mật khẩu!</p>
    <?php endif; ?>

    <p>
    <label>Tài khoản:</label>
    <input type="text" name="username" value="" />
    </p>
    <p>
    <label>Mật khẩu:</label>
    <input type="password" name="password" value="" />
    </p>
    <p>
    <input type="submit" value="Đăng nhập" />
    </p>
    </form>

    </body>
    </html>

    Bây giờ các bạn vào phpMyAdmin để thêm mới một dòng dữ liệu vào bảng tbl_user với các thông tin như: Tài khoản, mật khẩu (Mã hóa MD5), kích hoạt (Nhập giá trị là 1)... rồi bắt đầu truy cập trang đăng nhập theo địa chỉ localhost/admin/user/login[dot]php để kiểm tra.

    Đối với trang đăng xuất, trong thư mục admin/user các bạn tạo một file tên là logout[dot]php để xử lý đăng xuất.

    Nội dung file admin/user/logout[dot]php như sau:

    <?php
    //Khởi động session
    session_start();

    //Hủy toàn bộ session
    session_destroy();

    //Quay về trang đăng nhập
    header('location:login[dot]php');
    ?>

    Trang đăng xuất không có giao diện hay truy cập DB nên mã lệnh chỉ đơn giản như vậy.

    * Session:

    Session dùng để lưu thông tin mà người lập trình muốn lưu giữ (Hoặc truyền qua trang khác) để có thể sử dụng ở mọi file PHP của ứng dụng. Nếu các bạn chỉ lưu thông tin và sử dụng duy nhất ở một file PHP nào đó thì tôi khuyên các bạn nên sử dụng biến thay vì sử dụng session.

    File admin/user/login[dot]php, tôi có khai báo hàm session_start với mục đích khởi động session. Các bạn lưu ý là cần phải khởi động session trước khi sử dụng.

    Để tạo ra một session các bạn sử dụng biến $_SESSION do PHP cung cấp. $_SESSION là một biến kiểu mãng nên các bạn sẽ sử dụng như một mãng (Sẽ trình bày ở các phần sau). Các bạn có thể tạo ra một session theo mẫu sau:

    $_SESSION['Tên_session'] = 'Giá_trị_của_session';

    Ví dụ:

    $_SESSION['a'] = 1;
    $_SESSION['b'] = 'Hello';

    Để sử dụng session đã khởi tạo, các bạn sử dụng theo mẫu sau:

    $_SESSION['Tên_session'];

    Các bạn có thể tìm hiểu thêm về session ở liên kết php[dot]net/manual/en/book[dot]session[dot]php.

    * Câu lệnh điều kiện (Cấu trúc điều khiển):

    Câu lệnh IF..ELSE:

    if(Điều_kiện){
    //Khối lệnh thỏa điều kiện
    }

    Hoặc

    if(Điều_kiện){
    //Khối lệnh thỏa điều kiện
    }else{
    //Khối lệnh không thỏa điều kiện
    }

    Hoặc

    if(Điều_kiện_1){
    //Khối lệnh thỏa điều kiện 1
    }elseif(Điều_kiện_2){
    //Khối lệnh không thỏa điều kiện 1 nhưng thỏa điều kiện 2
    }else{
    //Khối lệnh không thỏa điều kiện 1, 2
    }

    Các bạn có thể tham khảo các ví dụ sau:

    Ví dụ 1:

    if(1 == 1){
    echo '1 = 1';
    }

    Ví dụ 2:

    if(1 > 2){
    echo '1 > 2';
    }else{
    echo '1 < 2';
    }

    Ở ví dụ 1, câu lệnh "echo '1 = 1'" sẽ được thực hiện và in ra màn hình dòng "1 = 1". Ví dụ 2, câu lệnh "echo '1 < 2'" sẽ được thực hiện và in ra màn hình dòng "1 < 2".

    Trong PHP, để in ra một nội dung nào đó các bạn sử dụng câu lệnh "echo" như trên.

    Các bạn có thể tìm hiểu thêm về câu lệnh điều kiện ở liên kết php[dot]net/manual/en/control-structures[dot]if[dot]php.

    Câu lệnh SWITCH..CASE:

    switch(Giá_trị_đem_so_sánh){
    case Giá_trị_so_sánh_1:
    //Khối lệnh thỏa giá trị so sánh 1
    break;
    case Giá_trị_so_sánh_2:
    //Khối lệnh thỏa giá trị so sánh 2
    break;
    default:
    //Khối lệnh không thỏa giá trị so sánh nào ở trên
    }

    Về SWITCH..CASE tôi không giải thích nhiều, các bạn có thể tìm hiểu thêm ở liên kết php[dot]net/manual/en/control-structures[dot]switch[dot]php.

    * Toán tử:

    Ngoài toán tử gán "=" hôm trước tôi đã nêu thì phần này tôi sẽ trình bày cho các bạn một số toán tử khác (Toán tử so sánh, toán tử toán học, toán tử "and", "or").

    Toán tử so sánh gồm:

    - Bằng (Về giá trị): ==
    - Bằng (Về mọi thứ): ===
    - Khác (Không bằng về giá trị): !=
    - Khác (Không bằng về mọi thứ): !==
    - Lớn hơn: >
    - Lớn hơn hoặc bằng: >=
    - Nhỏ hơn: <
    - Nhỏ hơn hoặc bằng: <=
    - Phủ định: !

    Toán tử toán học gồm:

    - Cộng: +
    - Trừ: - - Nhân: *
    - Chia: /
    - Phần dư: %

    Ngoài ra, có hai toán tử quan trọng là:

    - Toán tử và (and): &&
    - Toán tử hoặc (or): ||

    Các bạn có thể tìm hiểu thêm về toán tử ở liên kết php[dot]net/manual/en/language[dot]operators[dot]php.
    Lê Trung Hiếu - Lập Trình Web & Di Động

  2. #12
    Tham gia
    22-10-2014
    Bài viết
    103
    Like
    0
    Thanked 12 Times in 11 Posts
    TRANG DANH SÁCH THÀNH VIÊN (PHẦN 9)

    Nội dung kiến thức phần này gồm:

    - Hàm.
    - Tham số.

    Trong thư mục admin/user, tạo mới file list[dot]php để viết mã lệnh trang danh sách thành viên.

    Nội dung file admin/user/list[dot]php như sau:

    <?php
    //Khởi động session
    session_start();

    //Kiểm tra nếu chưa đăng nhập thì quay về trang đăng nhập
    if(!isset($_SESSION['user'])){
    header('location:login[dot]php');
    }

    //Require các file cần thiết
    require '../../configs/config[dot]php';
    require '../../libraries/connect[dot]php';
    require '../../models/user[dot]php';

    //Lấy danh sách thành viên
    $user_list = get_user_list();

    //Require file giao diện (View)
    require '../../views/admin/user/list[dot]tpl[dot]php';
    ?>

    Mở file models/user[dot]php và thêm vào khối lệnh mới dưới đây:

    function get_user_list(){
    //SQL
    $sql = "SELECT * FROM tbl_user ORDER BY user_id DESC";

    //Query và return
    return mysql_query($sql);
    }

    Trong thư mục views/admin/user, tạo mới file list[dot]tpl[dot]php để trình bày giao diện trang danh sách thành viên.

    Nội dung file views/admin/user/list[dot]tpl[dot]php như sau:

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Quản trị - Thành viên - Danh sách</title>
    </head>
    <body>

    <table width="100%" cellpadding="10">
    <tr>
    <th>ID</th>
    <th>Tài khoản</th>
    <th>Họ tên</th>
    <th>Trạng thái</th>
    <th>Ngày tạo</th>
    <th>Ngày chỉnh sửa</th>
    <th>Tác vụ</th>
    </tr>
    <?php while($user = mysql_fetch_assoc($user_list)): ?>
    <tr>
    <td><?php echo $user['user_id']; ?></td>
    <td><a href="<?php echo SITE_URL . 'admin/user/edit[dot]php?user_id=' . $user['user_id']; ?>"><?php echo $user['username']; ?></a></td>
    <td><?php echo $user['fullname']; ?></td>
    <td><?php echo ($user['status'] == 1) ? 'Kích hoạt' : 'Không kích hoạt'; ?></td>
    <td><?php echo date('d-m-Y H:i:s', $user['created']); ?></td>
    <td><?php echo date('d-m-Y H:i:s', $user['modified']); ?></td>
    <td><a href="<?php echo SITE_URL . 'admin/user/delete[dot]php?user_id=' . $user['user_id']; ?>">Xóa</a></td>
    </tr>
    <?php endwhile; ?>
    </table>

    </body>
    </html>

    Các bạn truy cập trang danh sách thành viên theo địa chỉ localhost/admin/user/list[dot]php để kiểm tra.

    * Hàm:

    Ở phần trước trong file models/user[dot]php, tôi có khởi tạo một hàm tên là get_user_by_username và ở phần này tôi cũng tạo một hàm là get_user_list. Theo như những gì các bạn thấy thì hàm là một khối lệnh làm một nhiệm vụ gì đó theo ý đồ của người lập trình nhằm mục đích "đóng gói" và "tái sử dụng" ở nhiều nơi.

    Để định nghĩa một hàm, các bạn thực hiện theo mẫu sau:

    function Tên_hàm(){
    //Khối lệnh thực hiện nhiệm vụ nào đó
    }

    Hoặc

    function Tên_hàm(Tham_số_1, Tham_số_2, Tham_số_n){
    //Khối lệnh thực hiện nhiệm vụ nào đó
    }

    Hoặc

    function Tên_hàm(Tham_số_1 = 'Giá_trị_mặc_định_1', Tham_số_2 = 'Giá_trị_mặc_định_2', Tham_số_n = 'Giá_trị_mặc_định_n'){
    //Khối lệnh thực hiện nhiệm vụ nào đó
    }

    Trong đó:

    - Tên hàm phải tuân theo quy tắc đặt tên mà PHP quy định là chỉ chấp nhận các số từ 0 đến 9, chữ cái từ a đến z, dấu gạch dưới "_". Tên hàm không được bắt đầu bằng số và không được trùng lặp.
    - Một hàm có thể có hoặc không có tham số truyền vào. Nếu có nhiều hơn một tham số thì các tham số phân cách nhau mởi dấu phẩy ",". Các tham số có thể gán giá trị mặc định cho nó.

    Ví dụ 1:

    function get_user_list(){
    //Những dòng lệnh các bạn đã biết ở trên
    }

    Tôi đã tạo ra một hàm tên là get_user_list và hàm này không có tham số truyền vào. Nhiệm vụ của hàm get_user_list là lấy danh sách thành viên từ DB và trả về lại kết quả.

    Ví dụ 2:

    function get_user_by_username($username){
    //Những dòng lệnh các bạn đã biết ở phần trước
    }

    Hàm ở trên tên là get_user_by_username và hàm này có một tham số là $username. Nhiệm vụ của hàm get_user_by_username là lấy thông tin thành viên từ DB và trả về lại kết quả.

    Ở hai ví dụ trên, tôi có nhắc đến "trả về lại kết quả" vậy đó là gì? Câu này được thể hiện bằng từ khóa "return" ở cuối mỗi hàm mà các bạn thấy.

    Ví dụ:

    return mysql_query($sql);

    Dòng lệnh này ở hàm get_user_list mà tôi đã định nghĩa ở trên dùng để trả về lại kết quả mà người lập trình mong muốn (Ở ví dụ này đó là kết quả truy vấn từ DB).

    Một hàm có thể có giá trị trả về hoặc cũng có thể không có giá trị trả về tùy vào mục đích của người lập trình.

    Các bạn có thể tìm hiểu thêm về hàm ở liên kết php[dot]net/manual/en/language[dot]functions[dot]php.

    * Tham số:

    Ở hàm get_user_by_username có khai báo một tham số là $username. Vậy tham số là những biến nhận giá trị truyền vào nhằm mục đích nào đó theo ý đồ của người lập trình.

    Các tham số và biến được khởi tạo bên trong hàm thì chỉ tồn tại bên trong hàm đó.

    Tham số bao gồm hai loại là:

    - Tham trị.
    - Tham biến.

    Các bạn có thể tìm hiểu thêm về tham số ở liên kết php[dot]net/manual/en/functions[dot]arguments[dot]php.
    Lê Trung Hiếu - Lập Trình Web & Di Động

  3. #13
    Tham gia
    24-11-2014
    Bài viết
    23
    Like
    0
    Thanked 3 Times in 2 Posts
    ui đọc cả nùi thế này thật khó, thôi thì đành đi kiếm video vừa xem vừa học vậy

  4. #14
    Tham gia
    22-10-2014
    Bài viết
    103
    Like
    0
    Thanked 12 Times in 11 Posts
    TRANG THÊM MỚI THÀNH VIÊN (PHẦN 10)

    Nội dung kiến thức phần này gồm:

    - Lập trình với form.
    - Mãng.

    Trong thư mục admin/user, tạo mới file add[dot]php để viết mã lệnh trang thêm mới thành viên.

    Nội dung file admin/user/add[dot]php như sau:

    <?php
    //Khởi động session
    session_start();

    //Kiểm tra nếu chưa đăng nhập thì quay về trang đăng nhập
    if(!isset($_SESSION['user'])){
    header('location:login[dot]php');
    }

    //Require các file cần thiết
    require '../../configs/config[dot]php';
    require '../../libraries/connect[dot]php';
    require '../../models/user[dot]php';

    //Nếu có POST dữ liệu lên thì xử lý
    if($_POST){
    //Nhận dữ liệu từ form và gán vào một mãng
    $data = array(
    'username' => $_POST['username'],
    'password' => md5($_POST['password']),
    'fullname' => $_POST['fullname'],
    'email' => $_POST['email'],
    'status' => isset($_POST['status']) ? 1 : 0,
    'created' => date('Y-m-d H:i:s'),
    'modified' => date('Y-m-d H:i:s')
    );

    //Thêm mới
    if(add_user($data)){
    //Tạo session để lưu cờ thông báo thành công
    $_SESSION['success'] = true;

    //Tải lại trang (Mục đích là để reset form)
    header('location:add[dot]php');
    }
    }

    //Require file giao diện (View)
    require '../../views/admin/user/add[dot]tpl[dot]php';
    ?>

    Mở file models/user[dot]php và thêm vào khối lệnh mới dưới đây:

    function add_user($data){
    //SQL
    $sql = "INSERT INTO tbl_user(username, password, fullname, email, status, created, modified) VALUES('{$data['username']}', '{$data['password']}', '{$data['fullname']}', '{$data['email']}', {$data['status']}, '{$data['created']}', '{$data['modified']}')";

    //Query và return
    return mysql_query($sql);
    }

    Trong thư mục views/admin/user, tạo mới file add[dot]tpl[dot]php để trình bày giao diện trang thêm mới thành viên.

    Nội dung file views/admin/user/add[dot]tpl[dot]php như sau:

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Quản trị - Thành viên - Thêm mới</title>
    </head>
    <body>

    <form name="add" method="POST" action="">
    <?php if(isset($_SESSION['success'])): ?>
    <p style="color:green;">Thành viên đã được thêm mới thành công!</p>
    <?php unset($_SESSION['success']); ?>
    <?php endif; ?>

    <p>
    <label>Tài khoản:</label>
    <input type="text" name="username" value="" />
    </p>
    <p>
    <label>Mật khẩu:</label>
    <input type="password" name="password" value="" />
    </p>
    <p>
    <label>Họ tên:</label>
    <input type="text" name="fullname" value="" />
    </p>
    <p>
    <label>Email:</label>
    <input type="text" name="email" value="" />
    </p>
    <p>
    <label>Trạng thái:</label>
    <input type="checkbox" name="status" value="1" />
    </p>
    <p>
    <input type="submit" value="Thêm mới" />
    </p>
    </form>

    </body>
    </html>

    Các bạn truy cập trang thêm mới thành viên theo địa chỉ localhost/admin/user/add[dot]php để kiểm tra.

    * Lập trình với form:

    Form là vùng giành cho người dùng nhập dữ liệu. Form có hai phương thức để gởi dữ liệu lên server là POST và GET. Hai phương thức POST và GET đều cùng làm một nhiệm vụ là gởi dữ liệu lên server nhưng cách thức thì khác nhau.

    Đối với phương thức POST dữ liệu được gởi lên server mà người dùng không nhìn thấy được dữ liệu được gởi đi là gì. Còn phương thức GET thì dữ liệu gởi đi được thể hiện trên URL (Thanh nhập địa chỉ website của trình duyệt).

    Thông thường khi gởi dữ liệu lên server để cập nhật DB thì nên sử dụng phương thức POST. Phương thức GET thường được sử dụng trong một số trường hợp như: Phân trang, hiển thị theo danh mục...

    Để tạo một form với phương thức POST, các bạn khai báo thuộc tính method là POST trong thẻ form HTML. Ví dụ:

    <form name="add" method="POST" action="">

    Để nhận dữ liệu do form đưa lên theo phương thức POST thì các bạn thực hiện theo mẫu sau:

    $_POST['Tên_trường'];

    Ví dụ:

    $_POST['username'];
    $_POST['password'];

    Để tạo một form với phương thức GET, các bạn khai báo thuộc tính method là GET trong thẻ form HTML. Ví dụ:

    <form name="add" method="GET" action="">

    Ngoài ra, đối với phương thức GET các bạn còn có thể truyền dữ liệu trên URL bằng cách thực hiện theo mẫu sau:

    urlpath?Biến_1=Giá_trị_1&Biến_2=Giá_trị_ 2&Biến_n=Giá_trị_n

    Với mẫu trên, để khai báo các biến và giá trị tương ứng các bạn sẽ khởi đầu bằng dấu hỏi "?" và kế tiếp sau đó là các biến và giá trị tương ứng với biến. Nếu có nhiều hơn một biến thì các bạn phân cách bởi dấu và "&".

    Ví dụ:

    localhost/admin/user/edit[dot]php?user_id=1

    Để nhận dữ liệu theo phương thức GET thì các bạn thực hiện theo mẫu sau:

    $_GET['Tên_trường'];

    Hoặc

    $_GET['Tên_biến'];

    Ví dụ:

    $_GET['user_id'];

    Các bạn có thể tìm hiểu thêm về POST ở liên kết php[dot]net/manual/en/reserved[dot]variables[dot]post[dot]php và GET ở liên kết php[dot]net/manual/en/reserved[dot]variables[dot]get[dot]php. Ngoài ra, các bạn nên tìm hiểu thêm một số biến PHP khác ở liên kết php[dot]net/manual/en/reserved[dot]variables[dot]php.

    * Mãng:

    Mãng là một kiểu dữ liệu trong PHP.

    Để khởi tạo một mãng các bạn thực hiện theo mẫu sau:

    $Tên_mãng = array();

    Hoặc

    $Tên_mãng = array(Phần_tử_1, Phần_tử_2, Phần_tử_n);

    Hoặc

    $Tên_mãng = array('Khóa_1'=>'Giá_trị_1', 'Khóa_2'=>'Giá_trị_2', 'Khóa_n'=>'Giá_trị_n');

    Trong đó:

    - Mẫu thứ nhất là tạo một mãng rỗng (Không có phần tử).
    - Mẫu thứ hai là tạo một mãng có phần tử.
    - Mẫu thứ ba là tạo một mãng có phần tử nhưng đây là một mãng tham chiếu. Tức có "khóa" tham chiếu tới "giá trị".

    Để sử dụng các phần tử của mãng các bạn thực hiện theo mẫu sau:

    - Đối với mãng phần tử theo chỉ số (Mẫu hai):

    $Tên_mãng[Chỉ_số];

    - Đối với mãng tham chiếu (Mẫu ba):

    $Tên_mãng['Tên_khóa'];

    Lưu ý: Chỉ số trong mãng PHP được tính bắt đầu từ 0.

    Các bạn có thể tìm hiểu thêm về mãng ở liên kết php[dot]net/manual/en/language[dot]types[dot]array[dot]php.
    Lê Trung Hiếu - Lập Trình Web & Di Động

  5. #15
    Tham gia
    06-11-2014
    Bài viết
    1
    Like
    0
    Thanked 0 Times in 0 Posts
    Chào Mừng Tết Ất Mùi 2015 Cùng với GÀ ĐÔNG TẢO ÔNG KIỀU .Bạn sẽ nhận ngay những chú gà thương phẩm chỉ từ 320.000 vnđ/1 kg. ( gà Vip).

    Chúng tôi nhận cung cấp gà giống toàn quốc.

    Cung cấp các loại gà thịt cao cấp với nhiều mức độ gà khác nhau cho nhà hàng,đơn vị mở tiệc hay cá nhân có nhu cầu với giá thành hấp dẫn nhất.

    Nhân cung cấp gà làm quà biếu,cho ,tặng cho các cá nhân và tập thể với số lượng không hạn chế.

    Và Nhiều chương trình ưu đãi khác khi mua gà đông tảo tại Gà Đông Tảo Ông Kiều .Liên Hệ 0989670233 hoặc 0942334058
    ( Đặc biệt các bạn sẽ được nhận tặng một ( ibook ) về kỹ thuật chăn nuôi gà đông tảo .mà ngoài thị trường không bán . lưu hành nội bộ .)

    Gà đông tảo - Quà Tặng cho Sếp- Niềm vui bất ngờ.

    Gà Đông Tảo - Dành tặng người thân-bạn bè.

    Gà Đông Tảo một món ăn thật độc và lạ cho những ngày ngỉ sắp tới bên gia đình.

    sau là bảng giá chi tiết củ thể mời quý bà con tham khảo :
    gà bóc trứng 120k/con
    gà 1 tuần tuổi 150k/con
    gà 2 tuần tuổi 180k/con
    gà 3 tuần tuổi 220k/con
    gà 1 tháng tuổi 250k/con
    gà 45 ngày tuổi 300k/con
    gà 2 tháng tuổi 330k/con
    gà bố mẹ liên hệ
    gà biếu tặng đẹp liên hệ
    gà thịt tù từng thể trạng giá liên hệ .
    trại gà gia đình tôi xin trân thành cảm ơn quý bà con đã tin tưởng và sự ủng hộ của quý bà con với gia đình . chúc quý bà con sức khỏe và gặt hái được nhieuf thanh công hơn nữa trong chăn nuôi và làm kinh tế .
    trại gà gia đình chúng tôi phục vụ đơn đặt hàng của quý bà con 24/24 , nhận ship gà trên toàn quốc , giao hàng uy tín . ( nhận gà trả tiền ) . ko dúng gà ko lấy tiền

  6. #16
    Tham gia
    22-10-2014
    Bài viết
    103
    Like
    0
    Thanked 12 Times in 11 Posts
    TRANG CHỈNH SỬA THÀNH VIÊN (PHẦN 11)

    Nội dung kiến thức phần này gồm:

    - Đường dẫn.
    - Các hàm PHP (isset, empty, header, date, md5, mysql_query, mysql_fetch_assoc).

    Trong thư mục admin/user, tạo mới file edit[dot]php để viết mã lệnh trang chỉnh sửa thành viên.

    Nội dung file admin/user/edit[dot]php như sau:

    <?[dot]php
    //Khởi động session
    session_start();

    //Kiểm tra nếu chưa đăng nhập thì quay về trang đăng nhập
    if(!isset($_SESSION['user'])){
    header('location:login[dot]php');
    }

    //Require các file cần thiết
    require '../../configs/config[dot]php';
    require '../../libraries/connect[dot]php';
    require '../../models/user[dot]php';

    //Lấy user_id từ URL
    $user_id = $_GET['user_id'];

    //Nếu có POST dữ liệu lên thì xử lý cập nhật
    if($_POST){
    //Nhận dữ liệu từ form và gán vào một mãng
    $data = array(
    'username' => $_POST['username'],
    'password' => empty($_POST['password']) ? null : md5($_POST['password']),
    'fullname' => $_POST['fullname'],
    'email' => $_POST['email'],
    'status' => isset($_POST['status']) ? 1 : 0,
    'modified' => date('Y-m-d H:i:s')
    );

    //Cập nhật
    if(edit_user($data, $user_id)){
    //Tạo session để lưu cờ thông báo thành công
    $_SESSION['success'] = true;

    //Tải lại trang (Mục đích là để tải lại thông tin mới)
    header('location:edit[dot]php?user_id=' . $user_id);
    }
    }

    //Lấy thông tin thành viên để trình bày trên form
    $user = get_user_by_id($user_id);

    //Require file giao diện (View)
    require '../../views/admin/user/edit[dot]tpl[dot]php';
    ?>

    Mở file models/user[dot]php và thêm vào khối lệnh mới dưới đây:

    function get_user_by_id($user_id){
    //SQL
    $sql = "SELECT * FROM tbl_user WHERE user_id = $user_id";

    //Query
    $query = mysql_query($sql);

    //Fetch và return
    return mysql_fetch_assoc($query);
    }

    function edit_user($data, $user_id){
    //SQL
    $sql = "UPDATE tbl_user SET username = '{$data['username']}', fullname = '{$data['fullname']}', email = '{$data['email']}', status = {$data['status']}, modified = '{$data['modified']}'";

    //Nếu có cập nhật mật khẩu
    if($data['password'] != null){
    $sql .= ", password = '$data['password']'";
    }

    //Điều kiện
    $sql .= " WHERE user_id = $user_id";

    //Query và return
    return mysql_query($sql);
    }

    Trong thư mục views/admin/user, tạo mới file edit[dot]tpl[dot]php để trình bày giao diện trang chỉnh sửa thành viên.

    Nội dung file views/admin/user/edit[dot]tpl[dot]php như sau:

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Quản trị - Thành viên - Chỉnh sửa</title>
    </head>
    <body>

    <form name="edit" method="POST" action="">
    <?[dot]php if(isset($_SESSION['success'])): ?>
    <p style="color:green;">Thành viên đã được chỉnh sửa thành công!</p>
    <?[dot]php unset($_SESSION['success']); ?>
    <?[dot]php endif; ?>

    <p>
    <label>Tài khoản:</label>
    <input type="text" name="username" value="<?[dot]php echo $user['username']; ?>" />
    </p>
    <p>
    <label>Mật khẩu:</label>
    <input type="password" name="password" value="" />
    </p>
    <p>
    <label>Họ tên:</label>
    <input type="text" name="fullname" value="<?[dot]php echo $user['fullname']; ?>" />
    </p>
    <p>
    <label>Email:</label>
    <input type="text" name="email" value="<?[dot]php echo $user['email']; ?>" />
    </p>
    <p>
    <label>Trạng thái:</label>
    <input type="checkbox" name="status" value="1" <?[dot]php echo ($user['status'] == 1) ? 'checked="checked"' : ''; ?> />
    </p>
    <p>
    <input type="submit" value="Chỉnh sửa" />
    </p>
    </form>

    </body>
    </html>

    Các bạn truy cập trang danh sách thành viên và nhấp vào tài khoản để truy cập tới trang chỉnh sửa thành viên (Lưu ý tới liên kết của trang chỉnh sửa thành viên).

    * Đường dẫn:

    Trong các trang, các bạn đều require các file configs/config[dot]php, libraries/connect[dot]php và một số file khác. Khi require các bạn phải chỉ đúng đường dẫn tới file cần require và để thực hiện được thì [dot]php cung cấp một số "ký hiệu" giúp bạn thực hiện điều đó một cách linh hoạt. Và đường dẫn theo hướng dẫn dưới đây được gọi là đường dẫn tương đối.

    Một số "ký hiệu" bạn cần biết như sau:

    - Đứng tại vị trí thư mục hiện hành: ./
    - Ra ngoài một cấp thư mục: ../
    - Ra thư mục gốc (Web root): /

    Ví dụ với cấu trúc thư mục như sau:

    admin
    -----user
    ----------edit[dot]php
    configs
    -----config[dot]php
    libraries
    -----connect[dot]php

    Với cấu trúc thư mục như trên nếu:

    - Đứng ở vị trí file edit[dot]php để viết lệnh và require file config[dot]php thì đường dẫn sẽ là:

    ../../configs/config[dot]php

    - Đứng ở vị trí file connect[dot]php để viết lệnh và require file config[dot]php thì đường dẫn sẽ là:

    ../configs/config[dot]php

    Ngoài ra, các bạn còn có thể sử dụng một số hàm do [dot]php cung cấp để lấy chính xác đường dẫn tới file.

    * Các hàm PHP (isset, empty, header, date, md5, mysql_query, mysql_fetch_assoc):

    - isset: Kiểm tra sự tồn tại của một biến. Nếu biến tồn tại thì trả về true, ngược lại trả về false.
    - empty: Kiểm tra chuỗi dữ liệu có rỗng hay không. Nếu chuỗi rỗng thì trả về true, ngược lại trả về false.
    - header: Chuyển hướng trang sang một trang mới.
    - date: Định dạng ngày giờ.
    - md5: Mã hóa một chuỗi theo thuật toán MD5.
    - mysql_query: Thực thi (Truy vấn) câu SQL.
    - mysql_fetch_assoc: Trả về một dòng dữ liệu từ recordset dưới dạng một mãng.

    Tất cả các hàm trên các bạn có thể vào trang [dot]php[dot]net/docs[dot]php và sử dụng chức năng tìm kiếm để tìm hàm cần tìm hiểu.
    Lê Trung Hiếu - Lập Trình Web & Di Động

  7. #17
    Tham gia
    04-12-2004
    Location
    TP.HCM
    Bài viết
    5,242
    Like
    34
    Thanked 895 Times in 566 Posts
    Viết code thì nên để trong định dạng code, viết bình thường trông cứ như xả rác trên này. Vài lời góp ý!
    "bất khả tri"

  8. #18
    Tham gia
    01-12-2014
    Bài viết
    26
    Like
    0
    Thanked 2 Times in 2 Posts
    Quote Được gửi bởi superthin View Post
    Viết code thì nên để trong định dạng code, viết bình thường trông cứ như xả rác trên này. Vài lời góp ý!
    Đồng ý. Nhìn như một đống rác!

  9. #19
    Tham gia
    22-10-2014
    Bài viết
    103
    Like
    0
    Thanked 12 Times in 11 Posts
    Quote Được gửi bởi superthin View Post
    Viết code thì nên để trong định dạng code, viết bình thường trông cứ như xả rác trên này. Vài lời góp ý!
    Xin lỗi các bạn nhưng bộ editor của DDTH đâu cho phép tôi format, tôi muốn format đàng hoàng mà không biết phải làm sao đây bạn.

    Các bạn có thể ghé sang link trên sinhvienit sẽ thấy tôi đăng bài rất "đẹp". Link sinhvienit[dot]net/forum/tung-buoc-hoc-lap-trinh-php-co-ban-qua-du-an-website-gioi-thieu-san-pham[dot]346823[dot]html (Vì chưa được phép đăng link nên các bạn edit giúp chữ [dot])

    Tôi cũng không hiểu sao hay tại vì lí do gì mà DDTH không cho format. Các bạn nếu cũng không thể format được thì vui lòng thông cảm cho tôi.
    Lê Trung Hiếu - Lập Trình Web & Di Động

  10. #20
    Tham gia
    22-10-2014
    Bài viết
    103
    Like
    0
    Thanked 12 Times in 11 Posts
    XÓA THÀNH VIÊN (PHẦN 12)

    Phần này tôi không trình bày kiến thức lập trình PHP, các bạn chỉ thực hiện chức năng xóa thành viên dưới đây.

    Trong thư mục admin/user, tạo mới file delete[dot]php để viết mã lệnh chức năng xóa thành viên.

    Nội dung file admin/user/delete[dot]php như sau:

    <?php
    //Khởi động session
    session_start();

    //Kiểm tra nếu chưa đăng nhập thì quay về trang đăng nhập
    if(!isset($_SESSION['user'])){
    header('location:login[dot]php');
    }

    //Require các file cần thiết
    require '../../configs/config[dot]php';
    require '../../libraries/connect[dot]php';
    require '../../models/user[dot]php';

    //Lấy user_id từ URL
    $user_id = $_GET['user_id'];

    //Xóa
    delete_user($user_id);

    //Quay về trang danh sách thành viên
    header('location:list[dot]php');
    ?>

    Mở file models/user[dot]php và thêm vào khối lệnh mới dưới đây:

    function delete_user($user_id){
    //SQL
    $sql = "DELETE FROM tbl_user WHERE user_id = $user_id";

    //Query và return
    return mysql_query($sql);
    }

    Xóa là một chức năng nên các bạn không phải tạo giao diện (View).

    Các bạn truy cập trang danh sách thành viên, ở cột "Tác vụ" các bạn chọn tác vụ "Xóa" để thực hiện xóa thành viên tương ứng.

    PS:

    Xin lỗi các bạn nhưng bộ editor của DDTH đâu cho phép tôi format, tôi muốn format đàng hoàng mà không biết phải làm sao đây bạn.

    Các bạn có thể ghé sang link trên sinhvienit sẽ thấy tôi đăng bài rất "đẹp". Link sinhvienit[dot]net/forum/tung-buoc-hoc-lap-trinh-php-co-ban-qua-du-an-website-gioi-thieu-san-pham[dot]346823[dot]html (Vì chưa được phép đăng link nên các bạn edit giúp chữ [dot])

    Tôi cũng không hiểu sao hay tại vì lí do gì mà DDTH không cho format. Các bạn nếu cũng không thể format được thì vui lòng thông cảm cho tôi.
    Lê Trung Hiếu - Lập Trình Web & Di Động

Trang 2 / 7 FirstFirst 12345 ... LastLast

Tags for this Thread

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •