首页 >后端开发 >php教程 >普通的表单登陆如何修改成php curl模拟表单登陆

普通的表单登陆如何修改成php curl模拟表单登陆

WBOY
WBOY原创
2016-06-13 11:49:17986浏览

普通的表单登陆怎么修改成php curl模拟表单登陆

<form method="post" action="2.php"><br />    用户名: <input type='text' name="loginname"><br><br />	密码:<input type="password" name='loginpass'><br><br />	<input type='submit' value="submit"><br /></form>


2.php
header('Content-Type:text/html;Charset=utf-8');<br />if ($_POST['loginname'] == 'lee' && $_POST['loginpass'] == '123456') {<br />      header('location:http://bbs.csdn.net');<br />} else {<br />     <br />} 

请教一下这样的表单怎么修改成模拟登陆 我是这样写的为什么不对呢 
新建一个1.php
header('Content-type:text/html;Charset=utf-8');  <br />$user = 'lee';       //登陆用户名   <br />$pass = '123456';    //登陆密码   <br />$post_fields = "loginname={$user}&loginpass={$pass}";<br />$ch = curl_init(); <br />curl_setopt($ch,CURLOPT_URL,'http://localhost/2.php');<br />curl_setopt($ch,CURLOPT_POST,1);<br />curl_setopt($ch,CURLOPT_POSTFIELDS,$post_fields);<br />curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); <br />curl_exec($ch);<br />curl_close($ch);

------解决方案--------------------
echo curl_exec($ch); 

另外你的2.php是跳转了,并没有返回内容。
改成echo file_get_contnets('location:http://bbs.csdn.net'); 试试
------解决方案--------------------
header('location:http://bbs.csdn.net');
形成的 http 头
HTTP/1.1 302 Found
Date: Wed, 26 Feb 2014 09:16:38 GMT
location: http://bbs.csdn.net
Content-Length: 0
Content-Type: text/html;Charset=utf-8

你不跟着跳转吗?
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
------解决方案--------------------
#1 不是说了吗?
echo curl_exec($ch);
你不输出结果怎么能行?

nbsp;html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

  


    <script></script>



    
    CSDN论坛首页 - CSDN.NET
    <script></script>
    <script><br /> $(function() {<br /> main_page_js.index_page();<br /> });<br /> </script>
    


  
  
    
    
  
   <br>    <br>    <br>  

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn