2013-12-08 61 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語句。如果'當然'未定義其他語句的作品,並沒有得到錯誤。對不起,英文不好。