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中设置的值。

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

php

2个回答

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

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

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

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

a253910322
a253910322 首先感谢大神的回答,因为刚开始学习PHP,对COOKIE和SESSION也不是很了解,根据上面的这个问题如果希望可以访问到数据 那应该怎么改呢?多谢 多谢
大约 2 年之前 回复

结帖了 就想上面大神说的那样,因为存储的不是同一个SESSION所以取不到数据,使用memcache能够实现原来的需求

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
PHP如何发送post数据到别的地址?
利用socket吗?我可以设置POST,设置参数名数据,就像填写表单一样把这个参数名的值写上,然后发送。
php如何发送post提交
php如何发送post提交,或者get提交页行。rn页面直接用form表单,action、method。但是怎么在php内发送呢?不要页面
PHP 发送POST请求
cURL是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如:HTTP,FTP。TELNET等。
php 向指定url 发送 post数据 (http)
<?php error_reporting(E_ALL || ~E_NOTICE);//报错屏蔽设置 date_default_timezone_set('PRC');//设置默认时区 $data_array["data"] = '{"id":"0029c591","mmac":"5e:cf:7f:29:c5:91","rate":"1","wssid":"datasky1","wmac":"00
php封装amf数据,发送post
模拟客户端请求,AMF请求 封包,目前只有C#版本的,我没学过C#,想把它翻译成php版本的,但是非常蛋疼啊。想问下目前网上有类似功能的类库了吗?或者已经有相同功能的代码了吗?rn[code=csharp]rnclass AMF_Post_Data rn rn public List message; rn rn /// rn /// 初始化Message rn /// rn /// rn /// rn /// rn public AMF_Post_Data(AMFType at, int headers, int bodies) rn rn //AMF版本 rn if (at == AMFType.AMF0) rn rn message = new List(new byte[] 0x00, 0x00 ); rn rn else if (at == AMFType.AMF3) rn rn message = new List(new byte[] 0x00, 0x03 ); rn rn rn //header数量 rn message.Add(BitConverter.GetBytes(headers)[1]); rn message.Add(BitConverter.GetBytes(headers)[0]); rn //body数量 rn message.Add(BitConverter.GetBytes(bodies)[1]); rn message.Add(BitConverter.GetBytes(bodies)[0]); rn rn rn /// rn /// 添加Target rn /// rn /// rn /// rn public void AddTargetAndResponse(string target, string Response) rn rn //添加Target长度 rn message.Add(BitConverter.GetBytes(target.Length)[1]); rn message.Add(BitConverter.GetBytes(target.Length)[0]); rn //添加Target内容 rn message.AddRange(Encoding.Default.GetBytes(target)); rn rn //添加Response长度 rn message.Add(BitConverter.GetBytes(Response.Length)[1]); rn message.Add(BitConverter.GetBytes(Response.Length)[0]); rn //添加Response内容 rn message.AddRange(Encoding.Default.GetBytes(Response)); rn rn rn /// rn /// 添加Body rn /// rn /// rn /// rn public void AddBody(AMF_Post_Data_Body apdb) rn rn message.AddRange(apdb.getLength()); rn message.AddRange(apdb.Content.ToArray()); rn rn rn rn class AMF_Post_Data_Body rn rn private byte[] length = new byte[4]; rn public List Content = new List(); rn rn /// rn /// 初始化Body rn /// rn /// rn /// rn public AMF_Post_Data_Body(DataType dt, int ArrayLength) rn rn //添加类型标识 rn Content.Add((byte)dt); rn rn //数组的话添加长度 rn if (dt == DataType.Array) rn rn Content.Add(BitConverter.GetBytes(ArrayLength)[3]); rn Content.Add(BitConverter.GetBytes(ArrayLength)[2]); rn Content.Add(BitConverter.GetBytes(ArrayLength)[1]); rn Content.Add(BitConverter.GetBytes(ArrayLength)[0]); rn rn rn rn public void AddData(DataType dt, string value) rn rn //添加类型标识 rn Content.Add((byte)dt); rn rn switch (dt) rn rn case DataType.Number: rn AddData_Number(double.Parse(value)); rn break; rn case DataType.String: rn AddData_String(value); rn break; rn case DataType.Boolean: rn AddData_Boolean(Boolean.Parse(value)); rn break; rn rn rn rn #region 更种类型处理方法 rn /// rn /// Boolean rn /// rn /// rn private void AddData_Boolean(bool p) rn rn if (p) rn Content.Add(0x01); rn else rn Content.Add(0x00); rn rn /// rn /// String rn /// rn /// rn private void AddData_String(string value) rn rn //添加长度 rn Content.Add(BitConverter.GetBytes(value.Length)[1]); rn Content.Add(BitConverter.GetBytes(value.Length)[0]); rn //添加内容 rn Content.AddRange(Encoding.Default.GetBytes(value)); rn rn /// rn /// Number rn /// rn /// rn private void AddData_Number(double p) rn rn byte[] b = new byte[8]; rn b = BitConverter.GetBytes(p); rn for (int i = 7; i > -1; i--) rn rn Content.Add(b); rn rn rn #endregion rn rn public byte[] getLength() rn rn length[0] = BitConverter.GetBytes(Content.Count)[3]; rn length[1] = BitConverter.GetBytes(Content.Count)[2]; rn length[2] = BitConverter.GetBytes(Content.Count)[1]; rn length[3] = BitConverter.GetBytes(Content.Count)[0]; rn rn return length; rn rn rn rn #region 类型枚举 rn public enum AMFType rn rn AMF0, rn AMF3 rn rn rn public enum DataType rn rn Number = 0, rn Boolean = 1, rn String = 2, rn UntypedObject = 3, rn MovieClip = 4, rn Null = 5, rn Undefined = 6, rn ReferencedObject = 7, rn MixedArray = 8, rn End = 9, rn Array = 10,//0x0A rn Date = 11,//0x0B rn LongString = 12,//0x0C rn TypeAsObject = 13,//0x0D rn Recordset = 14,//0x0E rn Xml = 15,//0x0F rn TypedObject = 16,//0x10 rn AMF3data = 17//0x11 rn rn #endregionrn[/code]
php 使用 curl 发送 post 数据
http://blog.sina.com.cn/s/blog_5fc7df450100q7ix.html
如何POST数据到PHP网址
我需要提交数据的网址为:https://infolayanan.smartfren.com/device/track.phprn网址里面有一个“提交查询内容”的按钮。rnrn网页内容是:rn rnrnrnrnrn现在要提交数据到php网页,用的是VC6.0的 MFC 对话框应用程序写的。rnrn提交的数据是这样的形式“D;510281889787187;A100001D1F7451;HSE910;Hisense;2.3.6,MSM7X2XA,E580.4.03.04.ID11,GRK39F;rn”rn现在要从应用程序POST表单数据到php页面,并且实现按钮提交功能,请问该如何写呢?rnrn最好贴出来源码,给100分,谢谢了!
php发送post的几种方法
function send_post($url, $post_data) { $postdata = http_build_query($post_data); $options = array( 'http' =&amp;gt; array( 'method' ...
php 网页发送post请求
function request_post($url = '', $param = '') { if (empty($url) || empty($param)) { return false; } $postUrl = $url; $curlPost = $param; $c
php 发送get,post 请求
发送Get请求: private function httpGet($url) { $curl = curl_init(); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_TIMEOUT, 500); // 为保证第三方服务器与微信服务器之间数据传输的安全性
php发送post请求函数
一个php发送post请求的函数。 代码如下: [code=&quot;java&quot;]
php发送post请求的方法
protected function curlPost($url,$data) { $ch = curl_init(); $params[CURLOPT_URL] = $url; //请求url地址 $params[CURLOPT_HEADER] = FALSE; //是否返回响应头信息 $params[CURLOP...
php发送get和post的方法
方法1: 用file_get_contents 以get方式获取内容 方法2: 用fopen打开url, 以get方式获取内容 方法3:用file_get_contents函数,以post方式获取url 方法4:用fsockopen函数打开url,以get方式获取完整的数据,包括header和body,fsockopen需要 PHP.ini 中 allow_url_fopen 选项开
PHP调用Python和PHP向Python发送数据
一、python文件位于项目中,非远程外部。 1、定义一个python测试文件 test.py #!/usr/bin/env python #-*- coding: UTF-8 -*- print "这是一个测试" 2、定义一个url去访问一个php方法(我直接在laravel框架里测试的) $output = exec("python /home/vagrant/code/php...
php 获取post 数据
上报方式:http://index.php?参数a=12&参数b=234rnrn 想在index.php 页面获取 上报数据 参数a 和参数b。rn index.php页面怎么写?谢谢啦。
php 数据POST
public function air_switch( $is_on) { $headers = array( 'POST /v1.0/device/21288/sensor/37498/datapoints HTTP/1.1', 'Host: api.yeelink.net', 'Accept: */*', 'U-ApiKey: ea012909bbf86a2f927b9d2e8a0f58fd', ); $switch = '{"value":' . $is_on . '}'; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'api.yeelink.net/v1.0/device/21288/sensor/37498/datapoints'); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, $switch); $data = curl_exec($curl); curl_close($curl); }
php post 得到数据
rn rnrn rnrn当我点击submit时 怎么得到文本框的值呢
php如何模拟http头发送post?
[code=php]POST http://qq.com/ HTTP/1.1rnHost: qq.comrnCookie: JSESSIONID=9D70DB1DF4A5EE6A0F051709665253C4rnConnection: keep-alivernUpgrade-Insecure-Requests: 1rnAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8rnUser-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 10_2 like Mac OS X) AppleWebKit/602.3.12 (KHTML, like Gecko) Mobile/14C92 MicroMessenger/6.5.9 NetType/WIFI Language/zh_CNrnReferer: http://qq.com/rnAccept-Language: zh-cnrnAccept-Encoding: gzip, deflaternContent-Length: 3rnrna=b[/code]rnrn比如向qq发送个postrnrn如用php带http头发送呢 并且获取返回数据
php如何发送get或者post请求????
php如何发送get或者post请求rnrn比如我现在要向localhost/webcounter/reinform.aspx发送一个post请求应该如何做呢rn我用如下代码rn$target="/webcounter/ReInform.aspx";//目标文件URLrn$domain="localhost";//网站域名rn$post_data="uid=3&webSiteID=1&RegUserName=dd&RegTime=2005-4-7 15:45:44&RegIp=127.0.0.1&RegOs=ddklf&RegBrowser=dfdf&ac=dddd";//传递的数据rn$fp=fsockopen($domain,80);rn$out = "GET ".$target."?".$post_data." HTTP/1.1\r\n";rn$out .= "Host: localhost\r\n";rnrnfwrite($fp, $out);rnwhile (!feof($fp)) rn echo fgets($fp, 128);rnrnfclose($fp);rn运行老是提示我rn这个东西rnrnHTTP/1.1 400 Bad Request Content-Type: text/html Date: Tue, 27 Dec 2005 12:25:17 GMT Connection: close Content-Length: 20 rnBad Requestrnrn郁闷死了 高手教教偶哈
php: 如何向服务器发送post or get 中文?
比如我要向localhost:12345 发送get命令。我使用的是rnfile_get_contents("http://localhost:12345?q="."名字")rn因为最后的q里面含有名字,不知道为什么总是服务器端接收的不好。服务器端我使用的是java,进行的url.decode(),但是好像解码不了.php发送过来的是中文这种东西。怎么办
php?保存控制器的数据
[code=php]rnview(点击上传按钮) -> controller (第一次保存上传的信息) rn->view(点击上传按钮) -> controller (第二次保存上传的信息) rn[/code]rnrn不用session和cookiern怎么在controller (第二次保存上传的信息) 时获取 controller (第一次保存上传的信息)
如何模仿BROWSER向PHP发送申请?
各位,我想用C写个程序模仿BROWSER向WEB SERVER发送HTTP申请rn首先我通过HOSTIP和80端口已经和HTTP SERVER建立了一个TCP连接为black_sockrn对于http://hostip/index.htm用如下GET methold,成功返回HTML的内容rn htsend(black_sock,"GET %s HTTP/1.0\r\n",file_text);rn htsend(black_sock,"Accept:text/plain\r\n");rn htsend(black_sock,"Accept:text/html\r\n");rn htsend(black_sock,"User-Agent: Http Client\r\n");rn htsend(black_sock,"Host: %s\r\n",host_text);rn htsend(black_sock,"\r\n");rn但对于http://hostip/index.php?usrid=10,其中index.php中只写了一句话:...echo $usrid;...rn我用如下POST metholdrn htsend(black_sock,"POST %s HTTP/1.0\r\n",file_text);rn htsend(black_sock,"Accept:text/plain\r\n");rn htsend(black_sock,"Accept:text/html\r\n");rn htsend(black_sock,"User-Agent: Http Client\r\n");rn htsend(black_sock,"Host: %s\r\n",host_text);rn htsend(black_sock,"%s:%s\r\n",param_text,value_text);rn htsend(black_sock,"\r\n"); rnHTTP SERVER返回提示正确,如“...HTTP/1.1 200 OK...”rn但显示不出我提交的参数10呢?
PHP如何向webservice发送xml请求
http://test.nbzhwj.cn/wj/server?wsdl接口地址,rn发送请求时,XML文件的结构类似如下,rnrnrn 330204rn20140625rnrn怎么发送请求呢?我用的是网上常用的soap........在线等,急急急,谢谢各位大神rn
PHP如何获取POST
写了个程序rnJS动态添加输入框,rn可到了提交的时候却因为name重名rn$_POST[]方法只能取到最后一个值。rn怎么才能取到所有的值
js向php发送post请求失败,求解
[code=javascript]function alertWin(title, msg, w, h) rn var titleheight = "22px"; // 窗口标题高度 rn var bordercolor = "#666699"; //窗口的边框颜色 rn var titlecolor = "#FFFFFF"; // 窗口的标题颜色 rn var titlebgcolor = "#666699"; // 窗口的标题背景色 rn var bgcolor = "#FFFFFF"; // 内容背景色 rn var iWidth = document.documentElement.clientWidth; //这个窗口的宽度 rn var iHeight = document.documentElement.clientHeight; //这个窗口的高度 rn //创建一个弹出层 rn var msgObj = document.createElement("div"); rn //设置弹出的层的样式 rn msgObj.style.cssText = "position:absolute;font:11px '宋体';top:" + (iHeight - h) / 2 + "px;left:" + (iWidth - w) / 2 + "px;width:" + w + "px;height:" + h + "px;text-align:center;border:1px solid " + bordercolor + ";background-color:" + bgcolor + ";padding:1px;line-height:22px;z-index:1001;"; rn document.body.appendChild(msgObj); rn //创建一个table用于容纳层上的内容 rn var table = document.createElement("table"); rn //将Table放到弹出层上 rn msgObj.appendChild(table); rn //设置table的格式 rn table.style.cssText = "margin:0px;border:0px;padding:0px;"; rn table.cellSpacing = 0; rn //插入一行用于显示标题 rn var tr = table.insertRow(-1); rn //插入一个单元格用于容纳标题 rn var titleBar = tr.insertCell(-1); rn titleBar.style.cssText = "width:100%;height:" + titleheight + "px;text-align:left;padding:3px;margin:0px;font:bold 13px '宋体';color:" + titlecolor + ";border:1px solid " + bordercolor + ";cursor:move;background-color:" + titlebgcolor; rn titleBar.style.paddingLeft = "10px"; rn //设置标题 rn titleBar.innerHTML = title; rn //关闭按钮事件 rn var closeBtn = tr.insertCell(-1); rn closeBtn.style.cssText = "cursor:pointer; text-align:right;padding:2px;background-color:" + titlebgcolor; rn closeBtn.innerHTML = "×"; rn closeBtn.onclick = function() rn document.body.removeChild(msgObj); rn rn //弹出的消息窗口内容 rn var msgBox = table.insertRow(-1).insertCell(-1); rn msgBox.style.cssText = "font:10pt '宋体';"; rn msgBox.colSpan = 2; rn msgBox.innerHTML = msg; rn var nameBox1 = table.insertRow(-1); rn var nameLable1 = nameBox1.insertCell(-1); rn nameLable1.style.cssText = "font:10pt '宋体';text-align:center;"; rn nameLable1.innerHTML = "手机 * "; rn rn var nameBox2 = table.insertRow(-1); rn var nameLable2 = nameBox2.insertCell(-1); rn nameLable2.style.cssText = "font:10pt '宋体';text-align:center;"; rn nameLable2.innerHTML = "验证码"; rn rn var nameBox3 = table.insertRow(-1); rn var nameLable3 = nameBox3.insertCell(-1); rn nameLable3.style.cssText = "font:10pt '宋体';text-align:center;"; rn nameLable3.innerHTML = ""; rn rnrn function get_mobile_code()rn alert("111");rn $.post('http://'+serverIp+'smsExecute.php', mobile:jQuery.trim($('#mobile').val()),send_code:, function(msg) rn alert(jQuery.trim(unescape(msg)));rn );rn alert("222");rn [/code]
php 可以接收到 POST 过来的数据,但是打印不出来
局域网中 两台不同的电脑,分别是 java 和 phprnjava 请求 php : http://192.168.0.1/demo.php 发送 POST 数据rn[code=php]rn//demo.phprn//php接收数据rn$data = file_get_contents("php://input");rnprint_r(json_decode($data, true));rnexit;rn[/code]rnrnrn抓包显示 rn[img=https://img-bbs.csdn.net/upload/201706/21/1498034097_73176.png][/img]rnrn为什么浏览器不显示打印的信息呢rn
PHP如何接收javascript POST的数据?
[code=javascript]$(document).ready(function() rn $("#submit").click(function()rn username = 1233;rn password = 1233;rn valc = 1233;rn //password = hex_md5(hex_md5(password)+valc);rn //password = hex_md5(password + valc);rn var data = new Object();rn data.j_username=username;rn data.j_password=password;rn data.j_valcode=valc;rn alert(password);rn $.ajax(rn url : 'http://127.0.0.1/test/simulation.php',rn type : "post",rn dataType : "jsonp",rn jsonp : "jsonp",rn data:data, rn )rn )rn);[/code]rn上面这段jsp代码,post出去应该是jsonp格式的,请问在php中如何接收并打印出来这些数值?rn代码已经改好方便调试~rn还有个问题...在代码不改变的情况下,改变URLrn当改变成错误的URL时和正确的URL时为什么POST的数据不一样?rn正确的:rn[img=https://img-bbs.csdn.net/upload/201407/03/1404351817_291990.png][/img]rn错误的:rn[img=https://img-bbs.csdn.net/upload/201407/03/1404351827_705193.png][/img]rn还请解释[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/onion/35.gif][/img]rn
php中如何接收Ajax POST数据
[code=html] rn 正在加载联系人rn rnrnrnrn rnrnrn rn rnCtrl+Enterrn 发送rnrnrnrn[/code]rnrn[code=javascript]rn/**rn * 发送信息/获取信息rn */rn// 清除定时器rnfunction clearChatTimers(id)rn if(id)rn //请除指定用户定时执行rn if(aPChatTimers[id])rn clearTimeout(aPChatTimers[id]);rn loadFlag = false;rn// console.log('clear:'+aPChatTimers[id]);rn rn elsern //请除所有用户定时执行rn for (var i=0;i0)rn var _scrollHeight = $('.dialog-comment-list').find('li').last().offset().top;rn $("#post-reply").closest('.site-im-dialog').find('.dialog-comment-list').animate(zoom:1,function()rn $(".dialog-comment-list-box").data('jsp').scrollTo(0, _scrollHeight);rn );rn rnrn $("#post-reply").removeAttr('disabled');rn clearInputMessage();rn clearChatTimers(0);rn getPrivateMessages(uid);rn elsern tipsOp(json.msg,'error');rn $("#post-reply").removeAttr('disabled');rn rn rn ,'json');rnrn[/code]rnrnrn返回 "msg":"\u53d1\u9001\u6210\u529f","status":"1","data":[]rnrn单击发送或 Ctrl+Enter 按钮不抬起 (如图)rnrn[img=https://img-bbs.csdn.net/upload/201504/04/1428144795_311368.png][/img]rnrnrnrnrnrn如何才能单击发送按钮或者按CTRL+ENTER 把数据POST到php处理 求PHP代码rnrnrnrnrn
PHP如何post没有参数名的数据?
一般不论get或post,都使用“参数名=参数值”这样的方式传递数据,我现在遇到一个问题,对方接口只接收无参数名的post数据,也就是post的时候,只发送数据,没有参数名。哪位有做过类似问题的,帮忙解决一下,谢谢
php不用表单如何post数据?
定义1.php,2.php页面,当打开1.php页面时,处理下过来段数据,然后跳到2.php页面,同时我也想传递一些数据到2.php页面,由于get方式段数据都是在地址栏中明文显示,所以想通过post传递,但是post一般都是用在表单中,现在有什么办法将数据传递到2.php中又不被用户看到(除了curl和socket);
PHP如何新开窗口,并POST数据
各位大佬好,想实现PHP如何新开窗口,并POST数据,下面的代码是空白,为什么呢rn$sHtml = " ";rn$sHtml.= "";rn$sHtml = $sHtml."";rn$sHtml = $sHtml." ";rnecho $sHtml;
php 无法获取post的数据
前台代码:rn[code=html] rn Choose Search Type: rn rn Authorrn titlern ISBNrn rn rn Enter Search Trem: rn rn rn rn [/code]rn后台代码:rn[code=php]$searchtype = $_POST['searchtype'];rn$searchterm = trim($_POST['searchterm']);[/code]rn 如题,当form表单以post方式提交时,后台获取不到传递的数据。但如果把post换成get,后台就可以正常获取数据。不知什么原因?rnF12审查元素,点submit后的的信息如下:rnRequest URL:http://localhost:63342/PHP/results.phprn[color=#FF0000][b]Request Method:POST[/b][/color]rnStatus Code:200 OKrnRemote Address:127.0.0.1:63342rnResponse Headersrnview sourcernaccess-control-allow-credentials:truernaccess-control-allow-headers:acceptrnaccess-control-allow-headers:content-typernaccess-control-allow-headers:originrnaccess-control-allow-headers:authorizationrnaccess-control-allow-origin:http://localhost:63342rncontent-length:2106rnContent-type:text/html; charset=UTF-8rnserver:PhpStorm 2016.2.1rnvary:originrnX-Powered-By:PHP/7.0.12rnRequest Headersrnview sourcernAccept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8rnAccept-Encoding:gzip, deflate, brrnAccept-Language:zh-CN,zh;q=0.8rnCache-Control:max-age=0rnConnection:keep-alivernContent-Length:44rnContent-Type:application/x-www-form-urlencodedrnCookie:Phpstorm-e596b797=07c19a4d-d2ed-4587-97d7-d472f4a91180rnHost:localhost:63342rnOrigin:http://localhost:63342rnReferer:http://localhost:63342/PHP/04220957test.php?_ijt=a553en28un9o83crao16obik2urnUpgrade-Insecure-Requests:1rnUser-Agent:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36rnForm Datarnview sourcernview URL encodedrn[b][color=#FF0000]searchtype:authorrnsearchterm:Trnsubmit:Search[/color][/b]rn看样子是正常post数据成功了,但为啥后台获取不到呢
PHP无法获得post数据
有没有谁在PHP中遇到过前台post传递值,后台用$_POST无法获取值
php 数据修改的post改写
最近学习csrf攻击看到,get方式修改数据是非常不安全的.所以想把所有的数据修改方式改成post方式.rn以往的thinkphp中列表页,先获取后台数据,然后foreach 循环到前台页面中rn[code=php]rn $v): ?> rn rn rn rn rn rn 编辑 |rn 1): ?>rn 移除rn rnrn rn rn rn[/code]rn现在怎么才能把它改写成post 方式了?rn每条列表做个form? 然后如何在表单加入csrf的随机数了,每一条做一个随机数?
php的post数据接收问题
当一个软件(非网页)post数据到某个网页,需要php获得post来的所有数据并进行简单整理,如post一个test.rar 或test.doc。rnrnpost过来的数据中包含,文件类型,文件要保存的名称,文件大小等等rnrn要求能够吧这些数据整理好,分别存到数据库中,并且文件在设定好的路径保存名称按照post中的名称保存。rnrn希望能有高手迅速解决,代码完整分数散尽!谢谢
php无法获取post数据
如果文字是深黑色就能获取到rn[img=https://img-bbs.csdn.net/upload/201507/11/1436591874_215230.png][/img]rnrn如果是浅黑色就获取不到rn[img=https://img-bbs.csdn.net/upload/201507/11/1436591886_180088.png][/img]rn什么原因啊rn求解
PHP post 数据有误的问题
我 A.12345.com 下的dologin.php post 数据到 B.12345.com waplogin.phprn发现request 回来的数据有误rnrnwaplogin.php 代码如下:rn[code=PHP]rnrn[/code]rnrn当我通过dologin post 数据到 waplogin.php 每次返回的都是null,rn但是当我直接访问waplogin.php 时,显示的总是Cookie['UserInfo']的值,rnrn请问我post后如何返回cookie的值?
php取post数据的问题
别的语言通过http协议post过来的来东西rn没有名字,怎么样用php直接取到body中的内容呢?rnrn比如别人传过来的是这样的东西rnrnPOST /escape/hs.php HTTP/1.0rnHost: wap.moby.hkrnContent-Length: 115rnUser-Agent: LiveUpdater/1.0rnua=S60_20_WINS&submit=1&name=&time=0&score=360061&sex=0&bornday=&createday=2009/01/14&review=0rnrn怎么取ua=S60_20_WINS&submit=1&name=&time=0&score=360061&sex=0&bornday=&createday=2009/01/14&review=0rn这一行的东西呢?rnrn用了GET POST REQUEST 三种方法都不行rn这样的形式rn$ua=$_REQUEST['ua'];rn$submit=$_REQUEST['submit'];rn都到不到东西rnrn怎么样把那一行全部取出来?rn然后现再分割呢?rnrn
PHP:POST接口,插入POST数据到mysql数据库
一、接口代码 1.1 创建数据库的SQL语句 DROP TABLE IF EXISTS `test`.`domain_statistics_result`; CREATE TABLE `test`.`domain_statistics_result` ( `id` int(11) NOT NULL AUTO_INCREMENT, `domain` varchar(256) DEF
php socket如何发送
[code=php]rnmaster=socket_create(AF_INET, SOCK_STREAM, SOL_TCP) or die("socket_create() failed");rn socket_set_option($this->master, SOL_SOCKET, SO_REUSEADDR, 1) or die("socket_option() failed");rn socket_bind($this->master, $address, $port) or die("socket_bind() failed");rn socket_listen($this->master,20) or die("socket_listen() failed");rn rn $this->sockets[] = $this->master;rn $this->say("Server Started : ".date('Y-m-d H:i:s'));rn $this->say("Listening on : ".$address." port ".$port);rn $this->say("Master socket : ".$this->master."\n");rn rn while(true)rn $socketArr = $this->sockets;rn $write = NULL;rn $except = NULL;rn socket_select($socketArr, $write, $except, NULL); //自动选择来消息的socket 如果是握手 自动选择主机rn foreach ($socketArr as $socket)rn if ($socket == $this->master) //主机rn $client = socket_accept($this->master);rn if ($client < 0)rn $this->log("socket_accept() failed");rn continue;rn elsern $this->connect($client);rn rn else rn $this->log("^^^^");rn $bytes = @socket_recv($socket,$buffer,2048,0);rn $this->log("^^^^");rn if ($bytes == 0)rn $this->disConnect($socket);rn rn elsern if (!$this->handshake)rn $this->doHandShake($socket, $buffer);rn rn elsern $buffer = $this->decode($buffer);rn $this->send($socket, $buffer); rn rn rn rn rn rn rn rn function send($client, $msg)rn $this->log("> " . $msg);rn $msg = $this->frame($msg);rn socket_write($client, $msg, strlen($msg));rn $this->log("! " . strlen($msg));rn rn function connect($socket)rn array_push($this->sockets, $socket);rn $this->say("\n" . $socket . " CONNECTED!");rn $this->say(date("Y-n-d H:i:s"));rn rn function disConnect($socket)rn $index = array_search($socket, $this->sockets);rn socket_close($socket);rn $this->say($socket . " DISCONNECTED!");rn if ($index >= 0)rn array_splice($this->sockets, $index, 1); rn rn rn function doHandShake($socket, $buffer)rn $this->log("\nRequesting handshake...");rn $this->log($buffer);rn list($resource, $host, $origin, $key) = $this->getHeaders($buffer);rn $this->log("Handshaking...");rn $upgrade = "HTTP/1.1 101 Switching Protocol\r\n" .rn "Upgrade: websocket\r\n" .rn "Connection: Upgrade\r\n" .rn "Sec-WebSocket-Accept: " . $this->calcKey($key) . "\r\n\r\n"; //必须以两个回车结尾rn $this->log($upgrade);rn $sent = socket_write($socket, $upgrade, strlen($upgrade));rn $this->handshake=true;rn $this->log("Done handshaking...");rn return true;rn rnrn function getHeaders($req)rn $r = $h = $o = $key = null;rn if (preg_match("/GET (.*) HTTP/" ,$req,$match)) $r = $match[1]; rn if (preg_match("/Host: (.*)\r\n/" ,$req,$match)) $h = $match[1]; rn if (preg_match("/Origin: (.*)\r\n/" ,$req,$match)) $o = $match[1]; rn if (preg_match("/Sec-WebSocket-Key: (.*)\r\n/",$req,$match)) $key = $match[1]; rn return array($r, $h, $o, $key);rn rnrn function calcKey($key)rn //基于websocket version 13rn $accept = base64_encode(sha1($key . '258EAFA5-E914-47DA-95CA-C5AB0DC85B11', true));rn return $accept;rn rnrn function decode($buffer) rn $len = $masks = $data = $decoded = null;rn $len = ord($buffer[1]) & 127;rnrn if ($len === 126) rn $masks = substr($buffer, 4, 4);rn $data = substr($buffer, 8);rn rn else if ($len === 127) rn $masks = substr($buffer, 10, 4);rn $data = substr($buffer, 14);rn rn else rn $masks = substr($buffer, 2, 4);rn $data = substr($buffer, 6);rn rn for ($index = 0; $index < strlen($data); $index++) rn $decoded .= $data[$index] ^ $masks[$index % 4];rn rn return $decoded;rn rnrn function frame($s)rn $a = str_split($s, 125);rn if (count($a) == 1)rn return "\x81" . chr(strlen($a[0])) . $a[0];rn rn $ns = "";rn foreach ($a as $o)rn $ns .= "\x81" . chr(strlen($o)) . $o;rn rn return $ns;rn rnrn rn function say($msg = "")rn echo $msg . "\n";rn rn function log($msg = "")rn if ($this->debug)rn echo $msg . "\n";rn rn rnrn rnrn$wwss=new WS('localhost', 4000);rn[/code]rn如果我要写发给客户端 send 第一个参数怎么写
相关热词 c# login 居中 c# 考试软件 c# 自然语言分析 c# 分段读取文件 c# 泛型反射 c#打断点 c# 时间转多少秒 c# 线程函数加参数 c# modbus 读取 c#查询集合表