我有一个遗留脚本,我想将其集成到 cakephp 应用程序中。该脚本使用了 $_POST 等,因为我是个菜鸟,所以我需要一些集成帮助。
脚本如下所示:
JavaScript:
- 原型(prototype).js
- builder.js(这两个来自原型(prototype)固件)
- lib.js(向remote.php发出ajax请求)
PHP
remote.php(包含 FastJSON 类和 $_POST 变量)
if ($_POST['cmd'] == 'SAVETEAM' && $_POST['info']) { $INFO = json_decode(str_replace('\"', '"', $_POST['info'])); $nr = 1; $SORT = array($INFO->GK, $INFO->DEF, $INFO->MID, $INFO->FOR, $INFO->RZ); foreach ($SORT as $STD) foreach ($STD as $v) mysql_query("UPDATE players_teams SET fieldposition = ".$nr++." WHERE player_id = {$v->player_id} AND team_id = {$v->team_id}") or die(mysql_error()); // CAPTAION mysql_query("UPDATE `teams` SET captain = '{$_POST['captain']}' WHERE `user_id` = {$_POST['userid']}") or die(mysql_error());
}
transfers.php(包含使用 javascript 的表单以及指向 JS 的链接)
我真的不知道如何在 cakephp 中构建文件和调用。目前,我有“未定义索引:cmd [APP/vendors/remote.php,第 230 行]”错误,因为我使用 $_POST['cmd'] (我将remote.php 放在 Vendors 中并包含它,JS 只是包含旧的时尚的方式,作为链接并出现在源代码中)。我怎样才能做到这一点?抱歉,我不熟悉 AJAX 和 Cake...如果您想完整查看代码,这里是:http://octavian.be/thecode.zip
感谢您阅读并帮助我。
最佳答案
- CakePHP 中仍然有 PHP,
$_POST
以及所有其他内容仍然可用。 - 浏览器中的 JavaScript 根本不关心 Cake,它只是照常运行。
(除非它从服务器检索数据,您可能必须使用 Cake 来模拟。) - 旧版 PHP 脚本非常糟糕。
- 弄清楚它的作用,并记录下来。
- 查看各个阶段的所有变量 (
var_dump()
),以了解脚本提取的信息类型。 - 清理它,修复所有错误。
- 将数据库操作转换为 Cake。
- 遇到问题时提出更具体的问题。
关于php - 将旧版 Ajax 脚本集成到 CakePHP 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2588400/