用php做个post提交

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用php做个post提交相关的知识,希望对你有一定的参考价值。

提交地址:
cs/q(好像现在不能带连接了)
post数据:
ct=28&lm=0&word=".$b."&co=
我想用/1.php?k=$b的方式查看结果数据。
不需要cookies,不需要来源页面。
小弟是纯菜鸟,谢谢,被管理删了几次了提问了。正在找原因
附图是网上找的参考

看来楼主的截图,写的纯粹的对curl的运用,个人写个简化版的!!
$curl是接口页面。。。作用是取数据然后传递给本页面!!这个页面不是来源页面,只是一个接口文件而已!!如果你连这个页面都不想要,那就只能在本页面自己填写获取数据的代码了!!也就不用使用到post数据了!!
$post_val是post提交所需的数据,如果为空,那就是get获取数据,也就是说$curl要自带参数,这个要看你接口页面的程序所定了!!

例子:
1.php
$b = $_GET['k'];
//这边获取的就是2.php抛出来的数据。。。
$get_value = curl_file_get_contents(‘2.php’,"ct=28&lm=0&word=".$b."&co=23");
var_dump($get_value);//这边就是你想要的代码。。随便你怎么处理了!!
//这个是curl的精简版。。。不用那么多代码
function curl_file_get_contents($curl,$post_val="")

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $curl);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
if($post_val)

curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_val);

$r = curl_exec($ch);
curl_close($ch);
return $r;


2.php(接口文件,也相当于把方法写在另一个文件,通过url调用此方法并回传值给1.php!!多用于2个文件不在同一程序内,引用(include)不了,又懒得自己再写个方法,从而通过这种方法获取,比如说淘宝接口)
$get_key = $_POST['word']; //这边就指明了只用能post方式获取数据
..................(这边就是通过获取的$get_key来获取数据,并赋值与$value)......
return $value; //这边把数据抛给1.php(谁调用接口的就抛给谁)

这样写的好处是,假如获取$value的代码很长,这样写可以减少代码量!!不在同一个服务器或者框架下面的程序也可以调用。。。。(同一个框架下的代码可以用include引入进来!!)
先写到着吧!!!还有不懂的可以自己百度下或者追问。。我看到了会继续回答的!!
参考技术A <?
    //php  post方法,支持 http,https协议
    function post_data_test($url,$data)
        //初始化一个CURL会话
        $curl = curl_init(); 
        //访问的地址
        curl_setopt($curl, CURLOPT_URL, $url); 
        //认证证书来源的检查
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); 
        
        //证书中检查SSL加密算法是否存在
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1);
        
        //模拟浏览器
        curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); 

        //发送Post请求
        curl_setopt($curl, CURLOPT_POST, 1); 
        
        //Post方式,发送数据包
        curl_setopt($curl, CURLOPT_POSTFIELDS, $data); 
        
        //设置超时
        curl_setopt($curl, CURLOPT_TIMEOUT, 30); 
        
        //返回Header内容
        curl_setopt($curl, CURLOPT_HEADER, 0); 
        
        //文件流的形式返回
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        
        //执行操作
        $result = curl_exec($curl); 
        if (curl_errno($curl)) 
            echo '错误信息;'.curl_error($curl);
        
        
        //关闭CURL
        curl_close($curl); 
        
        //返回数据
        return $result; 
    
    
    //url
    $url="http://chinawinxp.com";
    //提交数据
    $data="parm=php";
    
    //测试
    echo   post_data_test($url,$data);
    
    ?>

参考技术B POST提交是浏览器来执行的 也就是说就像在html里也能提交FORM表单一样 PHP只是接收而已

接收就是 $_POST['']追问

已经补充了

追答

POST传数据不用COOKIE呀 只要A页面把数据传到B页面 A页面就没用了 然后在B页面进行读取就可以了呀

参考技术C 汗咯,ct=28&lm=0&word=".$b."&co=这算那门子的post提交啊?这明明就是用get方式提交的嘛.
1.php?k=$b  地址里还能有变量?
不删你就有鬼了.追问

地址是是数据,不是变量。
1.php?k=地址里还能有变量
$b=地址里还能有变量 
这样的意思
---------------
ct=28&lm=0&word=地址里还能有变量&co=
这个是post发送的数据
post变get

参考技术D PHP是服务器语言,你是想向服务器提交你的请求,用客户端语言js写一个就行,这与PHP无关。没弄清楚,提交以及提交处理都你自己做吗?
简单说,提交用js,处理用php追问

不知道能看到图否,这是以前的一个参考

追答

word=".$b."语法错误
""内表示常量了,用word=$b或word=‘$b’试试吧

以上是关于用php做个post提交的主要内容,如果未能解决你的问题,请参考以下文章

php在线考试系统单选题答案提交

php curl 模拟post表单向提交数据

php 如何防止表单重复提交呢

请教用Curl 在php 里面模拟表单提交 文本+文件的写法

php代码 potst 提交的问题?

PHP里模拟Post提交是啥意思?