<?php
$link=mysql_connect("localhost","lixi","lixi");
mysql_select_db("sso");
$time = date("Y-m-d", mktime(0,0,0,date("m")-3,date("d"),date("Y")));
echo $time;
echo "<br>";
$rsuser=mysql_query("select username,pw_date from user WHERE pw_date < '$time'");
$a=mysql_fetch_row($rsuser);
if($a == true){
    echo "<script>alert('密码已到期');</script>";
}
      ?>
这是一个密码到期的程序,我现在需要做一个密码到期前7天得用户提示,应该是什么思路?用什么函数?怎么做?
本人刚学php,麻烦大家了,讲清楚一些,谢谢!!!(其中pw_data是需改密码的日起)

解决方案 »

  1.   

    其实就是$a=mysql_fetch_row($rsuser);
    也就是说A能从数据库里面取出相应的值的时候
      

  2.   

    通过从数据库取出注册密码的日期,然后通过算法核对一下是否已经到期,到期了怎么样,不到期怎么样,
    这个实在就if一下而已。
    另外mysql_fetch_rows返回的是数组,如果没取到返回的是false,所以if( $a )就可以了。
      

  3.   

    select `pw_date` from `user` WHERE `id`=$id;//取出指定用户的密码时间然后time()-pw_data作下判断就可以了!楼主的思路是在数据库中作运算,而且从代码上看并没有限定指定用户,这样的话,只要有一个用户的密码过期了,那么所有用户登录都会收到密码到期的提示!楼主检查一下程序逻辑是不是有问题!或者是我理解错了...
      

  4.   

    数据库取值的时候设定了条件只取密码过期的用户,我们设定的是3个月过期,但是三个月之前七天每天都要提醒,代码要怎么写?time()-pw_data>7dsys??
      

  5.   

    if(time>7)
    提醒过期语句。
      

  6.   

    但是time是3个月前的日期啊,time大于7什么意思
      

  7.   

    简单点 呵呵
    首先你直接在你的user标准 加一个到期字段减去7天时间的日期!
    id   username    pw         time           daoqitime
    1     阿萨德    123456    注册的时间戳     比如是30天为过期时间 那就向注册时间加上23天的时间戳然后sql直接
    $rsuser=mysql_query("select username from user WHERE daoqitime > time()");
    if(mysql_fetch_row($rsuser))
    {
        echo "未到期";
    }
    else
    {
        echo "到期";
    }
      

  8.   

    写if语句:
    if($a-$time=7){
       echo "<script>alert('密码已到期');</script>";   
    }
      

  9.   

    通过存储设定密码时的unix时间戳 x ,在每次提取数据的时候,先判断 x 和现在的 time()的差是否大于
     23*24*60*60 ,
    // row['unix'] 是从数据库提取并处理的unix时间戳值
     $unix = time() - $row['unix'];
    if( $unix > 23*24*3600)
      {
       if ( $unix > 30*24*3600)
           // 密码完全过期
       else
           //密码还差 floor($unix/(24*3600)) 天到期
      }
    else
      // 还没有到最后七天