Gå til innhold

er brukeren logget inn?


Anbefalte innlegg

Hei! Har laget en innlogging hvor det blir lagret sessions etter godkjent innlogging, sessions er for brukernavn og passord.. tror dette skal virke..

 

etter innlogging blir brukeren videresendt til hovedside.php, dette virker. MEN når jeg vil klikke med til neste side som har tilnærmet lik kode/validering så blir jeg redirecta til index.php hvor jeg har login..

 

Har brukt koden på sidene brukeren skal se:

 

<?php

session_start();

 

if($_SESSION['brukernavn'] && $_SESSION['passord'])

{

?>

 

<head>

 

"css ol."

 

</head>

 

<body>

 

"html kode"

 

</body>

 

<?

}

else

{

header ("Location: index.php");

}

?>

 

Hva er galt, sikkert masse.. hva er forbedringspotensialet her? bør jeg gjøre dette på en annen måte?

Lenke til kommentar
Videoannonse
Annonse

<?php

if( !isset( $_SESSION['brukernavn'] ) && !isset( $_SESSION['passord'] ) ) {

header ("Location: index.php");

}

 

resten av html stuff her uten else

 

 

men du burde ha en brukernav og apssordsjekk for hver side

 

altsa

 

if( !sjekklogin() )

die( 'ikke logget inn' );

Endret av Ståle
Lenke til kommentar

Uten at jeg er noen ekspert på PHP, her er det jeg umiddelbart ser:

 

if($_SESSION['brukernavn'] && $_SESSION['passord']) Se nøye på denne setningen, den har nemlig en logisk brist. Det står bare "if x && y". Når vil denne setningen oppfylles? Aldri. Om du bruker noe sånt som "if x == z && y == w", derimot.. Om du er med?

 

Om du f.eks. vil sjekke brukernavnet og passordet mot en tabell i en database kan du kjøre en spørring mot databasen, sette resultat i et array og bruke

if($_SESSION['brukernavn'] == $array['brukernavn'] && $_SESSION['passord'] == $array['brukernavn'])

 

Det jeg har gjort tidligere i en liknende situasjon er å bare sette en sesjonsvariabel ( her: $_SESSION['auth'] ) til 'true' når bruker logger inn, og bruke noe sånt som dette øverst i hver fil som skal være i den "sikre" delen av siden.

 

<?php

session_start();

if (!isset($_SESSION['auth']))

header("Location: index.php");

?>

 

Håper dette var forståelig. :roll:

 

EDIT: Som Ståle foreslår, er det nok en god idé å sjekke passord for hver side.

Endret av humbuq
Lenke til kommentar
Uten at jeg er noen ekspert på PHP, her er det jeg umiddelbart ser:

 

if($_SESSION['brukernavn'] && $_SESSION['passord']) Se nøye på denne setningen, den har nemlig en logisk brist. Det står bare "if x && y". Når vil denne setningen oppfylles? Aldri. Om du bruker noe sånt som "if x == z && y == w", derimot.. Om du er med?

8944565[/snapback]

Feil, en string er true så lenge den ikke er tom eller "0".

Lenke til kommentar

tusen takk ofr svar, da skal jeg teste dette!

 

Hva menes med at passordet bør sjekkes for hver side? mener dere da opp mot databasen? Eller holder det å se at SESSION for passord er satt?

 

En annen ting jeg har tenkt på.. kan disse SESSION's "gå ut" mens man er inne å surfer på siden? hvor lenge holder de?

 

takk..

Lenke til kommentar
Det beste er a sjekke brukernavn passord for hver side opp mot databasen, men det er ikke sa gale a settte en "loggetinn" session for sma sider som ikke trenger a vaere sa sikker.

 

Levetiden er satt i PHP.ini filen

du kan lese mer her http://no.php.net/session

8946203[/snapback]

 

Hvor ligger denne filen? :blush: Hva er stadardoppsett? har en ekstern webserver via. one.com

Lenke til kommentar
lag et php dokument med

 

<?php

phpinfo();

?>

 

sa kan du lete etter de settingsene du ser pa http://php.net/session

 

 

Du kan ikke endre pa den nar du har one.com. Men du kan lage et annet script, som unset()-er loggetinn-sessionen nar sa og sa lang tid har gatt.

8946869[/snapback]

 

Den er grei, da skal vi se om jeg ikke fåt til noe :p takk for hjelpen

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...