Php X-Cart 4.6向数据库中的新表提交数据时出错

Php X-Cart 4.6向数据库中的新表提交数据时出错,php,mysql,ajax,x-cart,Php,Mysql,Ajax,X Cart,嗨,当用户到达订单确认页面时,我正试图将一些数据保存到数据库中新创建的表中,我被卡住了。我知道AJAX调用正在与php文件进行通信,因为我可以简单地将响应(输出)记录到console.log中,然后从php文件中得到预期的结果(例如:echo'hello')——所以这里一切都很好 我还在init.php中注册了新的表别名 以下是order_message.tpl文件中的JS代码: var newData = { "one":"test one", "two":"test two" }

嗨,当用户到达订单确认页面时,我正试图将一些数据保存到数据库中新创建的表中,我被卡住了。我知道AJAX调用正在与php文件进行通信,因为我可以简单地将响应(输出)记录到console.log中,然后从php文件中得到预期的结果(例如:echo'hello')——所以这里一切都很好

我还在init.php中注册了新的表别名

以下是order_message.tpl文件中的JS代码:

var newData = {
   "one":"test one",
   "two":"test two"
};

$.ajax({ url: '/newDir/newFile.php',
    data: {
        dataToSend: newData
    },
    type: 'post',
    success: function(output){
        console.log(output);
    },
    error: function(xhr, textStatus, error){
        console.log(xhr.statusText);
        console.log(textStatus);
        console.log(error);
    }
});
下面是文件root/newDir/newFile.PHP中的PHP代码:

require '../init.php';
require '../include/func/func.db.php';

if(isset($_POST['dataToSend']) && !empty($_POST['dataToSend'])) {
   $ssData = json_decode($_POST['dataToSend']);
   myFunc($ssData);
} else {
   die( header('Location: ../404.html') );
}

function myFunc($dt){
   $toSaveData = array(
      'one' => $dt->one,
      'two' => $dt->two
   );
   func_array2insert ('my_new_table', $toSaveData);
}
我可以在开发工具中看到AJAX调用,但它会输出以下错误:

  • 获取404(未找到)
  • 找不到
  • 错误
  • 找不到
我没有在代码中的任何地方引用这个路径,因为它不存在,所以我不确定这里发生了什么。接下来的3个错误来自AJAX错误方法。数据库中没有存储任何数据

如果我注释掉“require'../init.php';”,我不会得到任何错误,而是会得到一长串html代码。但仍然没有数据保存到数据库中

任何人都能看到问题所在

非常感谢。

1)将newFile.php脚本移动到stock cart.php脚本所在的文件夹中

2) 将修补程序应用于PHP文件

--- old.php 2019-03-14 15:19:10.162222071 +0400
+++ new.php 2019-03-14 15:25:41.160826722 +0400
@@ -1,5 +1,11 @@
-require '../init.php';
-require '../include/func/func.db.php';
+require __DIR__.'/top.inc.php';
+
+define('QUICK_START', true);
+define('SKIP_CHECK_REQUIREMENTS.PHP', true);
+define('USE_SIMPLE_SESSION_INTERFACE', true);
+define('USE_SIMPLE_DB_INTERFACE', true);
+
+require __DIR__.'/init.php';

 if(isset($_POST['dataToSend']) && !empty($_POST['dataToSend'])) {
    $ssData = json_decode($_POST['dataToSend']);
或者在这里下载新版本

3) 更改行中的URL

$.ajax({ url: '/newDir/newFile.php',

给新的。使用相对路径或绝对路径。

谢谢你,伊尔达。你能告诉我这几行开头的
--
++
-
+
是什么意思吗。如果我将此代码保持原样,则在第一个
-
.Ildar上会出现语法错误。如果它是一个全新的文件,为什么我需要对其进行修补?抱歉,这是我以前从未做过的事情,所以我对这个过程有点困惑。我已经在这里上传了newFile.php文件