login script

Status
Niet open voor verdere reacties.

zodiak

Gebruiker
Lid geworden
9 okt 2008
Berichten
241
Hallo, ik probeer over te stappen van een .htaccess beveiliging (omdat ik hier veel last heb van popups en omdat ik niet kan uitloggen) naar een php script gelinkt met mysql.

wat zou het moeten doen :
- na het inloggen via i_login.php zou ik naar de beveiligde pagina (die in een submap staat) moeten gestuurd worden maar weet niet waar ik dit moet instellen.
- de 7 andere paginas in die map moeten ook een logdin chek uitvoeren. hoe kan ik dit doen?

hopelijk kan iemand mij hier een beetje mee helpen?
 
Laatst bewerkt:
Ik kan je wel een paar pointers geven.

Iemand doorsturen kan met:

PHP:
header ( 'Location: pagina.php' );

Bij het inloggen kun je een sessie setten, die je op andere pagina's weer kunt uitlezen. Bijvoorbeeld:

PHP:
<?php

  session_start();

  if ( $_POST[ 'username' ] == 'klaas' && $_POST[ 'password' ] == 'wachtwoord' ) { // hier komt je check in de database

    $_SESSION[ 'loggedin' ] = true;

  }

?>

Op deze manier kun je op de beveiligde pagina's dit gebruiken:

PHP:
<?php

  session_start();
  
  if ( !isset ( $_SESSION[ 'loggedin' ] ) || $_SESSION[ 'loggedin' ] !== true ) {

    header ( 'Location: login.php' );
    exit;

  }

?>
 
Ik kan je wel een paar pointers geven.

Iemand doorsturen kan met:

PHP:
header ( 'Location: pagina.php' );

Bij het inloggen kun je een sessie setten, die je op andere pagina's weer kunt uitlezen. Bijvoorbeeld:

PHP:
<?php

  session_start();

  if ( $_POST[ 'username' ] == 'klaas' && $_POST[ 'password' ] == 'wachtwoord' ) { // hier komt je check in de database

    $_SESSION[ 'loggedin' ] = true;

  }

?>

Op deze manier kun je op de beveiligde pagina's dit gebruiken:

PHP:
<?php

  session_start();
  
  if ( !isset ( $_SESSION[ 'loggedin' ] ) || $_SESSION[ 'loggedin' ] !== true ) {

    header ( 'Location: login.php' );
    exit;

  }

?>

op welke pagina moet ik die sesion dan setten?
 
Je moet hem setten daar waar je de gebruiker controleert in de database. Als je op i_login.php de gegevens controleert, moet je de sessie ook daar setten.
 
Je moet hem setten daar waar je de gebruiker controleert in de database. Als je op i_login.php de gegevens controleert, moet je de sessie ook daar setten.

ok en waar nu "klaas" staat , dat mag ik gewoon leeg laten ?
 
Gouden tip:

Zet onder een Location header altijd een Exit, want een header is een verzoek, geen verplichting. Je kunt ook een browser pakken die er niet naar luistert, en dan zie je dus gewoon de uitvoer van de rest van het script (het verboden gedeelte)
 
Ahja bij het tweede deel wel :o

Ik zat naar de eerste te kijken, die had em niet :P
 
ik versta er niet veel van, ik begrijp niet waar ik die header moet zetten , heb dit al op een aantal plaatsen gezet en dan zie ik niets meer
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan