Avatar billede svjensen Nybegynder
08. marts 2004 - 23:40 Der er 5 kommentarer og
1 løsning

Problem med at håndtere $_session variable

Jeg forsøger, at få et logon script til at virke.
Men jeg bliver ved med at få besked om at jeg ikke er logget på.

*************SCRIPT***************
<?
session_start();
ob_start();
include("include/connection.php");?>
<html>
<head>
<script language=javascript>
function Valider(form){
    if(form.brugernavn.value == ""){
        alert("Du skal skrive et brugernavn");
        return false;
    }else{
        if(form.password.value==""){
            alert("Du skal skrive et password");
            return false;
        }else{
            return true;
        }
    }
}
</script>
</head>
<body>
<?if (isset($action)){
    switch($action){
        case 'login':
            $strSQL = "SELECT * FROM tabel WHERE username = '$brugernavn' AND password = '$password'";
            $result = mysql_query($strSQL);
            while ($row = mysql_fetch_array($result)){
                $_session['login'] = "true";
                $_session['user'] = $brugernavn;
                $_session['pass'] = $password;
                ?>
                <script language="JavaScript">
                top.menuframe.location.reload();
                </script>
            <?      header("location: login.php?action=show");
                        }
           
            break;
        case 'show':
            if ($_session['login'] == "true"){
                echo "Velkommen ".$_session['user']." Du er logget på med ".$_session['pass'];
            }else{
                echo "Du er ikke logget på";
            }
            break;
    }

}else{?>
    <table align=center>
        <form name=frm_login method=post action="login.php?action=login" onSubmit="Valider(this);">
        <tr>
            <th>Brugernavn</th>
            <td><input type=text name=brugernavn></td>
        </tr>
        <tr>
            <th>Password</th>
            <td><input type=password name=password></td>
        </tr>
        <tr>
            <td colspan=2 align=center><input type=submit name=submit value="Login"></td>
        </tr>
    </table>
<?}?>

</body>
</html>
**************SCRIPT SLUT***************

Og ja, det er det rigtige password og brugernavn ;-)
Avatar billede henninghabor Nybegynder
08. marts 2004 - 23:49 #1
Jeg tror at du ihvertfald skal have defineret $brugernavn og $password ordentligt:

$brugernavn = "$_REQUEST[brugernavn]"; // Der kan også bruges POST
$password = "$_REQUEST[password]"; // Der kan også bruges POST
Avatar billede tefcke Nybegynder
09. marts 2004 - 00:22 #2
Jeg kan ikke huske hvordan php har det med at du skriver dets superglobale arrays ($_GET, $_POST, $_REQUEST, $_SERVER, $_SESSION osv.) med småt i stedet for stort.

Prøv om det ikke skulle hjælpe at skrive $_session med stort: altså $_SESSION
Avatar billede henninghabor Nybegynder
09. marts 2004 - 01:33 #3
Hvor skal $brugernavn og $password så ændres?

Jo, det skal det i din sql-sætning:

$strSQL = "SELECT * FROM tabel WHERE username = '$_REQUEST[brugernavn]' AND password = '$_REQUEST[password]'";
Avatar billede henninghabor Nybegynder
02. april 2004 - 01:27 #4
Hva' med point? :o)
Avatar billede svjensen Nybegynder
28. april 2004 - 12:18 #5
Brugen af $brugernavn og $password, var kun for at se hvordan det virkede. Problemet var de små bostaver.
tefcke, der er point til dig.
Avatar billede tefcke Nybegynder
29. april 2004 - 09:17 #6
Mente nok jeg havde læst det et eller andet sted ;)
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