2012-12-06 67 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(); 
?> 
相关问题