Logout kod tüm yürütme değil.

3 Cevap

İşte kod

Ben onunla ne yanlış bilmiyorum.

<?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 Cevap

Eğer aşağıda sözlerinden (mysql_connect dan () / mysql_select_db (?)) Bir mysql bağlantı nesnesi var mı, öyle gelmiyor.

Bu, SQL yanlıştır:

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

Olmalıdır:

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

?

Muhtemelen de) mysql_fetch_assoc () yerine mysql_fetch_array arasında (kullanıyor anlamına gelir.

Bu satır:

$logout_query = mysql_query($logout_query);

Olmalı

$logout_query = mysql_query($sql_logout);

Doğru mysql bağlantısı ve db bilgileri koymak ve bu çalıştırmayı deneyin. Çıkışını gönderin.

<?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>";
        }
    }
}
?>

what you have written is very bad code. i would suggest you do like this 1. create a session in the login page once their username and password matches with the entry in the db 2. destroy that session when they say log out.

db kullanarak kullanıcıyı kontrol sizin uygulama ölçeklenebilir değildir. her şey o idam ve bunu yaparken onun değil doğru fikir alır.

Ben böyle bir şey kullanmak istiyorsunuz:

    <?php
    //Logout code
    //Starting Session
    session_start();
    //Include
    include ("includes/mass.php");
    //Check if the user is logged in
    $username = $_SESSION['username'];

    if (isset($username))
    {
     $logged_in_query = "SELECT * FROM user WHERE loggedin='1' AND username='".$username."' LIMIT 1";
     $check_if_logged_in = mysql_query($logged_in_query);
     $logged_in = mysql_fetch_field($check_if_logged_in);

      if ($logged_in == 1)
      {
       //User becomes logged out on database records

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

       $logout_query = mysql_query($logout_query);
       if ($logout_query)
       {
        //Logout page

        session_destroy();
        echo "You have been logged out.","<br>"."<a href='index.php'>Click Here To Go Back</a>";
       }
       else
       {
        //Couldn't update the user table to set your login status.
        echo "MYSQL Error, please contact admin LO-2";
        exit();
       }
      }
      else
      {
       echo "You are not logged in"."<br><a href='register.php'>Click To Sign Up</a>";
      }
     }
     else
     {
      echo "You are not logged in"."<br><a href='register.php'>Click To Sign Up</a>";
     }
?>

Test edilmedi

Maksimum