thinkphp高手解析下下面代码?

protectedfunction_search($name=''){//生成查询条件if(empty($name)){$name=$this->getActionNam... protected function _search($name = '') {
//生成查询条件
if (empty ( $name )) {
$name = $this->getActionName();
}
$name=$this->getActionName();
$model = D ( $name );
$map = array ();
foreach ( $model->getDbFields () as $key => $val ) {
if (isset ( $_REQUEST [$val] ) && $_REQUEST [$val] != '') {
$map [$val] = $_REQUEST [$val];
}
}
return $map;

}
展开
 我来答
利雅竹
2011-09-27 · TA获得超过238个赞
知道答主
回答量:582
采纳率:0%
帮助的人:242万
展开全部
给你提供一种思路你自己去改改:你逆向思维想想:先判断验证码是否正确,如果验证码错误给一个错误的提示,相反呢就是验证码正确了,这样你就可以验证用户名和密码了,如:
if($_SESSION['verify']!=md5($checkcode)
{
$this->error('验证码错误!');

else
{
if($admin_name=="" or $pwd="")
{
echo "<script language='javascript'>window.alert('您的用户名或密码为空!!!请重试!!!');history.back();</script>";
}
else
{
$admin = new AdminModel();
$arr = $admin->where("admin_name=".$admin_name ."and admin_password=".$pwd)->find();
//$arr = $admin->where("admin_name=" . $_REQUEST["admin_name"] . " and admin_password=" . $_REQUEST["admin_password"])->select();
print_r($arr);
if(count($arr))
{
$_SESSION["admin_name"] = $admin_name;
//echo $_SESSION["admin_name"];
//unset($_SESSION['admin_name']);
echo "<script language='javascript'>window.alert('登录成功!!!');window.location='';</script>";
}
else
{
echo "<script language='javascript'>window.alert('您的用户名密码有误!!!请重试!!!');history.back();</script>";
}
}
}
基本上是这样的,与你的思路相反,当遇到问题时,不要一味的按照刚开始的思路去弄,要反过来想一想,你试试吧,记着要及时清理缓存,如果在不行的话,那就逻辑有问题了,还有一种解决方法:tp提供了一个函数,当遇到问题时及时的dump(); 祝你好运!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帝皇亚俊
2011-09-25
知道答主
回答量:11
采纳率:0%
帮助的人:4.5万
展开全部
..
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式