Avatar billede frontview Nybegynder
20. december 2005 - 22:57 Der er 9 kommentarer og
1 løsning

Sende brugeren tilbage

Hej,

Sidder og roder med noget loginsystem, og på min side er der "fast" en loginboks, da det kun er nogle af siderne der kræver login. Hvordan kan man sende brugeren tilbage til den side hvor han/hun loggede ind??

Håber i forstår.

/Brian
Avatar billede casualty Nybegynder
20. december 2005 - 23:02 #1
når du kalder loginsiden, så send en parameter med, med linket hvor brugeren skal redirectes tilbage til efter endt login
Avatar billede casualty Nybegynder
20. december 2005 - 23:03 #2
måske kan du også bruge $_SERVER["HTTP_REFERER"]...

Når dine login rutiener er kaldt så send brugeren tilbage til $_SERVER["HTTP_REFERER"]
Avatar billede frontview Nybegynder
20. december 2005 - 23:10 #3
if($_POST['login']) {
    if($_POST['mail'] && $_POST['pass']) {
        $user_in_db = mysql_query("SELECT * FROM `nyheds_mail` WHERE email='".$_POST['mail']."' AND pass='".$_POST['pass']."'");
        $user = mysql_fetch_assoc($user_in_db);
        if($user['id']) {
            $_SESSION['brugernavn'] = $user['navn'];
            $_SESSION['kodeord'] = $user['pass'];
            $_SESSION['status'] = $user['status'];
            $_SESSION['userid'] = $user['id'];
            $_SESSION['mail'] = $user['email'];
            header("Location: '"$_SERVER["HTTP_REFERER"]"'");
        } else {
            $_SESSION['error'] = "Du har enten skrevet et forkert brugernavn eller et forkert kodeord.";
            header("Location: ?page=fejl");
        }
    } else {
        header("Location: ?page=fejl");
    }
}

Sådan?? Det virker ikke..
Avatar billede casualty Nybegynder
20. december 2005 - 23:27 #4
Hvad gør den?
Avatar billede frontview Nybegynder
21. december 2005 - 00:44 #5
Den sender mig rigtigt nok tilbage til index.php men den skal jo sende tilbage til f.eks index.php?page=SIDENS_NAVN
Avatar billede casualty Nybegynder
21. december 2005 - 08:24 #6
så kan du i din loginform lave et hidden field der ser således ud:

<input type="hidden" name="returnto" value="<? echo "http://dinside.dk".$_SERVER['REQUEST_URI']; ?>">

Dette sendes med over ved login og du kan herefter redirecte brugeren tilbage til værdien fra dit hidden field:

if($_POST['login']) {
    if($_POST['mail'] && $_POST['pass']) {
        $user_in_db = mysql_query("SELECT * FROM `nyheds_mail` WHERE email='".$_POST['mail']."' AND pass='".$_POST['pass']."'");
        $user = mysql_fetch_assoc($user_in_db);
        if($user['id']) {
            $_SESSION['brugernavn'] = $user['navn'];
            $_SESSION['kodeord'] = $user['pass'];
            $_SESSION['status'] = $user['status'];
            $_SESSION['userid'] = $user['id'];
            $_SESSION['mail'] = $user['email'];
            header("Location: '".$_POST['returnto']."'");
        } else {
            $_SESSION['error'] = "Du har enten skrevet et forkert brugernavn eller et forkert kodeord.";
            header("Location: ?page=fejl");
        }
    } else {
        header("Location: ?page=fejl");
    }
}
Avatar billede frontview Nybegynder
23. december 2005 - 01:13 #7
Har prøvet at rode med det.. MEN det f&#%'er stadig op for mig.. Den vil ikke sende mig tilbage til siden..
Den sendte mig bare til index.php
Avatar billede frontview Nybegynder
23. december 2005 - 01:55 #8
<?PHP session_start();
    if(isset($_SESSION['bruger'], $_SESSION['brugernavn'], $_SESSION['error']))  {echo "<TD height='20' bgcolor='#FFFFFF'>Velkommen <B>".$_SESSION[brugernavn]."</B>";
    echo"</TD>" ;} else {
    echo "<TD><form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\">";
    echo "<b><input type=\"hidden\" name=\"url\"  value=" .$_SERVER['PHP_SELF']. ">

<input type=\"hidden\" name=\"var\"  value=" .$_SERVER['QUERY_STRING']. "></b>";
    echo "Brugernavn:&nbsp;<input type=\"text\" name=\"mail\"> Kodeord:<input type=\"password\" name=\"pass\"> <input type=\"submit\" name=\"login\" value=\"Login!\">";
    echo "</form></TD>";}
      ?>

Det er min login

if($_POST['login']) {
    if($_POST['mail'] && $_POST['pass']) {
        $user_in_db = mysql_query("SELECT * FROM `nyheds_mail` WHERE email='".$_POST['mail']."' AND pass='".$_POST['pass']."'");
        $user = mysql_fetch_assoc($user_in_db);
        if($user['id']) {
            $_SESSION['bruger'] = "ok";
            $_SESSION['userid'] = $user['id'];
            $_SESSION['mail'] = $user['email'];
            $_SESSION['kodeord'] = $user['pass'];
            $_SESSION['brugernavn'] = $user['navn'];
            $_SESSION['status'] = $user['status'];
            $loc = "http://www.pokerskole.dk".$_POST['url']. "?" .$_POST['var'];
            header("Location: $loc");
        } else {
            $_SESSION['error'] = "Du har enten skrevet et forkert brugernavn eller et forkert kodeord.";
            header("Location: ?page=fjols");
        }
    } else {
        header("Location: ?page=fejl");
    }
}

Nu sender den mig tilbage, men hvorfor mangler mine sessions???
Avatar billede frontview Nybegynder
23. december 2005 - 02:05 #9
Har løst det.. Skulle lige fjerne $_SESSION['error'] så kører det..

Casualty, smid et svar.. Du hjalp mig på rette spor! Tak for det!
Avatar billede casualty Nybegynder
06. januar 2006 - 16:54 #10
Ok :)
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