/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Problemer med login system - Sessions
Fra : Lasse Jensen


Dato : 01-02-06 03:17

Hej eksperter.

Jeg har desværre problemer med et login system som jeg er igang med at
lave. Ja, faktisk så kan jeg ikke få det til at virke korrekt, så jeg
kan ikke rigtig komme videre.

I kan jo prøve at teste det her, http://webweaver.dk/testsystem2/index.php

Brugernavn: bruger
Kodeord: test

Prøv at gå ind på den beskyttede side og tilbage til den ubeskyttede, og
så ind på den beskyttede side igen. Først gang man vil ind på den
beskyttede, virker det korrekt. Anden gang når man er gået tilbage og
vil ind igen, virker det ikke, men bliver i stedet sendt til jubii, som
jeg har sat den til når man ikke er logget ind, bare indtil systemet
virker og jeg får lavet min egen fejlside naturligvis.

Har I nogen anelse om hvordan den "destroyer" sessionen? Burde den ikke
efter som man hverken lukker browser eller noget som helst. Jeg kan ikke
finde fejlen.

Her kan I se de tilhørende filer;

Function_tjek_login.php
http://www.webweaver.dk/function_tjek_login.phps

Index.php
http://www.webweaver.dk/index.phps

Side.php
http://www.webweaver.dk/side.phps

Login.php
http://www.webweaver.dk/login.phps

På forhånd tak

Mvh. Lasse Jensen

 
 
Jesper H (02-02-2006)
Kommentar
Fra : Jesper H


Dato : 02-02-06 10:22

Hej Lasse

Jeg kan heller ikke lige spotte hvad der går galt. Men du kan jo
prøve at indsætte print_r($_SESSION) på alle siderne på passende
steder, så du kan se hvad $_SESSION indeholder på de forskellige
tidspunkter - måske det kan være med til at fejlfinde?

--
Mvh Jesper, http://fdf.dk/landsdel1/


Lasse Jensen (02-02-2006)
Kommentar
Fra : Lasse Jensen


Dato : 02-02-06 15:11

Jesper H skrev:
> Hej Lasse
>
> Jeg kan heller ikke lige spotte hvad der går galt. Men du kan jo
> prøve at indsætte print_r($_SESSION) på alle siderne på passende
> steder, så du kan se hvad $_SESSION indeholder på de forskellige
> tidspunkter - måske det kan være med til at fejlfinde?
>
> --
> Mvh Jesper, http://fdf.dk/landsdel1/
>

Hej Jesper.

Er sku lykkelig for du svarede, fordi er der absolut ingen der gør.
Der er desværre ingen som kan se nogle fejl!..

Jamen jeg har sådan set prøvet det før, og mine Sessions indeholder den
angivne værdi, helt som de skal. Men jeg vil da lige prøve det igen på
alle sider så, det kan da ikke skade. Noget må man jo gøre, og noget må
der sQ da være galt.!

Tak for dit svar.

Mvh. Lasse Jensen

Dan Storm (02-02-2006)
Kommentar
Fra : Dan Storm


Dato : 02-02-06 19:24

Lasse Jensen skrev:
>en masse
I det samme som du logger ind vil man bemærke, ved refresh, at
brugernavn sessionen tømmes for indhold. samtidig mangler du en
session_start() for at kunne benytte dig korrekt af sessions.

Prøv at rette din login.php til med dette istedet: (se eventuelle
rettelser og tilføjelser)

<?php
                        session_start();
                        
if (isset($_POST['login'])) {

mysql_connect("localhost", "root", "") or
die(mysql_error());
mysql_select_db("database") or die(mysql_error());

$foresp = mysql_query("SELECT * FROM Profil WHERE
brugernavn = '".$_POST['username']."' AND kodeord =
'".md5($_POST['password'])."'");

if(mysql_num_rows($foresp) < 1) {
   Die("Der kunne ikke logges ind!");
}

while($data = mysql_fetch_array($foresp)) {

$brugernavn = $data['brugernavn'];
$kodeord = $data['kodeord'];
$admin = $data['admin'];
}


$_SESSION['username'] = $brugernavn;

if($admin == 1) {
$_SESSION['admin'] = 1;
}


if(!isset($_SESSION['username'])) {
?>

<form method="post" action="<? echo
$_SERVER['PHP_SELF']; ?>">
<input type="hidden" name="login">
Username : <input type="text" name="username"><br />
Password : <input type="password" name="password"><br />
<input type="submit" value="Login">
</form>

<?
} else {
if(isset($_SESSION["admin"])) {
echo"Admin menu";
} else {
echo"Bruger menu";
}
}
?>
--
Dan Storm - storm at err0r dot dk / http://err0r.dk

Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!

Lasse Jensen (02-02-2006)
Kommentar
Fra : Lasse Jensen


Dato : 02-02-06 20:05

Dan Storm skrev:
> Lasse Jensen skrev:
> >en masse
> I det samme som du logger ind vil man bemærke, ved refresh, at
> brugernavn sessionen tømmes for indhold. samtidig mangler du en
> session_start() for at kunne benytte dig korrekt af sessions.
>

Hey Dan.

Okay men jeg forstår ikke hvorfor der skal være en session_start();.
Det er der jo i de filer, hvor den bliver included. Men den skal være
der alligevel eller hvad?

Tak for svaret.

Mvh. Lasse Jensen

Dan Storm (02-02-2006)
Kommentar
Fra : Dan Storm


Dato : 02-02-06 20:45

Lasse Jensen skrev:
> Okay men jeg forstår ikke hvorfor der skal være en session_start();.
> Det er der jo i de filer, hvor den bliver included. Men den skal være
> der alligevel eller hvad?
>

Nok bare mig der er for træt.. havde ikke lige set den... Men nej, det
er fint nok hvis bare den bliver deklaret et eller andet sted...
--
Dan Storm - storm at err0r dot dk / http://err0r.dk

Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!

Lasse Jensen (03-02-2006)
Kommentar
Fra : Lasse Jensen


Dato : 03-02-06 00:58

Dan Storm skrev:
>
> Prøv at rette din login.php til med dette istedet: (se eventuelle
> rettelser og tilføjelser)

Jeps, jeg har nu kigget på det og fået det til at virke.
Mit script var faktisk fint nok, det var bare 2 variabler som skulle
flyttes inden for en if sætning.

Men. Nu har jeg et nyt problem :(

Nu har jeg smidt det ind i designet, - man logger ind.. Men når man så
klikker på en af de sider man skal være logget ind for at se, bliver man
sendt til jubii som man ikke var logget ind. Det er lidt det samme
problem som før.

I kan prøve her.. http://www.webweaver.dk/testsystem/

brugernavn: bruger
kodeord: test

og så klik på en af de links i menuen som der er stjerner (***) ved.

Login, samt menuen og så videre er alt sammen included ind på siden, så
det ligger i eksterne filer. Jeg ved ikke om det har noget at sige.

Håber I kan se problemet. Scripts er de samme som tidligere, jeg har dog
gået over til Dan's, næsten med undtagelse af nogle få ting.

På forhånd mange mange tak! :)

Mvh. Lasse Jensen

Dan Storm (03-02-2006)
Kommentar
Fra : Dan Storm


Dato : 03-02-06 10:31

Lasse Jensen skrev:
> Nu har jeg smidt det ind i designet, - man logger ind.. Men når man så
> klikker på en af de sider man skal være logget ind for at se, bliver man
> sendt til jubii som man ikke var logget ind. Det er lidt det samme
> problem som før.

Problemet opstår igen som før, bortset fra at hele session variablerne
forsvinder... prøv at lægge din kilde kode til index.php op, så vi lige
kan skimte den igennem for syntaks.

--
Dan Storm - storm at err0r dot dk / http://err0r.dk

Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!

Lasse Jensen (03-02-2006)
Kommentar
Fra : Lasse Jensen


Dato : 03-02-06 13:36

Dan Storm skrev:
> Lasse Jensen skrev:
>
>> Nu har jeg smidt det ind i designet, - man logger ind.. Men når man så
>> klikker på en af de sider man skal være logget ind for at se, bliver
>> man sendt til jubii som man ikke var logget ind. Det er lidt det samme
>> problem som før.
>
>
> Problemet opstår igen som før, bortset fra at hele session variablerne
> forsvinder... prøv at lægge din kilde kode til index.php op, så vi lige
> kan skimte den igennem for syntaks.
>

Jeps okay, I kan finde index.php her, http://www.webweaver.dk/index2.phps

Filen menu.php som bliver included, indeholder både menu og login scripts.

På forhånd tak

Mvh. Lasse Jensen

Jesper H (03-02-2006)
Kommentar
Fra : Jesper H


Dato : 03-02-06 15:35

Hej Lasse

I det link, du sender ( http://www.webweaver.dk/index2.phps ), mangler
der så ikke session_start(); helt oppe i toppen af filen?

--
Mvh Jesper, http://fdf.dk/landsdel1/


Lasse Jensen (04-02-2006)
Kommentar
Fra : Lasse Jensen


Dato : 04-02-06 17:44

Jesper H skrev:
> Hej Lasse
>
> I det link, du sender ( http://www.webweaver.dk/index2.phps ), mangler
> der så ikke session_start(); helt oppe i toppen af filen?
>
> --
> Mvh Jesper, http://fdf.dk/landsdel1/
>

Hehe jo, det var faktisk problemet
Lidt pinligt, men den havde jeg alligevel glemt.

Tak for hjælpen, nu virker systemet

Mvh. Lasse Jensen

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste