a253910322 2017-07-27 02:42 采纳率: 100%
浏览 2233
已采纳

Python向PHP发送POST数据,PHP收到之后如何保存?

这个是Index.php界面,他的作用只有一个,将session中的内容显示出来。

 <?php
    session_start();
?>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <?php
            var_dump($_SESSION);
        ?>
        <a href="ShowSession">ShowSession</a>
    </body>
</html>

这是第二个界面OnPostMessage.php,他的作用是接收Python的POST请求,并把接受到的数据设置到SESSION中

 <?php
session_start(); 
$loginright = array();
foreach($_POST as $key=>$val)
{
    global $loginright;
    $loginright[$key] = $val;
}
$_SESSION['loginright'] = serialize($loginright);
print_r($_SESSION);

第三个界面ShowSession.php 作用也是将SESSION显示出来

 <?php
session_start();
var_dump($_SESSION);

最后一个文件: SendPost.py这里用Python函数 想第二个界面OnPostMessage.php发送POST数据

 import urllib
import urllib2

import httplib
import json

test_data={'ServiceCode':'aaaa','b':'bbbbb'}
test_data_urlencode=urllib.urlencode(test_data)
requrl="http://localhost/PhpProject2/OnPostMessage.php"
req=urllib2.Request(url = requrl,data =test_data_urlencode)

res_ddd=urllib2.urlopen(req)
res = res_ddd.read()
print res

原本希望实现的现象
1. 首先启动 这个PHP程序,界面默认在Index.php这个界面上。
2. 这时候因为没有设置任何SESSION,所以显示出来的SESSION内容也是空的
3. 在这个时候 使用 SendPost.py 想第二个界面OnPostMessage发送POST请求. 第二个界面收到发送的数据之后 将他设置到SESSION中
4. 最后将PHP界面跳转到ShowSession界面上,将SESSION打印出来。

现在遇到的问题:
1. 为什么最后界面ShowSession什么都显示不出来呢? 在上面第三步的时候已经把内送设置到SESSION中了,而且可以在Python函数中捕获到SESSION中设置的值。

这个现象是不是从根本上就错了? 如果错了。想要实现这个需求应该怎么错呢?如果不把数据写文件或者写数据库的话。

  • 写回答

2条回答 默认 最新

  • free_ant 2017-07-27 03:18
    关注

    服务端是通过客户端传过来的sessionID,来获取session数据的,通常浏览器会通过cookies把sessionid传到服务端(也可以手动设置),这是前提;

    而你这段代码,服务端是接收到了数据并存储了;

    但你再访问ShowSession.php页面时,你所携带的sessionid和你通过python设置时的sessionid不同,

    所以session中对应的你这个sessionid无数据

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)