2012-12-06 111 views
1

目前我已經使用JavaScript來顯示警報,以通知執行成功,僅用於測試目的。我怎樣才能做到這一點在PHP面向對象的風格?如何在面向對象的PHP中顯示警報/消息?

我已經試過:

public $msg='May the force be with you.'; 
$this->msg = new msg(); 

...但結果卻是白色的空白頁。我試過的JavaScript片段雖然運行良好。下面是完整的代碼:

<?php 
class database { 
    public $mysql; 
     private $db_host='localhost'; 
     private $db_username='admin'; 
     private $db_password='password'; 
     private $db_name='db'; 

    function __construct() { 
     $this->mysql = new mysqli($this->db_host, $this->db_username, $this->db_password, $this->db_name) or die (mysql_error()); { 
      echo 
      "<script type='text/javascript'> 
      alert ('The Force will be with you, always.'); 
      </script>"; 
     } 
    } 
    function __destruct() { 
     $this->mysql->close(); 
    } 
} 
?> 

回答

3
  1. PHP是服務器端,這意味着它運行來自所述用戶不同的機器上。

  2. Javascript是客戶端,這意味着它運行在用戶的機器上。

  3. 服務器應該無法控制用戶機器上的任何內容。

因此,PHP中的警告框是不可能的。 :)

你必須堅持Javascript,它只能運行客戶端。這或者將純文本回顯到文檔本身。這個關係帶來了其他有趣的問題,例如「Javascript如何與服務器通話」(答案:ajax)和「腳本可以與另一臺計算機通話」(答案:是的,但它不應該是)。

1

在PHP中,你可以做print_r()任何變量(或var_dump())看到一個物體或陣列等

這樣做將直接傾倒在網頁源內容的內容(但不作爲瀏覽器彈出)。

3

試試此代碼:

<?php 
class database { 
    public $mysql; 
     private $db_host='localhost'; 
     private $db_username='admin'; 
     private $db_password='correcthorsebatterystaple'; 
     private $db_name='projekt'; 

    function __construct() { 
     $this->mysql = new mysqli($this->db_host, $this->db_username, $this->db_password, $this->db_name) or die (mysql_error()); 
    } 
    function pri() 
    { 
      echo 
      "<script type='text/javascript'> 
      alert ('The Force will be with you, always.'); 
      </script>"; 
     } 
    function __destruct() { 
     $this->mysql->close(); 
    } 
} 

$msg=new database(); 
$msg->pri(); 
?> 
相關問題