【问题标题】:How to add javascript to my php MVC framework如何将 javascript 添加到我的 php MVC 框架
【发布时间】:2013-08-05 00:11:12
【问题描述】:

我创建了一个简单的 PHP MVC 框架,我熟悉 PHP。我想我了解 JavaScript 的基础知识,但我不知道如何将它与我的 MVC 框架一起使用。现在,我的根目录中有一个名为 scripts 的文件夹,其中有一个名为 javascript.js 的文件,我将适当的源代码放入我的模板中。我现在要做的就是在接受/删除应用程序以加入我的站点之前在管理面板中创建一个简单的确认框。显然有两个按钮(接受/删除),我使用 onclick 调用一个函数(AdminModel::acceptApplication)。到目前为止,这是 AdminModel:acceptApplication 函数:

    public function acceptApplication($id) {
    $confirm=AdminModel::confirm();
    if($confirm) {
        $mysqli = BaseModel::dbConnect();
        $sql = "SELECT * FROM applications WHERE id=" . $id;
        $result = mysqli_query($mysqli, $sql);
        $row = mysqli_fetch_array($result);

        $sql = "INSERT INTO users (fname, lname, email, password) VALUES (" . $row['fname'] . ", " . $row['lname'] . ", " . $row['email'] . ", " . $row['password'] . ")";
        mysqli_query($mysqli, $sql);

        $sql = "DELETE FROM applications WHERE id=" . $id;
        mysqli_query($mysqli, $sql);

        header('Location: http://www.canforce.org/' . $_SESSION['language'] . '/admin/applications');
    }
    public function confirm() {
    $confirm = echo '<script> areYouSure(); </script>';
    return($confirm);
     }

如果单击“是”,JavaScript areYouSure() 函数将返回 true:

function areYouSure() {
if(<?php echo $_SESSION['language'] ?> == "fr") {
    confirm("&Ecirc;tes-vous s&ucirc;r");
}
else {
    confirm("Are you Sure?");
}

}

我猜我在这里所做的事情有问题,只是整个服务器端/客户端的事情,但是我不知道如何在我的网站中正确使用 javascript。我希望它能够工作,但如果有人有任何关于如何将 javascript 合并到我的 php mvc 框架中的提示或教程链接,那也将不胜感激。谢谢

【问题讨论】:

  • 你看过其他流行的 PHP MVC 框架是如何处理这个问题的吗?现在切换到另一个 MVC 还为时不晚 - en.wikipedia.org/wiki/Sunk_costs
  • 请学习使用准备好的语句,而不是简单地将“mysql_”替换为“mysqli_”。此外,javascript 应该包含在外部文件中,而不是转储到 HTML 中。哦...你所拥有的是不是 MVC。
  • zjd:我曾经运行过一个基于一些我认为是 Codon 框架的框架,但我想了解它是如何工作的,并喜欢学习它是如何工作的。
  • teresko:mysqli 可以很好地满足我的需求,除非有一些我不知道的原因。如果您彻底阅读了我的问题,您会注意到我的 javascript 在单独的文件中。它是 MVC,我基于我在网上找到的一个非常好的教程。我没有包含控制器或视图代码,因为它们与问题无关(我承认,也许确认功能在技术上不属于那里,但它适用于我的目的)。
  • 你知道什么是“准备好的报表”吗?我什至不会碰你所谓的“MVC”。这里有一个提示:MVC 中的“模型”既不是类也不是对象。没有多个模型。模型是一个层。

标签: php javascript model-view-controller frameworks


【解决方案1】:

PHP 在服务器上运行。用于此对话的 Javascript 在浏览器中运行。您试图在服务器上获取浏览器级别调用的结果,另一台计算机将无法正常工作。您的模型代码存在于服务器上。

您需要将 js 文件包含在您的 html 文件中,在这种情况下,无论您的视图是否通过。

PS。准备好的语句的目的是防止有人能够对您的数据库运行查询,包括删除和获取您的所有用户信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-23
    • 1970-01-01
    • 1970-01-01
    • 2015-01-31
    • 2021-12-07
    • 1970-01-01
    • 2010-11-24
    • 2014-11-21
    相关资源
    最近更新 更多