Avatar billede cyfer Nybegynder
18. januar 2003 - 13:24 Der er 5 kommentarer og
1 løsning

Location:". $_SERVER['HTTP_REFERER']

Jeg bruger
Location:". $_SERVER['HTTP_REFERER']

Hvis User og Password ikke er korrekt!

Det virker fint. Jeg har prøvet på 2 computere nu. Men på min egen kommer den bare med denne fejl:

403 Forbidden

Forbidden
You don't have permission to access /hto/loginsystem/ on this server.


--------------------------------------------------------------------------------

Apache/1.3.27 Server at cyfer.1go.dk Port 80

Hvorfor gør den det, kun på min computer...?
Avatar billede _darkstar_ Nybegynder
18. januar 2003 - 13:29 #1
Referer-feltet indeholder adressen på den side, du var på sidst.

Hvis du har indtastet URL'en, er der ikke nogen referer, hvorved der henvises til  en tom URL. Det er muligvis der problemet opstår.
Avatar billede tipsen Nybegynder
18. januar 2003 - 13:30 #2
Måske fordi din computer ikke sender HTTP_REFERER med din HTTP-request?
Avatar billede tipsen Nybegynder
18. januar 2003 - 13:32 #3
Vil gætte på, at du måske har en firewall installeret - sidder bag en router eller en proxy eller noget i den retning?

Prøv evt. at udskrive HTTP_REFERER i dit script - så vil du sandsynligvis se at det ikke indeholder noget.

Går ikke udfra det kan være et problem med at indtaste url'en direkte, da det lyder som om du kommer fra en login-formular - men derfor kan du alligevel ikke stole 100% på HTTP_REFERER!
Avatar billede tipsen Nybegynder
18. januar 2003 - 13:33 #4
I stedet er en løsning at lave et hidden-field i din login-formular som identificerer den side der evt. skal sendes tilbage til - når man så har submittet formularen og du har checket user og pass kan du evt. bruge værdien fra det skjulte fejl til at sende brugeren tilbage.

-og alt i alt bliver ovenstående kommentarer vist til et svar.
Avatar billede cyfer Nybegynder
18. januar 2003 - 14:00 #5
tipsen...
Din løsning lyder som den rigtige...
Hvordan gøres dette?

Lige nu ser min IF sætning hvis pass og user ikke er korrekt således ud:

if (mysql_num_rows($result) == 0) {  session_destroy();?>
<? header("Location:". $_SERVER['HTTP_REFERER']); ?>


Og hvad skal der være i det hidden field ? (skal siges at der hvor login formularen er, er en menu som bliver included på alle sider)
Avatar billede tipsen Nybegynder
19. januar 2003 - 12:38 #6
I formularen noget i retning af:

<hidden name="FromPage" value="<?php echo $_SERVER['PHP_SELF'];?>">

og i den anden fil noget i retning af:

<? header("Location:". $_POST['FromPage']); ?>

Det skal måske lige finpudses, men det er hvertfald grundideen.
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