douhao7677 2010-02-28 02:22
浏览 72
已采纳

注销代码根本不执行。 PHP

Here is the code

I dont know whats wrong with it.

<?php
       //Logout code
       //Starting Session
       session_start();
       //Include
       include ("includes/mass.php");
       //Check if the user is logged in
       $username = $_SESSION['username'];
       $logged_in_query = "SELECT * FROM    user WHERE loggedin='1' AND    username='$username'";
       $check_if_logged_in =    mysql_query($logged_in_query);
       if (isset($username))

    {       while ($row =    mysql_fetch_array($check_if_logged_in))

            {
                $logged_in = $row['loggedin'];

                if ($logged_in == 1)

                    {
                    //User becomes logged out on database records

                    $sql_logout = "UPDATE user SET loggedin='0' WHERE loggedin='1' AND    username='$username'";

                    $logout_query = mysql_query($logout_query);

                    //Logout page

                    session_destroy();

                    echo "You have been logged out.","<br>"."<a    href='index.php'>Click Here To Go    Back</a>";
                    }
                            }
                }                else

    {
                                echo"You are not logged in"."<br><a href='register.php'>Click    To Sign Up</a>";
                            }           
         ?>
  • 写回答

3条回答 默认 最新

  • dongxie2613 2010-02-28 02:24
    关注

    Do you have a mysql link object (from mysql_connect() / mysql_select_db() ?) From your comments below, it doesn't sound that way.

    This SQL is wrong:

    $sql_logout = "UPDATE user WHERE loggedin='1' AND username='$username'";
    

    Should be:

    $sql_logout = "UPDATE user SET loggedin=0 WHERE loggedin='1' AND username='$username'";
    

    ?

    You probably also mean to be using mysql_fetch_assoc() instead of mysql_fetch_array().

    This line:

    $logout_query = mysql_query($logout_query);
    

    Should be

    $logout_query = mysql_query($sql_logout);
    

    Put in your correct mysql connection and db information and try to run this. Please post the output.

    <?php
    //Logout code
    //Starting Session
    session_start();
    
    echo "hello<br />";
    
    //Include
    include ("includes/mass.php");
    
    echo "no problem in mass.php!<br />";
    
    // FILL ME IN
    $my_link = mysql_connect($server, $username, $password, TRUE);
    mysql_select_db('your_db', $link);
    
    //Check if the user is logged in
    $username = $_SESSION['username'];
    $logged_in_query = "SELECT loggedin FROM user WHERE loggedin='1' AND username='$username'";
    echo $logged_in_query . "<br />";
    
    $check_if_logged_in = mysql_query($logged_in_query, $my_link);
    var_dump(mysql_num_rows($check_if_logged_in));
    
    if (isset($username))
    {
        while ($row = mysql_fetch_assoc($check_if_logged_in))
        {
            var_dump($row);
    
            $logged_in = $row['loggedin'];
    
            if ($logged_in == 1)
            {
                //User become logged out on database records
                $sql_logout = "UPDATE user SET loggedin=0 WHERE loggedin='1' AND username='$username'";
                $logout_query = mysql_query($sql_logout, $my_link);
    
                //Logout page
                session_destroy();
                echo "You have been logged out.","<br>"."<a href='index.php'>Click Here To Go Back</a>";
            }
            else
            {
                echo"You are not logged in"."<br><a href='register.php'>Click To Sign Up</a>";
            }
        }
    }
    ?>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 前端echarts坐标轴问题
  • ¥15 CMFCPropertyPage
  • ¥15 ad5933的I2C
  • ¥15 请问RTX4060的笔记本电脑可以训练yolov5模型吗?
  • ¥15 数学建模求思路及代码
  • ¥50 silvaco GaN HEMT有栅极场板的击穿电压仿真问题
  • ¥15 谁会P4语言啊,我想请教一下
  • ¥15 这个怎么改成直流激励源给加热电阻提供5a电流呀
  • ¥50 求解vmware的网络模式问题 别拿AI回答
  • ¥24 EFS加密后,在同一台电脑解密出错,证书界面找不到对应指纹的证书,未备份证书,求在原电脑解密的方法,可行即采纳