一个在同一位置更新的PHP计算器

A PHP calculator which updates in the same place

本文关键字:更新 计算器 位置 PHP 一个      更新时间:2023-09-26

我最初打算创建一个经典的"键入时更新"基于Javascript的养老金计算器,但不希望用户能够通过下载.js文件来查看业务逻辑。然而,似乎没有一种健壮的方法来保护.js文件中的业务逻辑。

因此,我现在要把计算逻辑放在PHP的服务器上。关于创建一个提交到另一个列出输出的页面的表单,有很多材料。然而,我的计算器是主页上的一个侧栏,我希望用户单击"计算",结果将显示在同一个框中,而不会被带到单独的页面。

这可行吗?如果可行,你会对解决方案的架构提出什么建议?(例如,将计算逻辑保持在.php中,并且仍然使用xyz等通过Javascript调用它)。寻求指导和设计建议。目标是一个具有合理复杂逻辑但没有数据库查找的计算器,最重要的是,用户不能移动到单独的页面。

非常感谢。2012年8月3日

编辑(2012年12月17日):所以四个月后,我终于破解了它!看看www.pencalc.org,它演示了我试图构建的东西。使用Javascript异步调用基于PHP的计算。谢谢你们的帮助。

knittl和sachleen一直在把你推向正确的方向,但我觉得需要一个更完整的答案。

如果您不想向最终用户公开您的业务逻辑,您可以使用js/AAJAX将表单自动提交到PHP脚本。然后脚本为计算器计算一些值,然后只打印该值(比如,20.45美元)。JS最终会看到PHP脚本的响应。一旦您从服务器获得了值,就将该值转储到计算器中的相关字段中。现在,用户所能看到的只是一堆JS,它们将用户的数据发布到PHP脚本中。

然而,我会看看JQuery,它有助于自动化AJAX的许多工作以及任何涉及操纵DOM的工作。

您可以在JavaScript:中不使用任何业务逻辑来实现这一点

  1. 使用jQuery.data或类似的东西
  2. 当用户单击"计算"时,通过AJAX将这些数据发送到PHP脚本
  3. PHP处理请求并输出结果
  4. javascript将结果放回DOM中

您的业务逻辑将在PHP页面中。它将接收来自$_POST阵列的输入并处理数据,并回显输出。

看看jQuery的.post(),了解如何发出POST请求。您使用输入发出请求,然后从PHP获得输出。然后,您可以使用.text().val()或类似的方法显示数据。