oya Skrevet 8. januar 2008 Skrevet 8. januar 2008 Hei! Har et script som bruker session for å finne ut om bruker er innlogget. Det fungerer supert, foruten når jeg bruker web-forwarding. Har et domene (fra joker.com) som skal peke mot webserveren (ntnu) der hjemmesiden ligger. For å beholde domenet som adresse brukes det en 100% frame. Men når jeg skal logge inn via adminsiden virker ikke sessions. Noen som vet hvordan jeg kan løse dette problemet, evt. en annen måte å finne ut om en bruker er innlogget?
grimjoey Skrevet 8. januar 2008 Skrevet 8. januar 2008 (endret) når du bruker php script i frames tror jeg ikke klienten mottar headers fra php. dette gjør i så fall at klienten ikke mottar session id. i stedet for frames lag heller en side som følger: <?php $url ='http://oya.ntnu.no/'; // må være en fulstendig url header( 'Location: '.$url ); ?> edit: hvis det er viktig for deg å beholde domenenavnet synlig i adressefeltet kan du gjøre noe likende: <?php $url ='http://oya.ntnu.no/'; // må være en fulstendig url $tmp_filename = 'tmp.php'; // må ende med .php $tmp = file_get_contents( $url ); file_put_contents( $tmp_filename, $tmp ); include( $tmp_filename ); unlink( $tmp_filename ); // denne vil slette filen ?> edit: mulig man kan bruke include($url); direkte. Endret 8. januar 2008 av grimjoey
oya Skrevet 8. januar 2008 Forfatter Skrevet 8. januar 2008 (endret) Tenker du i den filen som er frame, som ligger på serveren på joker.com? Prøvde dette i en testfil på serveren til ntnu, men fikk opp følgende feilmelding: Warning: Cannot modify header information - headers already sent by (output started at /web/folk/oyvinne/tfweb01/test.php:9) in /web/folk/oyvinne/tfweb01/test.php on line 13 andre koden: Warning: file_get_contents() [function.file-get-contents]: URL file-access is disabled in the server configuration in /web/folk/oyvinne/tfweb01/test.php on line 15 Warning: file_get_contents(http://oya.ntnu.no/) [function.file-get-contents]: failed to open stream: no suitable wrapper could be found in /web/folk/oyvinne/tfweb01/test.php on line 15 Fatal error: Call to undefined function: file_put_contents() in /web/folk/oyvinne/tfweb01/test.php on line 16 Endret 8. januar 2008 av oya
grimjoey Skrevet 8. januar 2008 Skrevet 8. januar 2008 (endret) koden jeg skrev med header() er nødt til å ligge helt øverst i filen. (du kan ikke bruke header() dersom output har startet) dette går ikke: <html> <head> <?php header('test'); ?> ... dette går bortsett fra at test ikke er en gyldig header: <?php header('test'); ?> <html> <head> ... Endret 8. januar 2008 av grimjoey
oya Skrevet 9. januar 2008 Forfatter Skrevet 9. januar 2008 Skal dette være i filen som ligger på servern til joker.com (frames) eller i siden på serveren til ntnu (innholdet)? Fikk det nemlig til å fungere dårlig på filen på ntnu sin server. Har derimot ikke tilgang til å skrive inn noe over <head> i den filen på joker.com
grimjoey Skrevet 9. januar 2008 Skrevet 9. januar 2008 (endret) det skulle vært på joker siden. hmm får du skrevet før </head>? i så fall kan du bruke <head> <meta http-equiv="refresh" content="0; http://oya.ntnu.no" /> </head> eller java script: <body onload="location.href = 'http://oya.ntnu.no'"> får du kun skrevet i <body>...</body> tror jeg det skal fungere med: <script type="text/javascript"> location.href = 'http://oya.ntnu.no'; </script> Alternativ måte å sjekke om bruker er innlogget kan være at du benytter deg av javascript til å sette og lese cookies (session id). Ganske tungvint. Du må i så fall lage eller finne funksjoner for setting og lesing av cookies. Så må du ha en onclick="addcookie()" på alle linker som fører til beskyttede sider. funksjonen addcookie() må legge til en get eller post variabel med session id i requesten som utføres. session id leses fra cookien du setter. ved nermere ettertanke burde php selv sørge for å legge session id som GET i hver link. forstår ikke hvorfor php ikke gjør det i ditt tilfelle. Endret 9. januar 2008 av grimjoey
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå