2012-07-18 131 views
1

好吧,所以我已经看了很多问题,但我只找到1个类似于我正在尝试做的事情。这里是它的链接:Passing POST data from one web page to another with PHP将POST数据从另一个PHP文件发送到PHP文件的方式?

我想从一个PHP文件(我们称之为editData.php)到另一个PHP文件(我们将其称为submitData.php)传递数据。这两个文件都没有任何HTML元素(我的意思是纯PHP代码)。第一个文件(editData.php)接收$ _POST数据,对其进行编辑,并且需要将其发送到第二个文件。第二个文件(submitData.php)需要能够使用$ _POST读取数据。 没有会话也没有cookies可以使用恐怕。

在上面的链接的问题,接受的答案是从那里创建一个表单内和POST数据隐藏字段。这对于OP来说很有效,因为他在他的“editData.php”上有用户交互,所以当用户想要去“submitData.php”时,他会发送数据。

我不能使用这个解决方案(至少,我不认为我可以),因为我正在访问(并发送$ _POST数据)从javascript AJAX调用editData.php将不会有用户在此页面上进行交互。我需要通过代码发布修改后的数据,或者其他一些“自动”传输(或“behinid-the-scenes”或任何你想称之为的事情)的方式。 submitData.php将在editData.php之后被调用。

我不知道如果我能改写submitData.php接受GET数据,所以算出来那以及(它是能够访问该文件的问题)。我真的不想回到我原来的JavaScript函数(然后再次AJAX)。我正在加密editData.php中的信息,(虽然它听起来很愚蠢),但我不想让别人为我的加密开发密码变得容易。在加密后返回值(用Inspect Element可见)会让你很容易破译,如果你问我。

我觉得这个问题可以想出了很多,所以我期望有一些明显的我失踪。如果是这样,请告诉我。

tl; dr? 如何通过POST方法将数据发送到PHP文件,而只使用另一个PHP文件中的代码?

+1

你可以使用[PHP卷曲(http://us2.php.net/manual/en/book.curl.php)。 – 2012-07-18 19:52:26

+0

我需要为此安装任何东西吗?有人告诉我这是一个外部图书馆。 – cNovak 2012-07-18 19:53:19

+1

他们必须是单独的PHP文件吗? AFAIK你可能会遇到AJAX问题,因为它会请求一个特定的PHP文件;并且数据将从另一个返回。 (_换句话说,我不确定XMLHttpRequest是否可以与一个调用另一个实际返回数据的PHP文件一起工作;它不喜欢使用可以重定向的浏览器_) – 2012-07-18 19:53:28

回答

4

那么你可以考虑只是简化您的方法,并包括在editData文件的末尾submitData逻辑。但是,假设由于某些原因(文件存在于不同的系统或者其他系统中),这是不可能的,您最好的办法可能是使用cURL功能将数据发布到第二个脚本。

如果文件是在同一台服务器上,虽然我会强烈建议不要将数据发布到第二个脚本,因为这将基本上只增加一倍,你的Web服务器需要处理与此相关的脚本请求的金额。

+0

+1您的代码应该是模块化的,以便您可以轻松地在submitData.php中包含逻辑,如其他页面editData.php。 – Xeoncross 2012-07-18 19:57:05

+0

@Xeoncross我的submitData.php通常通过JS AJAX调用,但在这种情况下我需要从PHP文件访问它。 – cNovak 2012-07-18 20:01:22

+0

@ user1454408,这是我的观点。您设计的系统没有适当的组件分离,现在将您置于这种艰难的环境中,您无法轻松地在另一个地方的某个地方使用逻辑。 – Xeoncross 2012-07-18 20:04:21

相关问题