Avatar billede agertz Nybegynder
30. oktober 2007 - 18:50 Der er 23 kommentarer og
1 løsning

Gemmer ikke login ved sideskift!

Man kan godt logge ind på index.php, men når man så klikker sig ind på en af undersiderne, logger den brugeren ud og loginformularen vises.

Min side er opbygget så jeg har et index.php hvor alt designet ligger, samt loginformularen, fra index henter den så de andre sider ind ved hjælp af
include("indhold/".$_GET['side'].".php");

Jeg har session_start(); i toppen af min index....


Kan nogen hjælpe mig?
Avatar billede jakobdo Ekspert
30. oktober 2007 - 19:00 #1
Har du også session_start() i toppen af dine undersider?
Avatar billede superdreng Nybegynder
30. oktober 2007 - 19:02 #2
Prøv og give os din side :-)
Avatar billede agertz Nybegynder
30. oktober 2007 - 19:16 #3
Jeg har prøvet at tilføje session_start på undersiderne.. Uden held..

Skal i bruge nogle bestemte side-koder, fx. index.php ?
Avatar billede jakobdo Ekspert
30. oktober 2007 - 19:20 #4
Det kan være det er den login funktion jeg lavede til dig tidligere.
Lad os lige se login koden igen.
Avatar billede agertz Nybegynder
30. oktober 2007 - 19:37 #5
<?
session_start();
include("connect.php");

if(isset($_POST['login']))
{
    $brugernavn = mysql_real_escape_string($_POST['brugernavn']);
    $kodeord    = mysql_real_escape_string($_POST['kodeord']);

    $query = mysql_query("SELECT * FROM brugere WHERE brugernavn = '$brugernavn' AND kodeord = '$kodeord' LIMIT 1");

    if(mysql_num_rows($query) == 1)
    {
        $_SESSION['logged_in'] = true;
        echo "Du er nu logget ind?";
    }
    else
    {
    $_SESSION['logged_in'] = false;
        echo "Forkert kode eller brugernavn!";
    }
}else {
?>

<form method="post" action="index.php">
B: <input type="text" name="brugernavn"><br />
K: <input type="password" name="kodeord"><br /><br />
<input type="submit" name="login" value="Login!">

<?
}
?>
Avatar billede jakobdo Ekspert
30. oktober 2007 - 19:48 #6
Prøv at fjern: $_SESSION['logged_in'] = false;
Avatar billede agertz Nybegynder
30. oktober 2007 - 19:54 #7
Virker stadig ikke :(
Avatar billede jakobdo Ekspert
30. oktober 2007 - 20:01 #8
Prøv at vis os noget mere kode eller et link til din side.
Avatar billede agertz Nybegynder
30. oktober 2007 - 20:32 #9
Avatar billede jakobdo Ekspert
30. oktober 2007 - 20:43 #10
Ret lige login kode til:

<?
session_start();
include("connect.php");

if(isset($_POST['login']))
{
    $brugernavn = mysql_real_escape_string($_POST['brugernavn']);
    $kodeord    = mysql_real_escape_string($_POST['kodeord']);

    $query = mysql_query("SELECT * FROM brugere WHERE brugernavn = '$brugernavn' AND kodeord = '$kodeord' LIMIT 1");

    if(mysql_num_rows($query) == 1)
    {
        $_SESSION['logged_in'] = true;
        echo "Du er nu logget ind?";
    }
    else
    {
        $_SESSION['logged_in'] = false;
        echo "Forkert kode eller brugernavn!";
    }
}

//Er brugeren allerede logget ind?
if($_SESSION['logged_in'] == true)
{
    echo 'Du er logget ind.';
}
else
{
?>

<form method="post" action="index.php">
B: <input type="text" name="brugernavn"><br />
K: <input type="password" name="kodeord"><br /><br />
<input type="submit" name="login" value="Login!">

<?
}
?>
Avatar billede agertz Nybegynder
30. oktober 2007 - 20:46 #11
Nu skriver den så "Logget ind" hele tiden
Avatar billede jakobdo Ekspert
30. oktober 2007 - 20:51 #12
Og det er jo netop fordi brugeren er logget ind.
Der skal du jo så evt. lave en logud funktion. :o)
www.php.net/session_destroy

og et svar.
Avatar billede jakobdo Ekspert
30. oktober 2007 - 21:36 #13
Takker for point.
Avatar billede agertz Nybegynder
30. oktober 2007 - 21:44 #14
Hvordan fremkalder man brugernavnet i loginsystemet hvor der står "echo 'du er nu logget ind';
Avatar billede jakobdo Ekspert
30. oktober 2007 - 21:49 #15
F.eks. ved at tilføje:

$_SESSION['logged_in'] = true;
$_SESSION['username'] = $brugernavn;
echo "Du er nu logget ind?";

Så kan du altid udskrive: $_SESSION['username']
Avatar billede agertz Nybegynder
30. oktober 2007 - 21:54 #16
Man kan ikke udskrive det med echo "";
Den siger fgl fejl:

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /customers/agertz.dk/agertz.dk/httpd.www/Habbo/login.php on line 16
Avatar billede supersquirrel Nybegynder
30. oktober 2007 - 21:56 #17
Agertz din skøre ugle :P
/streetdoggidog her
Avatar billede agertz Nybegynder
30. oktober 2007 - 21:58 #18
Haha :)

Hej Leo :P
Avatar billede supersquirrel Nybegynder
30. oktober 2007 - 22:01 #19
Jeg tænkte på, har du en top og bund fil? ex. top.php og bund.php?
Avatar billede jakobdo Ekspert
30. oktober 2007 - 22:04 #20
Hvordan prøver du at udskrive?
Avatar billede agertz Nybegynder
30. oktober 2007 - 22:04 #21
Nej.. :-)
Avatar billede agertz Nybegynder
30. oktober 2007 - 22:05 #22
$_SESSION['logged_in'] = true;
    $_SESSION['username'] = $brugernavn;
        echo "$_SESSION['username']";
Avatar billede jakobdo Ekspert
31. oktober 2007 - 07:43 #23
Prøv: echo 'Brugernavn: ' . $_SESSION['username'] . '<br />';
Avatar billede agertz Nybegynder
31. oktober 2007 - 08:55 #24
Tak.. Nu skulle det gerne virke :D
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