如何在面向对象的PHP中显示警报/消息?

时间:2012-12-06 05:40:56

标签: php javascript object

目前我使用JavaScript显示警报以通知执行成功,仅用于测试目的。我怎么能用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 个答案:

答案 0 :(得分:3)

  1. PHP是服务器端,这意味着它在与用户不同的机器上运行。

  2. Javascript是客户端,这意味着它在用户的计算机上运行。

  3. 服务器无法控制用户计算机上的任何内容。

  4. 因此,无法使用PHP的警告框。 :)

    你必须坚持使用Javascript,它只运行客户端。那,或者将明文回复到文档本身。

    仅供参考,这种关系提出了其他有趣的问题,例如“Javascript如何与服务器通信”(答案:ajax)和“脚本可以与另一台计算机通话”(回答:是的,但不应该)

答案 1 :(得分: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();
?>

答案 2 :(得分:1)

在PHP中,您可以为任何变量(或print_r())执行var_dump()以查看对象或数组的内容等。

这样做会直接将内容转储到页面源上(但不能作为浏览器弹出窗口)。