用cookie做的php会员管理求各位达人 分别将 以上三个 转换成session

解决方案 »

  1.   

    只要把$_COOKIE都替换成$_SESSION就行了,另外再反几个setcookie函数改成$_SESSION['xxx']=yyy的形式就可以了。
      

  2.   

    session cookie不一样的阿~
    请详细点~ 就我给出的文件 
    小弟是新手 所以不太懂```望各位帮帮忙``` 答案一出立即送分
      

  3.   

    <?php
    //session start
    session_start();// Connects to your Database 
    mysql_connect('localhost', 'root', '') or die(mysql_error()); 
    mysql_select_db("epay") or die(mysql_error()); //Checks if there is a login sessionif(isset($_SESSION['ID_my_site']))
    //if there is, it logs you in and directes you to the members page

    $username = $_SESSION['ID_my_site']; 
    $pass = $_SESSION['Key_my_site']; $check = mysql_query("SELECT * FROM users WHERE username = '$username'")or die(mysql_error()); while($info = mysql_fetch_array( $check )) 
    { if ($pass != $info['password']) 
    { } else
    {
    header("Location: members.php"); } }}//if the login form is submittedif (isset($_POST['submit'])) { // if form has been submitted
    // makes sure they filled it in
    if(!$_POST['username'] | !$_POST['pass']) {
    echo "<font color='#36648B' face='Arial'>You did not fill in a required field.</font><p><a href=memberlogin.php>Back To Member Login</a></p>";
    exit;
    }
    // checks it against the database if (!get_magic_quotes_gpc()) {
    $_POST['email'] = addslashes($_POST['email']);
    } $check = mysql_query("SELECT * FROM users WHERE username = '".$_POST['username']."'")or die(mysql_error()); //Gives error if user dosen't exist $check2 = mysql_num_rows($check);
    if ($check2 == 0) {
    echo "<font color='#36648B' face='Arial'>That user does not exist in our database.</font><p><a href=register.php>Click Here to Register</a></p>";
    exit;
    }
    while($info = mysql_fetch_array( $check )) 
    { $_POST['pass'] = stripslashes($_POST['pass']);
    $info['password'] = stripslashes($info['password']);
    $_POST['pass'] = md5($_POST['pass']); //gives error if the password is wrong if ($_POST['pass'] != $info['password']) {
    echo "<font color='#36648B' face='Arial'>Incorrect password, please try again.</font><p><a href=memberlogin.php>Back To Member Login</a></p>";
    exit;
    }
    else
    {
    // if login is ok then we add a session  $_POST['username'] = stripslashes($_POST['username']); $hour = time() + 3600; // set session here
    $_SESSION['ID_my_site'] = $_POST['username'];
    $_SESSION['Key_my_site'] = $_POST['pass']; //then redirect them to the members area
    header("Location: members.php");
    } }} else {// if they are not logged in
    ?>
    <br />
    <br />
    <br />
    <br /><br />
    <br />
    <center><form action="<?php echo $_SERVER['PHP_SELF']?>" method="post">
    <table width="440" border="1" cellspacing="0" cellpadding="0" align="center" bgcolor="#99FF00" bordercolordark="#99FF00" bordercolorlight="#36648B">
    <tr><td colspan=2><center><h2><font color="#36648B" face="Arial">Member Login Area</font></h2></center></td></tr>
    <tr><td><div align="center"><font color="#36648B" face="Arial">Username:</font></div></td><td>
    <div align="center"><input type="text" name="username" maxlength="40"></div>
    </td></tr>
    <tr><td><div align="center"><font color="#36648B" face="Arial">Password:</font></div></td><td>
    <div align="center"><input type="password" name="pass" maxlength="50"></div>
    </td></tr>
    <tr><td><div align="center"> <input type="submit" name="submit" value="Submit" style="font-size: 10pt;color: #EFFB00; background-color: rgb(225,153,0)"></div></td>
     <td><div align="center"> <input type="reset" name="Reset" value="Reset" align="center" style="font-size: 10pt;color: #EFFB00; background-color: rgb(225,153,0)"></div></td> 
     </tr></table></form></center>
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <center><a href=home2.html>Back Home</a> | <a href=register.php>Rigister</a></center>
    <br />
     <table width="873" height="1" border="0" align="center" cellpadding="0" cellspacing="0" class="sideborder1">
      <tr bgcolor="#36648B">
        <td height="4" colspan="2" align="center" valign="middle"></td>
    </tr>
    </table>
    <?php
    }
    ?>
    二logout退出登陆:<?php 
    $past = time() - 100; 
    //unset session or use " session_unset(); "  replace the following line.
    unset($_SESSION['ID_my_site'],$_SESSION['Key_my_site']);header("Location: memberlogin.php"); 
    ?> 三 members会员中心:<head><link rel="stylesheet" type="text/css" href="epay.css" />
    </head>
    <body>
    <?php 
    //SESSION START 
    session_start();date_Default_TimeZone_set("UK");// Connects to the Database 
    mysql_connect('localhost', 'root', '') or die(mysql_error()); 
    mysql_select_db("epay") or die(mysql_error()); //checks sessions to make sure they are logged in 
    if(isset($_SESSION['ID_my_site'])) 

    $username = $_SESSION['ID_my_site']; 
    $pass = $_SESSION['Key_my_site']; 
    $check = mysql_query("SELECT * FROM users WHERE username = '$username'")or die(mysql_error()); 
    while($info = mysql_fetch_array( $check )) 
    { //if the session has the wrong password, they are taken to the login page 
    if ($pass != $info['password']) 
    { header("Location: memberlogin.php"); 
    } //otherwise they are shown the user account centre 
    else 

    $sql = "SELECT balance FROM users WHERE username = '$username'";
    $queryresult = mysql_query($sql) or die (mysql_error());  $row = mysql_fetch_array($queryresult);
            $balance = $row['balance'];
    mysql_free_result($queryresult); 
    echo "<center><h1>Member Centre</h1></center>";
    echo "<br /><center><table><tr><td><font color='#36648B'>Hello,</font><font color='red'>$username</font> </td>
    <tr><td>Welcome to E-pay Manager!</td></tr>
    <tr><td>Today is "; echo $showtime=date("Y-m-d");   echo "</td></tr> 
    <tr><td><font color='red'>Balance: $balance </font></td></tr>
    </table></center> 
    <br />";
     echo "<fieldset class='fieldset'>
    <center>The following services are provided:
    <table ><tr><td><div align='left'><IMG SRC='boxes.png'><a href= \"upload.php?username=$username\" ><font size='4'>Upload Funds</font></a></div></td>
    <td><div align='left'><IMG SRC='boxes.png'><a href= \"pay.php?username=$username\" ><font size='4'>Pay Money</font></a></div></td></tr>
    <tr></tr>
    <tr><td><div align='left'><IMG SRC='boxes.png'><a href= \"transaction.php?username=$username\" ><font size='4'>Transaction Management&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></a></div></td>
    <td><div align='left'><IMG SRC='boxes.png'><a href= \"complaintion.php?username=$username\" ><font size='4'>Check Complaintion&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></a></div></td></tr>
    <tr>&nbsp;</tr>
    <tr><td><div align='left'><IMG SRC='boxes.png'><a href= \"withdraw.php?username=$username\" ><font size='4'>Withdraw</font></a></div></td>
     <td></td></tr>
    </table></center><br /></fieldset>";   ?>
    <br />
    <br /><center><a href=home2.html>Back Home</a> | <a href=logout.php>Logout</a></center>
    <br />
     <table width="873" height="1" border="0" align="center" cellpadding="0" cellspacing="0" >
      <tr bgcolor="#36648B">
        <td height="4" colspan="2" align="center" valign="middle"></td>
    </tr>
    </table>
    <?} 


    else //if the session does not exist, they are taken to the login screen 

    header("Location: memberlogin.php"); 

    ?> 
      

  4.   

    二logout退出登陆:<?php 
    //这里加上一行
    session_start();//unset session or use " session_unset(); "  replace the following line.
    //.....
    ?> 
      

  5.   

    验证很简单
    1、登录页
       session_start();
       if(用户名和密码正确)
        {
    $_session[变量名]=XXX;
    }
        else
        {
       重新登录
          }
    2\验证页(可在需验证的检查session变量     session_start();
         if($_session[变量名]=XXX)
           {
       你已登录,可查看本页
    }else
    {
    你没有登录
    };
         
      

  6.   

    zhys9(OoP.plorer)   先谢谢你的回答  可```````````
    用你的方法出现
    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\bsp\members.php:6) in C:\xampp\htdocs\bsp\members.php on line 8
    出错
      

  7.   

    在使用SESSION 或者COOKIE 或者header函数之前确定PHP不输出任何东东!如果不知道怎么修改上面兄弟的代码, 请在程序开始加上ob_start(); !
      

  8.   

    三 members会员中心:<?php 
    //SESSION START 
    session_start();
    ?>
    <head><link rel="stylesheet" type="text/css" href="epay.css" />
    </head>
    <body><?
    date_Default_TimeZone_set("UK");//.......