新人急问:修改PHP登录过程

dgz988 2008-04-21 09:01:33
各位老大:
本人新接触PHP,想将一网站程序的登录过程加点限制,要求是这样的:
正常情况下,注册用户输入用户名和密码后可以正常进入网站,我想修改一下,所有用户注册完成后,需要后台管理员进行确认后才能正常登录。在MYSQL中的表中加了一列:USERSTATE,正常为0,后台修改后为1。
我想在前台登录函数中加一个条件,就是验证用户名密码的同时,要USERSTATE为1才能正常登录。但由于对PHP不是很熟悉,看了一下它的语法,后服务器后台中的INDEX。PHP文件中查找,发现其登录过程名称为:logon($uid,$passwd),于是在文件夹中搜索此函数,将其SQL语句进行修改,但修改后,发现虽然USERSTATE为0,但仍能正常登录。。。
不了解具体的原因了,请老大指点。

谢谢!
...全文
53 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jackydrl 2008-04-21
  • 打赏
  • 举报
回复
$this->need_sync 字段是?
再查一下sync()函数是干嘛的
如果上面两个对sql语句没有多大影响的话,应该是可以直接加上去 and userstate='1'或and userstate=1的
dgz988 2008-04-21
  • 打赏
  • 举报
回复
搞定了,谢谢各位老大。。
犯了个极为幼稚的错误,网站与论坛结合后,它的数据库验证改成了论坛验证,我还是修改的它的原来数据库,所以总是出问题。
VANtastic 2008-04-21
  • 打赏
  • 举报
回复
你是怎么改的??
dgz988 2008-04-21
  • 打赏
  • 举报
回复
嗯,是的,我把代码贴出来老大帮着看一下,光贴关键代码吧,都贴出来太长了:
if ($user->login($username, $password))
{
update_user_info();
recalculate_price();
if ($url == 'user.php')

我想这个LOGIN就是所需要的函数,所以我就搜索了一下它,把它修改了,它的代码如下:
function login($username, $password)
{
if ($this->check_user($username, $password) > 0)
{
if ($this->need_sync)
{
$this->sync($username,$password);

我想这里的CHECK_USER应该是最终的验证函数,再找:
{
$sql = "SELECT " . $this->field_id .
" FROM " . $this->table($this->user_table).
" WHERE " . $this->field_name . "='" . $post_username . "' AND " . $this->field_pass . " ='" . $this->compile_password(array('password'=>$password)) . "'";

return $this->db->getOne($sql);
}

我把里面的$SQL改掉了,加上了一个USERSTATE=1,不知道是不是这样?
jackydrl 2008-04-21
  • 打赏
  • 举报
回复
楼主将验证function发过来看看,
你数据库中userstate字段是什么啊? varchar, bit ,tinyint?
再试试单引之类的吧,登录验证应该没这么多问题吧
unlive 2008-04-21
  • 打赏
  • 举报
回复
你确定修改的是SQL语句么,是进数据库验证的SQL?
dgz988 2008-04-21
  • 打赏
  • 举报
回复
谢谢楼上的老大回复。。
我改了,将这个LOGON函数加上了 "and userstate=1",但好象不起作用。。仍然可以进入。。

我改的是ECSHOP的源代码,网上开源的。
我在想是不是这个程序的函数编译过啊,所以不行。。搞不懂了。
jackydrl 2008-04-21
  • 打赏
  • 举报
回复
不太明白楼主的意思.既然userstate也是在后台的数据库存储的,而登录验证也是通过取得后台数据库中的用户名和密码的,那么为何不将state的字段值取出来呢,按照你说的,默认为0,即没有权限登录,那么在登录验证字符串中加上 "and userstate=1",如果返回值为空就不能登录,这和只用用户名和密码登录的原理不是一样的嘛
只是加了一个附加验证的条件罢了

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧