我已经写好了登陆前台和后台: 用户登陆页:www.url.com/login.php <?php 
session_start(); 
$hi = 'hi...'; //测试session能否正常显示,这里只是简单的单词,实际应用将采用随机数等方式。 
$_SESSION['me'] = $hi; 
echo $_SESSION['me']; 
?> 
<FORM METHOD=POST ACTION="http://www.url.com/admin.php"> 
<INPUT TYPE="text" NAME="user" value="admin"> 
<INPUT TYPE="password" NAME="pwd" value="666666"> 
<INPUT TYPE="text" NAME="id" value="<?php echo $hi; ?>"> 
<INPUT TYPE="submit" value="login"> 
</FORM>后台管理页:www.url.com/admin.php 用户名,admin;密码,666666 <?php 
session_start(); 
echo $_SESSION['me']; 
$user = $_POST['user']; 
$pwd = $_POST['pwd']; 
$id = $_POST['id']; 
if ($user == 'admin' && $pwd == '666666' && $id == $_SESSION['me']) 
echo 'OK'; 
else echo 'NO'; 
?>
本地已经通过fsockopen成功打开了www.url.com/login.php,但是提交表单后居然显示错误登陆信息。我感觉是PHPSESSIONID在做怪,有实力的朋友帮忙实现一下登陆并显示登陆后的页面。 切记,调试成功了再发表你的答案,我在网上搜索了N多关于模拟登陆了,走了不少弯路,希望在此能解除我的疑惑。

解决方案 »

  1.   

    GET到的页面能正常显示服务端传来的session,不知道如何post。
      

  2.   

    要实现这个功能,也许你应该仔细地分析一个HTTP协议
    你登录验证的时候连接到服务器,服务器会返回HTTP请求的头部和正文部分
    PHPSESSIONID就在COOKIE域中
    你再一次连接到前一个地址时应该带上'你'的标识,即PHPSESSIONIDHTTP HTTP COOKIE,自己理解一下这两个东西吧.
      

  3.   

    用FSOCKOPEN来实现登陆的话,应该是传递HEADER啊~所以……还是WEBSERVICE吧~