<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</HEAD> <BODY>
<?php
include "Snoopy.class.php";
$snoopy = new Snoopy;//获取表单需要的字段
/*
$snoopy->fetchform("http://www.phpx.com/happy/logging.php?action=login");
echo $snoopy->results."<br />";
*/$submit_url = "http://www.phpx.com/happy/logging.php?action=login";
$submit_vars["cookietime"] = "2592000";
$submit_vars["loginfield"] = "username";
$submit_vars["username"] = "你的用户名"; //你的用户名
$submit_vars["password"] = "你的密码"; //你的密码
$submit_vars["questionid"] = "0";
$submit_vars["answer"] = "";
$submit_vars["loginsubmit"] = "登录";
//$submit_vars["loginsubmit"] = "dl"; //可以
//$submit_vars["loginsubmit"] = ""; //不行
//问题1:为什么要加入上面那句:$submit_vars["loginsubmit"] = "登录",而且“登录”改为任何字眼都可以,但“”不可以
$snoopy->submit($submit_url,$submit_vars);
echo $snoopy->results;
//问题2:登录成功后跳转到http://127.0.0.1/snoopy/index.php
?>
</BODY>
</HTML>
2、为什么“登录”改为任何字眼都可以,但“”不可以,是snoopy的bug吗
3、登录成功后跳转到http://127.0.0.1/snoopy/index.php,http://127.0.0.1/snoopy/是我的代码的目录,怎么跳转到预期的http://www.phpx.com/happy/index.php呢
2.这是由表单提交后的处理脚本决定,照你说的情况,后面判断是用的!empty($_POST[loginsubmit]),不是Snoopy的问题.
3.$snoopy->submit($submit_url,$submit_vars);
$snoopy->fetch('http://www.phpx.com/happy/index.php');//直接抓取最终页面
echo $snoopy->results;
echo $snoopy->results; 结果是:<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</HEAD> <BODY>
<form method="post" name="login" id="loginform" class="gateform" onsubmit="pwdclear = 1;ajaxpost('loginform', 'returnmessage', 'returnmessage', 'onerror');return false;" action="logging.php?action=login&loginsubmit=yes">
<input type="hidden" name="formhash" value="e2f5ffea" />
<select name="loginfield" style="float:left;width:50px;" id="loginfield"><option value="username">用户名
</option><option value="uid">UID
</option></select>
<input type="text" name="username" autocomplete="off" size="36" class="txt" tabindex="1" value="" />
<input type="password" id="password3" name="password" onfocus="clearpwd()" onkeypress="detectcapslock(event, this)" size="36" class="txt" tabindex="1" />
<select id="questionid" name="questionid" change="if($('questionid').value >
<option value="0">安全提问
</option><option value="1">母亲的名字
</option><option value="2">爷爷的名字
</option><option value="3">父亲出生的城市
</option><option value="4">您其中一位老师的名字
</option><option value="5">您个人计算机的型号
</option><option value="6">您最喜欢的餐馆名称
</option><option value="7">驾驶执照的最后四位数字
</option></select><input type="text" name="answer" id="answer" style="display:none" autocomplete="off" size="36" class="txt" tabindex="1" />
<input type="checkbox" class="checkbox" name="cookietime" id="cookietime" tabindex="1" value="2592000" />
</form>
<form method="post" id="lostpwform" onsubmit="ajaxpost('lostpwform', 'returnmessage3', 'returnmessage3', 'onerror');return false;" action="member.php?action=lostpasswd&lostpwsubmit=yes&infloat=yes">
<input type="hidden" name="formhash" value="e2f5ffea" />
<input type="hidden" name="handlekey" value="lostpwform" />
<input type="text" name="username" size="25" value="" tabindex="1" class="txt" />
<input type="text" name="email" size="25" value="" tabindex="1" class="txt" />
</form> </BODY>
</HTML>
但登录的页面有
<button class="submit" type="submit" name="loginsubmit" value="true" tabindex="1">登录</button>
提交的按钮也是表单数据的一部分吗?
有点迷糊,submit也是表单的一部分的话,那你回复我的另外一个贴
http://topic.csdn.net/u/20111025/10/b615174d-d3d7-407d-bc88-62d09b774f03.html
<input type="submit" name="loginSubmit" value ="submit">
我的模拟登录代码里没有对loginSubmit的值进行提交,为什么可以成功模拟登录呢