Avatar billede kiwankow Nybegynder
08. oktober 2009 - 12:26 Der er 1 løsning

Hjælp til login script med session og URL forward

Hej jeg har tidligere fået hjælp til at lave dette login in script som kan bruges forskellige undermapper på min server.
Problemet er at når jeg sætter en URL forward på min undermappe og beholder domænet i browserens adresselinje så virker session ikke og jeg kan dermed ikke logge ind. Hvis jeg derimod tillader at domænet erstattes med stien til mappen i browserens adresselinje så virker scriptet igen.
Jeg ville dog meget gerne have at domænet kunne blive i browseren, da det ser meget bedre ud.

tilpas.php
----------------------
<?php
session_start();
if(!$_SESSION['login'] || $_SESSION['SITE'] != dirname(__FILE__))
header("Location: login.php");
?>


login.php
-----------------------
<?php
include("variable.php");
?>
<?php
session_start();
if(isset($_SESSION['login']) && $_SESSION['login'] == 1 && $_SESSION['SITE'] == dirname(__FILE__))
    header("Location: tilpas.php");

    $username = trim($_POST['username']);
    $password = trim($_POST['password']);
if(isset($_POST['username']) && !empty($_POST['username']) AND !empty($_POST['password'])){
    $ok_user = $admin;
    $ok_pass = $pass;
    if($username == $ok_user AND $password == $ok_pass){
        $_SESSION['login'] = 1;
        $_SESSION['SITE'] = dirname(__FILE__);
    header("Location: tilpas.php");
    }else{
        $login_error = 1;
    }
} else {
    $login_error = 1;
}
?>
Avatar billede kiwankow Nybegynder
08. oktober 2009 - 13:14 #1
Løste det ved bruge basename(dirname(__FILE__)) istedet for bare dirname(__FILE__)
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