• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.
  • Upgrade Your Account
    Hello Guest! Upgrade your account to download all VIP Resource here

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

Joined
May 26, 2016
Messages
6
Chủ thớt
#1
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!
 
Joined
Jul 7, 2016
Messages
10
#2
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
 

Đinh Quốc Hân

Đinh Quốc Hân
Staff member
Joined
Dec 11, 2015
Messages
6,000
#3
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');
         ?>
 
Joined
Dec 12, 2015
Messages
94
#5
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ỉ ...
 

Đinh Quốc Hân

Đinh Quốc Hân
Staff member
Joined
Dec 11, 2015
Messages
6,000
#6
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ỉ ...
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 :)
 
Joined
May 26, 2016
Messages
6
Chủ thớt
#7
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 ạ.
 
Joined
May 26, 2016
Messages
6
Chủ thớt
#9
Đã thay thế code phía trên chưa, có phát sinh lỗi mới không !?
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:

Đinh Quốc Hân

Đinh Quốc Hân
Staff member
Joined
Dec 11, 2015
Messages
6,000
#11
Parse error: syntax error, unexpected ')' in C:\xampp\htdocs\vietproshop\quantri\quantri.php on line 32
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'] : '';
 

Facebook Comment

Similar threads


Users who viewed this discussion (Total: 0)

New posts New resources Most viewed threads Threads with more replies