2016-06-30 47 views
0

所以,我試圖讓登錄頁面工作,但我有一些錯誤。以下是發生了什麼事以及哪些行不通的細節。PHP代碼不工作 - 打印自定義錯誤消息

  1. 頁面正常加載,並且可以看到所有內容。
  2. 如果我輸入正確的用戶名&密碼組合,我知道它已被接收,因爲頁面變成空白。但是,回顯語句不會打印。

    echo "You have been logged in as ".$firstName." ".$lastName.", (".$user.")."; 
    echo "<a href = 'GroceryOrder.php'>Confirm</a>"; 
    
  3. 當不正確的數據被輸入用戶名和密碼的字段,而不是打印錯誤信息,頁面只是重新加載,印有沒有新的消息。
  4. 我的按鈕創建一個帳戶的作品。

任何幫助將不勝感激!這裏是我的代碼的主體(和我的數據庫設置正確,我已經檢查)。另外,我調用了session_start();在我頭部信息前的文檔頂部。

+2

你是否在單個字符串中有整個HTML? ':o' –

+0

這是因爲我希望在打開頁面時調用它,如果某些事情輸入不正確,就會調用它。有沒有更好的方法來設置它呢? *還有一個PHP變量,我想改變取決於輸入。 – MandyLB

+0

最好使用'include(「page.inc」)'或其他東西。主要原因是,開發人員很難改變其中的任何內容。同意? –

回答

0

嘗試if (isset($_POST['loginBtn'])){

該更換if ($_POST['loginBtn']){會檢查,而不是檢查是否「submitBtn」有什麼值而定,如果名稱爲「submitBtn」提交的值就是「真」
(至極它不似乎沒有在你的情況下)

+0

這幫助擺脫了一個錯誤,說loginBtn是未定義的,但沒有幫助讓事情正常工作。 – MandyLB

+0

您應該將HTML保留在PHP之外,反之亦然,以提高可讀性。發現任何錯誤都有點困難 – Minzkraut

0

這裏的問題是你如何檢查POST。使用:

if (count($_POST)) // This checks if there's anything being posted to the page. 
+0

我在哪裏可以更改我的程序? (對不起,還在學習) – MandyLB

+0

@MandyLB用上面的代碼替換'if($ _POST ['loginBtn']){''。 –

+0

我按照@Minzkraut的建議將它更改爲if(isset($ _ POST ['loginBtn'])),並刪除了另一個錯誤。在這種情況下使用count會更好嗎?我想要做的是檢查按鈕是否被按下。 – MandyLB