2013-06-28 61 views
1

您好我有一個簡單的數據庫連接測試PHP文件(index.php),應該用include語句調用另一個頁面(output.html.php),但它似乎不工作。請幫忙。以下是兩個文件的代碼。謝謝。PHP包括不啓動

index.php

<?php 
try 
{ 
     $pdo = new PDO('mysql:host=localhost;dbname=ijdb', 'ijdbuser', 'mypassword'); 
     $pdo->setAttribute(PDO::ALTER_ERRMODE, PDO::ERRMODE_EXCEPTION); 
     $PDO->exec('SET NAMES "utf8"); 
} 
catch (PDOException $e) 
{ 
     $output = 'Unable to connect to the database server.'; 
     include = 'output.html.php'; 
     exit(); 
} 

$output = 'Database connection established.'; 
include 'output.html.php'; 
?> 

output.html.php

<!DOCTYPE html> 
<html lang="en-us"> 
     <meta charset="UTF-8" > 
     <title>DB Example</title> 
     <head> 
     </head> 

     <body> 

       <p> 
       <?php echo $output; ?> 
       </p> 

     </body 
</html> 

我只是得到空白頁。

+0

順便說一句,這兩個文件是在同一目錄下。 – user2220115

+1

是的,呃..這不是'include()'在php中的工作方式。 – Bassem

+0

空白時代通常是服務器出現問題的良好指示器,並且不會啓用錯誤報告。檢查服務器上的錯誤日誌。 – 2013-06-28 23:48:40

回答

2
include 'output.html.php'; 

include = 'output.html.php'; 

取出=

+0

他有...幾行後... –

+2

有3個問題,有一個例外被提出,第一個包括沒有正確說明,與錯誤報告禁用,你有一個空白頁。 – Bassem

0

可能是你misstiped的問題字符串的結尾,並已經解決了這個問題。總之,這裏是一個小錯誤:index.php文件,第一次嘗試{}塊:

... 
$PDO->exec('SET NAMES "utf8"); 
... 

它應該是:

$PDO->exec('SET NAMES "utf8"'); 

希望它可以幫助你。正如你在答案和評論中看到的那樣,在PHP開發環境中啓用錯誤是解決這種「死亡白屏」錯誤的最佳方法。下面是關於這最後一個話題參考:http://www.php.net/manual/en/errorfunc.configuration.php#89648

+0

謝謝大家回覆。我嘗試了上述所有更改,但仍未重定向到包含的文件。我會在提供的鏈接上閱讀一些內容。 – user2220115

+0

上面的代碼是否適用於任何人?謝謝。 – user2220115

1
index.php: 

    <?php 
    try 
    { 

      $pdo = new PDO('mysql:host=localhost;dbname=ijdb', 'ijdbuser', 'mypassword'); 
      $pdo->setAttribute(PDO::ALTER_ERRMODE, PDO::ERRMODE_EXCEPTION); 
      $dbh->exec("SET CHARACTER SET utf8");//$PDO->exec('SET NAMES "utf8"); 

      header("location:output.html.php?msg=Database%20connection%20established"); 
    } 
    catch (PDOException $e) 
    { 
          header("location:output.html.php?msg=Unable%20to%20connect%20to%20the%20database%20server"); 

    } 

?> 

我明白,如果你有文件重定向到該頁面是空白,因此沒有按摩($輸出)show.if應用重定向你移動方法以在失敗和成功時顯示所需的消息。

output.html.php: -

<!DOCTYPE html> 
<html lang="en-us"> 
     <meta charset="UTF-8" > 
     <title>DB Example</title> 
     <head> 
     </head> 

     <body> 

       <p> 
       <?php if(isset($_GET['msg'])){echo $_GET['msg'];} ?> 
       </p> 

     </body 
</html> 
+0

我盡我所能,我希望這會幫助你..... –