【问题标题】:How to combine PHP and HTML files to access/manipulate database [closed]如何结合 PHP 和 HTML 文件来访问/操作数据库 [关闭]
【发布时间】:2016-12-01 21:23:43
【问题描述】:

目标:

我正在尝试创建一个可以访问我的数据库并能够选择、插入、更新和删除记录的 Web 应用程序。我是使用数据库和 PHP 的新手,并且已经查看了其他问题,试图在我的理解上有所突破,所以请善待,不要将其标记为重复。


问题:

我有一个包含我的网页的 html 文件,它是一个日程安排工具,用户可以在其中安排与其他人的会议。我已经创建了一个数据库并理解了操作该数据库的 PHP 代码,但我不知道在哪里执行此操作。


问题:

比如说,我有一个 PHP 函数,它接收会议时间和会议描述,并将其记录到数据库中(不完全是我想要做的,但足以让我理解) .我想要它,以便当用户单击我页面上的一个片段并登录该会议信息时,它可以调用该 PHP 函数并登录数据。目前,我有一个 html 文件和 3 个 js 文件,其中包含我页面的所有信息。我看到可以将 html 信息放入 php 文件中,但反之则不行。那么,我是否:

A.) 创建一个单独的 php 文件,其中包含我操作数据库所需的所有函数,并从我的 html 和 javascript 文件中调用这些函数?

B.) 在 php 文件而不是 html 文件中创建我的整个页面,这样我就可以穿插 php 的 sn-ps 来操作我的数据库?

C.)我没有正确理解它,还有什么我应该做的吗?

我知道这是一个非常基本的问题,但到目前为止我还没有找到启发我的答案,我认为这可能对未来的初学者有用。

【问题讨论】:

  • 我们能看看你到目前为止的尝试吗?我们不会从头到尾构建......
  • 这对 SO 来说太宽泛了。但是,您似乎缺乏对如何构建动态 Web 应用程序的基本了解。你可能比看看 CodeIgniter 更糟糕,这样你就可以了解 MVC - 模型、视图、控制器。这样你就可以了解表示、逻辑和数据之间的区别。无论您有一个巨大的 PHP 文件还是多个,两者都可以工作,但它关系到可扩展性、经济性、效率和易于维护。
  • 哪里有更好的论坛来获得我正在寻找的帮助,这里的人不太热衷于帮助没有很多基础知识的初学者
  • 这并不是说人们没有帮助(好吧,有些可能是),而是您误解了 SO 的目的。它适用于基于代码的问题。您的问题引发的讨论多于答案。我给了你一些建议 - 研究 MVC,因为你显然需要学习如何在使用代码时构建文件。 MVC 与其他任何结构化方法一样出色,而 CodeIgniter 是一个非常友好的框架。

标签: php html mysql


【解决方案1】:

您的问题的一般答案是MVC 框架。如果您想构建 Web 应用程序,它将在许多方面使您的生活更轻松:路由、与数据库通信、管理数据、分离前端和后端。网上有很多,我可以推荐的一个是 Laravel。尽管您可以使用任何您满意的文档。 Symfony、Zend、CodeIgniter 等等。

从您的问题来看,您似乎缺乏有关 PHP 和一般应用程序构建机制的信息,因此尝试从头开始为应用程序创建自己的基础可能会导致灾难并阻止您继续。如果你有一些空闲时间,获取知识最简单的方法应该是书籍。他们将指导您从代码中的第一个字母到最后。买一本好书要小心,这样你就不会花时间去学习坏习惯(只要看书的cmets)。

不过,我将尝试简要回答您提出的问题。在互联网上找到更多信息应该不难。

从前端 (html) 到后端 (php) 的最常见通信方式是通过表单。您创建一个针对 PHP 文件脚本的动作的表单(它甚至可能是同一个页面,但通常我们会避免这种情况)。您可以使用例如 POST 方法。多亏了它,在用户填写并单击提交按钮后,PHP 脚本将通过 POST 接收所有数据。在脚本中,您可以使用 $_POST,它是随表单发送的数据的全局集合。我们来看例子:

<form action="this.php" method="POST">
  <input type="text" name="name" placeholder="Please enter your name">
  <input type="email" name="email" placeholder="Please enter your email">
  <input type="submit">
</form>

this.php 文件中将有:$_POST['name']$_POST['email']。您现在可以处理它们并最终将它们放入数据库中。

阅读更多:http://php.net/manual/en/reserved.variables.post.php

还有 GET 方法。它允许您通过 url 参数发送数据。假设您的数据库中有太多数据,您需要将其拆分为页面。您可以创建一个 href "mytestpage.php?page=2" 来代表您当前所在的页面。您可以使用 $_GET['page'] 读取此属性。

阅读更多:http://php.net/manual/en/reserved.variables.get.php

如果您使用纯 PHP,请务必采取预防措施。请记住,用户可能会传递危险数据并违反您的脚本。

用户与后端沟通的其他常见方式是 AJAX。它使用 javascript 与脚本进行异步通信并运行它们。例如,您想创建不刷新站点并阻止用户阅读您文章的其余部分的时事通讯框。它可能不是使用 AJAX 的最佳方式(相信我它更强大),但它是您会考虑的情况。它的工作原理是这样的:用户提交表单 - 数据被 javascript 拦截,它对服务器进行异步调用以传递数据 - 用户看不到这一点,也不会对他的浏览产生任何影响。 AJAX 很容易与 jQuery javascript 库一起使用。

阅读更多:http://api.jquery.com/jquery.ajax/

【讨论】:

    猜你喜欢
    • 2019-01-14
    • 2013-11-18
    • 2016-05-09
    • 2011-10-22
    • 2020-09-01
    • 1970-01-01
    • 2023-03-25
    • 2015-12-13
    • 2011-10-25
    相关资源
    最近更新 更多