1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Vui lòng đăng nhập để sử dụng Chat Box và nhiều tính năng hơn nữa
    Dismiss Notice

Giúp mình khắc phục lỗi Undefined index với ạ

Discussion in 'PHP' started by minhthuy53, Nov 13, 2016.

  1. minhthuy53

    minhthuy53 New Member

    Joined:
    May 26, 2016
    Messages:
    6
    Likes Received:
    1
    Trophy Points:
    3
    Em đang học PHP mà gặp phải lỗi " Notice: Undefined index: page_layout in C:\xampp\htdocs\vietproshop\quantri\quantri.php on line 30 " ai giúp em với ạ.
    upload_2016-11-13_22-39-31.png


    Đoạn code đây ạ
    PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Vietpro Mobile Shop - Trang chủ quản trị</title>
    <link rel="stylesheet" type="text/css" href="css/quantri.css" />
    </head>
    <body>
    <div id="wrapper">
        <div id="header">
            <div id="navbar">
                <ul>
                    <li id="admin-home"><a href="#">trang chủ quản trị</a></li>
                    <li><a href="#">thành viên</a></li>
                    <li><a href="#">danh mục sản phẩm</a></li>
                    <li><a href="#">sản phẩm</a></li>
                    <li><a target="_blank" href="#">xem website</a></li>
                </ul>
                <div id="user-info">
                    <p>Xin chào <span>admin</span> đã đăng nhập vào hệ thống</p>
                    <p><a href="#">Đăng xuất</a></p>
                </div>
            </div>
            <div id="banner">
                <div id="logo"><a href="#"><img src="anh/logo.png" /></a></div>
            </div>
        </div>
        <div id="body">
            <?php
            
    switch($_GET['page_layout']){
                case 
    'danhsachsp.php':include_once('danhsachsp.php');
                break;
                 case 
    'themsp.php':include_once('themsp.php');
                 break;
                 case 
    'suasp.php':include_once('suasp.php');
                 break;
                 default:include_once(
    'gioithieu.php');
            }
             
    ?>
        </div>
        <div id="footer">
            <div id="footer-info">
                <h4>trung tâm công nghệ web vietpro</h4>
                <p><span>Địa chỉ:</span> Tầng 5, Tòa nhà A4, Ngõ 120 Hoàng Quốc Việt - Cầu Giấy - Hà Nội | <span>Phone</span> (04) 3537 6697</p>
                <p><span>Trụ sở 2:</span> Số 25/178/71 Tây Sơn - Đống Đa - Hà Nội | <span>Hotline</span> 0968 511 155</p>
                <p>Bản quyền thuộc Vietpro Education</p>
            </div>
        </div>
    </div>
    </body>
    </html>
    em cám ơn!
     
    NamLee likes this.
  2. Nguyễn Chiến

    Nguyễn Chiến New Member

    Joined:
    Jul 7, 2016
    Messages:
    10
    Likes Received:
    13
    Trophy Points:
    3
    PHP:
    <!DOCTYPE 
       
    html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Vietpro 
       
    Mobile Shop - Trang chủ quản trị</title>
    <link rel="stylesheet" type="text/css" href="css/quantri.css" />
    </head>
    <body>
    <div id="wrapper">
        <div id="header">
            <div id="navbar">
                <ul>
                    <li id="admin-home"><a href="#">trang chủ quản trị</a></li>
                    <li><a href="#">thành viên</a></li>
                    <li><a href="#">danh mục sản phẩm</a></li>
                    <li><a href="#">sản phẩm</a></li>
                    <li><a target="_blank" href="#">xem website</a></li>
                </ul>
                <div id="user-info">
                    <p>Xin chào <span>admin</span> đã đăng nhập vào hệ thống</p>
                    <p><a href="#">Đăng xuất</a></p>
                </div>
            </div>
            <div id="banner">
                <div id="logo"><a href="#"><img src="anh/logo.png" /></a></div>
            </div>
        </div>
        <div id="body">
            <?php 
            $page_layout 
    = isset($_GET['page_layout'])?$_GET['page_layout']:''
            switch(
    $page_layout){
                case 
    'danhsachsp.php':include_once('danhsachsp.php');
                break;
                 case 
    'themsp.php':include_once('themsp.php');
                 break;
                 case 
    'suasp.php':include_once('suasp.php');
                 break;
                 default:include_once(
    'gioithieu.php');
            }
             
    ?>
        </div>
        <div id="footer">
            <div id="footer-info">
                <h4>trung tâm công nghệ web vietpro</h4>
                <p><span>Địa chỉ:</span> Tầng 5, Tòa nhà A4, Ngõ 120 Hoàng Quốc Việt - Cầu Giấy - Hà Nội | <span>Phone</span> (04) 3537 6697</p>
                <p><span>Trụ sở 2:</span> Số 25/178/71 Tây Sơn - Đống Đa - Hà Nội | <span>Hotline</span> 0968 511 155</p>
                <p>
       
    Bản quyền thuộc Vietpro Education</p>
            </div>
        </div>
    </div>
    </body>
    </html>
    đổi code này xem bạn
     
    NamLee likes this.
  3. HenryDinh

    HenryDinh Đinh Quốc Hân Staff Member

    Joined:
    Dec 11, 2015
    Messages:
    5,995
    Likes Received:
    27,588
    Trophy Points:
    12,605
    Lỗi Undefined index chỉ xuất hiện khi chỉ mục của một mảng không tồn tại mà bạn gọi nó, ở trường hợp này ta sẽ sửa như sau, thay vì :

    PHP:
    <?php
            
    switch($_GET['page_layout']){
                case 
    'danhsachsp.php':include_once('danhsachsp.php');
                break;
                 case 
    'themsp.php':include_once('themsp.php');
                 break;
                 case 
    'suasp.php':include_once('suasp.php');
                 break;
                 default:include_once(
    'gioithieu.php');
            }
             
    ?>
    Hãy viết lại như thế này:

    PHP:
    <?php
            $page_layout 
    = isset($_GET['page_layout']) ? $_GET['page_layout'] : '';

            switch(){
                case 
    'danhsachsp.php':include_once('danhsachsp.php');
                break;
                 case 
    'themsp.php':include_once('themsp.php');
                 break;
                 case 
    'suasp.php':include_once('suasp.php');
                 break;
                 default:include_once(
    'gioithieu.php');
            }
             
    ?>
    hoặc cách khác để tối ưu hơn là không cần dùng switch:

    PHP:
    <?php
            $page_layout 
    = isset($_GET['page_layout']) ? $_GET['page_layout'] : '';

            if(
    file_exists($page_layout))
                include_once(
    $page_layout);
            else
                include_once(
    'gioithieu.php');
             
    ?>
     
    minhthuy53 and NamLee like this.
  4. TranDuc

    TranDuc Member

    Joined:
    Dec 12, 2015
    Messages:
    97
    Likes Received:
    52
    Trophy Points:
    18
    $_GET lấy giá trị trên url, mà page_layout k có nên lỗi k tìm thấy. Cái này dùng if else thay cho switch case cũng được,
     
    minhthuy53 and NamLee like this.
  5. TranDuc

    TranDuc Member

    Joined:
    Dec 12, 2015
    Messages:
    97
    Likes Received:
    52
    Trophy Points:
    18
    Bạn truy cập file quantri.php , mà trong switch case cua bạn không có phần quantri.php nên báo lỗi, mà đúng ra nếu k tồn tại giá trị trong case thì nó phải trả vê default chứ nhỉ ...
     
    NamLee likes this.
  6. HenryDinh

    HenryDinh Đinh Quốc Hân Staff Member

    Joined:
    Dec 11, 2015
    Messages:
    5,995
    Likes Received:
    27,588
    Trophy Points:
    12,605
    Code đó sai ở chỗ truy vấn chỉ mục mảng không tồn tại, chứ không phải không có phần quantri.php, trong code đã có default rồi, tại sói nhìn không rõ đấy thôi :)
     
    NamLee likes this.
  7. minhthuy53

    minhthuy53 New Member

    Chủ Thớt
    Joined:
    May 26, 2016
    Messages:
    6
    Likes Received:
    1
    Trophy Points:
    3
    tất cả cái file quantri.php, danhsachsp/php , suasp.php đều có hết rồi mà không hiểu sao bị lỗi nữa ạ.
     
  8. HenryDinh

    HenryDinh Đinh Quốc Hân Staff Member

    Joined:
    Dec 11, 2015
    Messages:
    5,995
    Likes Received:
    27,588
    Trophy Points:
    12,605
    Đã thay thế code phía trên chưa, có phát sinh lỗi mới không !?
     
  9. minhthuy53

    minhthuy53 New Member

    Chủ Thớt
    Joined:
    May 26, 2016
    Messages:
    6
    Likes Received:
    1
    Trophy Points:
    3
    em thay thế rồi nhưng không được ạ

    Parse error: syntax error, unexpected ')' in C:\xampp\htdocs\vietproshop\quantri\quantri.php on line 32
     
    Last edited: Nov 13, 2016
  10. HenryDinh

    HenryDinh Đinh Quốc Hân Staff Member

    Joined:
    Dec 11, 2015
    Messages:
    5,995
    Likes Received:
    27,588
    Trophy Points:
    12,605
    Nó có báo lỗi gì không, chứ như vậy là oki rồi đó, hoặc nó cache lại chăn.
     
    minhthuy53 likes this.
  11. HenryDinh

    HenryDinh Đinh Quốc Hân Staff Member

    Joined:
    Dec 11, 2015
    Messages:
    5,995
    Likes Received:
    27,588
    Trophy Points:
    12,605
    Xem kỹ dòng 32 xem có đóng mở ngoặc gì hay không, thiếu chấm phẩy hay không.

    PHP:
    $page_layout = isset($_GET['page_layout']) ? $_GET['page_layout'] : '';
     
Loading...

Share This Page

Loading...