自己觉得会了点,可惜碰到个网站还是那么的不知如何下手.希望多看几个实例,以长经验,忘大家不吝赐教.已Google多次,所以希望直接能看到代码回复

解决方案 »

  1.   

    <?php
    session_start();
    include("../config/auth.php");
    include("../config/smarty_conn.php");
    include("../config/mysql_conn.php");$gouwuche=$_COOKIE['gouwuche'];
    $code=$_SESSION['code'];
    $action=$_POST['action'];
    $shuru=$_POST['shuru'];
    $username=$_SESSION['username'];
    $arr=explode('@',$gouwuche);
    $n=0;
    $zje=0;
    $yjg=0;
    foreach($arr as $value){
    $arr2=explode(',',$value);
    $arr3[$n]=$arr2;
    $arr3[$n][10]=$arr3[$n][6]*$arr3[$n][9];
    $zje+=$arr3[$n][6]*$arr3[$n][9];
    $yjg+=$arr3[$n][5]*$arr3[$n][9];
    $n++;
    }
    $jiesheng=$yjg-$zje;$i=0;
    if($action=="submit"){
    if($shuru==$code){
    foreach($arr3 as $value){
    $arr4[$i]=implode(',',$value);
    $i++;
    }
    $gmxx=implode('@',$arr4);
    $sql="insert into buy set username='$username',xinxi='$gmxx'";
    mysql_query($sql);
    $gouwuxinxi="";
    setcookie("gouwuche",$gouwuxinxi,time()+60*60*24);
    header("location:index.php");
    session_destroy();
    }else{
    $smarty -> assign('cw',"验证码错误,请从新输入!");
    }
    }
    $smarty -> assign("username",$username);
    $smarty -> assign("jiesheng",$jiesheng);
    $smarty -> assign("zje",$zje);
    $smarty -> assign("book",$arr3);
    $smarty -> display("checkout.html");
    ?>
    呃,这是原来做的一个简单的购物结算页面,用的是smarty,不知道是不是你想要的那种~
      

  2.   

    为什么要模拟?PHP本来不就有POST和SESSION么?
    想看示例代码可以下个开源项目看看。
      

  3.   

    模拟网站POST提交表单信息.
    用fsockopen或curl的实例
      

  4.   

    session模拟?这个没接触过.一般就是伪造header,refer,读写cookie,完成表单提交等等.给一段我写的获取ems订单查询的代码.
    http://blog.sevenight.com/index.php?m=blog&a=show&id=79
      

  5.   

    //默认session use cookie.简单无验证码的分两步,第一步,post到某个登陆处理页面,获取session的name和id,第二步,利用获取的session信息GET至某个页面。类似以下
    ========================================================================
    //第1步$conn = fsockopen($host,80,&$errno,$errstr,0);
    $ps = "user_name=admin&user_pass=123456";
    $header = "POST /login.php HTTP/1.1\r\n";//post到登陆处理页面
    $header.= "Host : {$host}\r\n";
    $header.= "Content-type: application/x-www-form-urlencoded\r\n";
    $header.= "Content-Length:".strlen($ps)."\r\n";
    $header.= "Connection:Close\r\n\r\n";
    $header.= "{$ps}\r\n\r\n";
    fwrite($conn,$header);
    while(!feof($conn))
    {
    $c .= fgets($conn,128);
    }
    fclose($conn);//echo $c;preg_match('/Set-Cookie\s*:\s*(.[^=]*)\s*=\s*(.[^;]*)/i',$c,$m);//然后获取返回头里的set-cookie信息,即session的信息$sn = $m[1];//name
    $si = $m[2];//id
    $c = '';
    //第2步
    $conn = fsockopen($host,80,&$errno,$errstr,0);$header = "GET /index.php HTTP/1.1\r\n";//再次GET到某个页面
    $header.= "Host : {$host}\r\n";
    $header.= "Content-Type : text/html\r\n";
    $header.= "Cookie:{$sn}={$si}\r\n";//发送session
    $header.= "Connection:Close\r\n\r\n";
    fwrite($conn,$header);
    while(!feof($conn))
    {
    $c .= fgets($conn,128);
    }
    fclose($conn);
    echo $c;//得到返回头及内容
      

  6.   

    preg_match('/Set-Cookie\s*:\s*(.[^=]*)\s*=\s*(.[^;]*)/i',$c,$m);//这个写得太烂了,需要观察返回头,session_name默认是SESSIONID,或者某个特定的串,不要用这个正则。
      

  7.   

    curl和fsockopen都可以..顶一下,研究中....
      

  8.   

    是说用session么?
    简单说就是两点 存、取  每次都先session_start,  比如你要存名字存:
    session_start(); 
    $_SESSION['name'] = "myname"; 用到的时候就取:
    session_start(); 
    $name=$_SESSION['name'];