2013-12-08 20 views
0

我正在处理一个页面,一旦链接被调用,此脚本将检查并且POST是否包含关键字并随后找到该页面。但是,无论我如何组织这个,如果它不起作用。

<?PHP 

if($_POST['page']) { 
    $page = (int)$_POST['page']; 
    $exists = file_exists('pages/page_'.$page.'html'); 
     if($exists) { 
      echo file_get_contexnts('pages/page_'.$page.'html'); 
     } else { 
      echo 'There is no such page!'; 
     } 
} else if ($_POST['course']) die("0"); { 
    $course = (int)$_POST['course']; 
    $exists = file_exists('courses/course_'.$course.'html'); 
     if($exists) { 
      echo file_get_contexnts('courses/course_'.$course.'html'); 
      die("1"); 
     } else { 
      echo 'There is no such page!'; 
     }    
    } 

?> 

我目前这种设置接收的错误是:

Notice: Undefined index: course in C:\wamp\www\Home Page\load_page.php on line 12 

Call Stack 
# Time Memory Function Location 
1 0.0003 253944 {main}() ..\load_page.php:0 

是不是因为是在页面没有“课程”?我可能会对我正在修改一个简单的ajax网站教程的代码感到困惑。这是可能的,我试图做不起作用。

在这种情况下,我怎么可能去做我想做的事。

现在我有一个主页,它会在另一个页面中加载而不切换页面。我喜欢它的华丽。我想有一种次呼叫。因此,如果您在主页上,然后进入课程页面,则可以单击特定课程,然后从课程目录中的其他目录加载该课程。

  • 首页(当你点击课程,你去...)
    • 页/ courses_home.html(当你点击一个当然你去......)
      • 课程/ course_1 html的(你可以查看课程,然后单击后退到上面的目录或者去家)

这是结构我正在努力实现。

如果需要更多信息,请让我知道什么,我会尽我所能包括它。谢谢。

回答

1

的语法应为:

if(isset($_POST["page"])) { 

} elseif(isset($_POST["course"])) { 

} 

我不知道为什么你有一个模具声明那里,但我不认为它属于。另外,请记住如果这些条件都不符合,会发生什么情况的逻辑。

编辑:也请记住,isset不会阻止空字符串,所以您可能也想检查一下。你可以使用一个功能是

function checkPost($value) { 
    return isset($_POST[$value]) && $_POST[$value] !== ""; 
} 

要使用:

if(checkPost('page')) { 
    //some logic 
} 
+0

我相信这可能是最合乎逻辑的答案,谢谢你的帮助,谢谢。 –

0

试试这个:

if isset(($_POST['page'])) { 

... 

} else if isset(($_POST['course'])) die("0"); { 

,而不是这样的:

if($_POST['page']) { 

... 

} else if ($_POST['course']) die("0"); { 
+0

我得到:解析错误:语法错误,意外 'isset'(T_ISSET),期待 '(' 在C:\ WAMP \ WWW \上线首页\ load_page.php 3 –

+0

尝试 如果isset(($ _ POST [ '页'])){ // ... }否则,如果isset(($ _ POST [ '当然'])){ 模具( “0”); } – Gabriel

1

语法错误。

elseif ($_POST['course']) { 

没有die语句。如果'当然'未定义其他语句的作品,并没有得到错误。对不起,英文不好。