如何在php中创建警报功能?

时间:2017-07-08 03:59:42

标签: javascript php function class alert

我希望在db mysql中插入用户,我有一个控制器php,我验证用户是否通过函数存在于db中,然后如果或不存在我想要显示警报功能重定向到php页面,为此我使用:< / p>

<?php

 if(dao::existUser($user)) {
    echo "<script type=\"text/javascript\">\n";
    echo "alert('user exist!');\n";
    echo "window.location = ('../insertUser.php');\n";
    echo "</script>"; 
 }

这个功能有效!!但 我想将函数封装在一个方法中以便以后调用它

示例:

<?php
class Utils {
  static function responseText($message, $url) {
     echo "<script type=\"text/javascript\">\n";
     echo "alert('"+$message+"');\n";
     echo "window.location = ('"+$url+"');\n";
     echo "</script>";
  }
}

然后,在我的控制器中:

<?php

 if(dao::existUser($user)) {
   Utils::responseText("user exist",'../insertUser.php');
 }

但不起作用,并在调用responseText后,我的页面变为空白

2 个答案:

答案 0 :(得分:0)

我不知道出了什么问题(可能是引用问题),但我建议使用HEREDOC样式并返回文本本身不输出HTML。后者可能很难通过查看调用它的类来跟踪此输出的来源。通过allcomb_var <- expand.grid(var1 = tbl_colnames, var2 = tbl_colnames, stringsAsFactors = FALSE) allcomb_var %>% purrr::pmap(.f = dens_wrapper, tbl=tbl) ,您可以轻松地看到它输出的内容,whiteout必须查看课程的内容。

所以喜欢这个。

np.log10

HEREDOC是一种不使用任何引号进行文本块的方法,请注意我在评论中添加的注释...在这种情况下,当您不必管理时,它会使Javascript字符串变得更加简单报价用法。

这个类的另一个建议是,如果它是静态方法的集合,你可以将它设置为无法实例化(使用new class()创建)这样

echo Utills::..

这样你就不会意外地做<?php class Utils { static function responseText($message, $url) { return <<<HTML <script type="text/javascript"> alert('$message'); window.location = '$url'; </script> HTML; //nothing can go here no space ( before or after ) and not even this comment, nothing but HTML; litterally } } echo Utils::responseText("user exist",'../insertUser.php'); 这是一件小事,但它会确保这门课的所有方法都保持静止。这只是我喜欢做的一个设计事情,单身人士和静态课程

更新您的问题是您正在使用<?php class Utils { private function __construct(){} //no instantion private function __clone(){} //no cloning 在PHP中进行连接,您应该使用$U = new Utils(); $U->responseText(..) +对Javascript不利非常适合PHP

使用.双引号concat的方式是不必要的,而不是

+

尝试

"

答案 1 :(得分:-1)

如果我理解你正确地将javascript绑定到php

<?php
    $script = '<script type="text/javascript">';
    $script .= 'function showAlert(){';
    $script .= 'alert("Hello World.");';
    $script .= '}';
    $script .= '</script>';
    echo $script;
?>

比页面加载后你可以打电话给它!

<script type="text/javascript">
    window.onload = function () {
        showAlert();
    }
</script>