Avatar billede danino Nybegynder
08. marts 2004 - 20:18 Der er 1 løsning

Session variabel skifter??

Jeg har opdaget et meget mærkeligt fænomen på min side. Når man er logget ind, skifter man nogle gange pludselig "identitet" (brugernavn). Er der nogen der kan regne ud, hvad der er galt?

Mit script er:

<?php
if($_REQUEST["logud"] == 1)
{
    $pageid = $_REQUEST["pageID"];
    session_unregister("user");
    session_unregister("userlevel");
    setcookie("party3000user", false, time()-3600);
    setcookie("party3000pass", false, time()-3600);
    echo "<script>window.location='" . $_SERVER["PHP_SELF"] . "?pageID=$pageid'</script>";
   
}
elseif(isset($_SESSION["user"]))
{
    $pageid = $_REQUEST["pageID"];
    echo "<table width=\"160\" cellpadding=\"5\" cellspacing=\"0\" align=\"center\" class=\"menu\">\n";
    echo "<tr><th>.:: Login ::.</th></tr>\n<tr><td>";
    echo "Du er logget ind som:<br><br>\n";
    echo $_SESSION["user"];
    $now = time();
    $user = $_SESSION["user"];
    mysql_query("update Users set online='$now' where Brugernavn='$user'");
    echo "<br><br>\n";
    echo "<a href=\"" . $_SERVER["PHP_SELF"] . "?pageID=21\">Rediger profil</a><br>\n";
    echo "<a href=\"" . $_SERVER["PHP_SELF"] . "?pageID=" . $pageid . "&amp;logud=1\">Log ud</a>\n";
    echo "</td></tr></table>\n";
}
elseif(isset($_COOKIE["party3000user"]))
{
    $user = $_COOKIE["party3000user"];
    $pass = $_COOKIE["party3000pass"];
    $result = mysql_query("select * from Users where Brugernavn='$user' AND Password='$pass' limit 1");
    if(mysql_num_rows($result) == 1)
    {
        $now = time();
        mysql_query("update Users set online='$now' where Brugernavn='$user'");
        $pageid = $_REQUEST["pageID"];
        echo "<table width=\"160\" cellpadding=\"5\" cellspacing=\"0\" align=\"center\" class=\"menu\">\n";
        echo "<tr><th>.:: Login ::.</th></tr>\n<tr><td>";
        echo "Du er logget ind som:<br><br>\n";
        $row = mysql_fetch_object($result);
        echo $row->Brugernavn;
        $_SESSION["user"] = $row->Brugernavn;
        $_SESSION["userlevel"] = $row->Level;
        echo "<br><br>\n";
        echo "<a href=\"" . $_SERVER["PHP_SELF"] . "?pageID=21\">Rediger profil</a><br>\n";
        echo "<a href=\"" . $_SERVER["PHP_SELF"] . "?pageID=" . $pageid . "&amp;logud=1\">Log ud</a>\n";
        echo "</td></tr></table>\n";
    }
}
elseif(isset($_REQUEST["autologin"]))
{
    $pageid = $_REQUEST["pageID"];
    $user = $_REQUEST["user"];
    $pass = md5($_REQUEST["pass"]);
    setcookie("party3000user", $user, time()+60*60*24*365*10);
    setcookie("party3000pass", $pass, time()+60*60*24*365*10);
    echo "<script>window.location='" . $_SERVER["PHP_SELF"] . "?pageID=$pageid'</script>";
}


elseif(isset($_REQUEST["submit"]))
{
    $user = $_POST["user"];
    $pass = md5($_POST["pass"]);
    $result = mysql_query("select * from Users where Brugernavn='$user' AND Password='$pass' limit 1");
    if(mysql_num_rows($result) == 1)
    {
        echo "<table width=\"160\" cellpadding=\"5\" cellspacing=\"0\" align=\"center\" class=\"menu\">\n";
        echo "<tr><th>.:: Login ::.</th></tr>\n<tr><td>";
        echo "Du er logget ind som:<br><br>\n";
        $row = mysql_fetch_object($result);
        echo $row->Brugernavn;
        $_SESSION["user"] = $row->Brugernavn;
        $_SESSION["userlevel"] = $row->Level;
        echo "<br><br>\n";
        echo "<a href=\"" . $_SERVER["PHP_SELF"] . "?pageID=21\">Rediger profil</a><br>\n";
        echo "<a href=\"" . $_SERVER["PHP_SELF"] . "?pageID=1&amp;logud=1\">Log ud</a>\n";
        echo "</td></tr></table>\n";
    }
    else
    {
        $pageid = $_REQUEST["pageID"];
        echo "<table width=\"160\" cellpadding=\"5\" cellspacing=\"0\" align=\"center\" class=\"menu\">\n";
        echo "<form action=\"" . $_SERVER["PHP_SELF"] . "?pageID=" . $pageid . "\" method=\"post\">\n";
        echo "<tr><th>.:: Login ::.</th></tr><tr><td>";
        echo "<font color=\"#FF0000\">De indtastede data var forkerte!</font><br><br>\n";
        echo "Brugernavn:<br>\n";
        echo "<input type=\"text\" name=\"user\" size=\"15\"><br>\n";
        echo "Password:<br>\n";
        echo "<input type=\"password\" name=\"pass\" size=\"15\"><br><br>\n";
        echo "<input type=\"submit\" name=\"submit\" value=\"- Login -\" class=\"button\"><br>\n";
        echo "<input type=\"checkbox\" name=\"autologin\">Auto-login<br><br>\n";
        echo "<a href=\"" . $_SERVER["PHP_SELF"] . "?pageID=12\">Ny bruger</a><br>\n";
        echo "<a href=\"" . $_SERVER["PHP_SELF"] . "?pageID=13\">Glemt password</a><br>\n";
        echo "</td></tr></form></table>\n";
    }
}
else
{
    $pageid = $_REQUEST["pageID"];
    echo "<table width=\"160\" cellpadding=\"5\" cellspacing=\"0\" align=\"center\" class=\"menu\">\n";
    echo "<form action=\"" . $_SERVER["PHP_SELF"] . "?pageID=" . $pageid . "\" method=\"post\">\n";
    echo "<tr><th>.:: Login ::.</th></tr><tr><td>";
    echo "Brugernavn:<br>\n";
    echo "<input type=\"text\" name=\"user\" size=\"15\"><br>\n";
    echo "Password:<br>\n";
    echo "<input type=\"password\" name=\"pass\" size=\"15\"><br><br>\n";
    echo "<input type=\"submit\" name=\"submit\" value=\"- Login -\" class=\"button\"><br>\n";
    echo "<input type=\"checkbox\" name=\"autologin\">Auto-login<br><br>\n";
    echo "<a href=\"" . $_SERVER["PHP_SELF"] . "?pageID=12\">Ny bruger</a><br>\n";
    echo "<a href=\"" . $_SERVER["PHP_SELF"] . "?pageID=13\">Glemt password</a><br>\n";
    echo "</td></tr></form></table>\n";
}
?>

Og det kan ses i funktion her:
http://www.party3000.dk

Håber virkelig nogen kan se hvad der er galt!
Avatar billede danino Nybegynder
08. marts 2004 - 21:57 #1
Svaret på spørgsmålet skulle findes på en anden side. Jeg lukker derfor.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester