3 回答

COOKIE 机制看来你不是很明白。我给你解释一下吧。
COOKIE 是在网页内容发送之前。先发送出去的信息。也就是说。在这之前不能有任何的 HTML 代码和 echo 等,即使是一个空格也是不允许的。。
在PHP中,要用 setcookie 函数来注册 COOKIE 变量,你上面的代码没有注册 COOKIE 变量。怎么可能送得过去呢。正确的写法如下:
<?
setCOOKIE("user_name",$_POST["user_name"]);
setCOOKIE("user_password",$_POST["user_password"]);
?>
然后才是 HTML 码。。
PS:楼上的,你在使用 setcookie 的时候,之前输出了一些HTML码,COOKIE 跟本不能注册,你的代码本身就是错误的,不要误导人了。

运行前先读取cookie,然后,post到要登入的网页。下个Snoopy.class.php
简单代码思路如下(未测试)
include "Snoopy.class.php";
$snoopy = new Snoopy;
$url = "http://xxx.com/login.php";
$submit_vars["loginmode"] = "normal";
$submit_vars["username"] = $_COOKIE['username']; //你的用户名
$submit_vars["password"] = $_COOKIE['passwd']; //你的密码
$submit_vars["submit"] = "提交";
$snoopy->submit($url,$vars);
print $snoopy->results;

PHP 的 $_COOKIE 变量用于取回 cookie 的值。
例子:
在下面的实例中,我们取回了名为 "user" 的 cookie 的值,并把它显示在了页面上:
<?php
echo$_COOKIE["user"];
print_r($_COOKIE);
?>
同时可以用setcookie() 函数设置 cookie。
语法:
setcookie(name, value, expire, path, domain);
在下面的例子中,我们将创建名为 "user" 的 cookie,并为它赋值 "Alex Porter"。我们也规定了此 cookie 在一小时后过期:
<?php
setcookie("user","AlexPorter",time()+3600);
?>
当删除 cookie 时,您应当使过期日期变更为过去的时间点。
删除的实例:
<?php
//settheexpirationdatetoonehourago
setcookie("user","",time()-3600);
?>
相关问题推荐
添加回答
举报