navyboy Skrevet 30. mai 2005 Del Skrevet 30. mai 2005 (endret) Får ikke PHP session til å virke i IE. Firefox klarer dette. Jeg har en innlogginsside. På neste side kan folk legge igjen en hilsen, hvor nicket skal være det samme som ved innlogginssiden. I Internet Explorer blir nick-feltet blankt, men i firefox virker det! Bruker PHP 4. Nå har jeg fått lokalisert problemet litt. Hver gang jeg starter siden hvor bruker skal taste inn ett eller annet så lager den en sess_100e06b1148cc57a88d1212bf39ecd3d fil. Hver gang jeg trykker F5 så blir det opprettet en ny sess fil. Men den inneholder ingenting. 0 byte. Mens hvis jeg logger meg inn så blir det opprettet en sess_xxxxx fil hvor inneholdet er det jeg tastet inn på forrige side. Men pga at det har blitt opprettet flere sess filer klarer den ikke å huske hvem av sess filene som skal brukes (tror jeg). Når jeg bruker firefox blir det ikke opprettet ny sess fil for hver gang jeg tar refresh. Så her er nok den store forskjellen. Men hva gjør jeg? Hvorfor lager IE nye session filer hele tiden ?? Endret 8. juni 2005 av navyboy Lenke til kommentar
Axentrix Skrevet 30. mai 2005 Del Skrevet 30. mai 2005 Hvordan henter du navnet? som $_POST variabel eller $_SESSION? Post scriptet, eller iallefall deler av det, du Lenke til kommentar
Cucum(r) Skrevet 30. mai 2005 Del Skrevet 30. mai 2005 IE kan slite litt med sessions. header("Cache-control: private"); Dette gjør vanligvis biffen. Lenke til kommentar
navyboy Skrevet 31. mai 2005 Forfatter Del Skrevet 31. mai 2005 (endret) IE kan slite litt med sessions. header("Cache-control: private"); Dette gjør vanligvis biffen. Takk, men det hjalp ikke. login.php <?php ob_start(); ?> <html> <body> <?php header("Cache-control: private"); session_start(); if (isset($_POST['login']) ) { $db = mysql_connect('localhost', '****', '****'); mysql_select_db('gallery'); $q = mysql_query("select * from users where username = '".$_POST['userna me']."' and password = '".md5($_POST['password'])."'"); while ($var=mysql_fetch_assoc($q)) { print "test".$_POST['username']; print_r($var); } if (mysql_num_rows($q) > 0) { $_SESSION['username'] = $_POST['username']; echo "<form method='POST' action='hilsen.php'>\n\t <pre>Username: </pre> <input type='text' name='username'/> <br/>\n<pre>Password: </pre> <input type='password' name='password'/> <br/>\n <input type='submit' name='login' value='Login'/>\n </form></body></html>"; Denne skal skrive inn brukernavnet bruker tastet i innloggingssiden + ny hilsen. Det er kun ny hilsen som kommer opp. brukernavnet er blankt. Men i FireFox virker det. hilsen.php <?php session_start(); header("Cache-control: private"); mysql_connect('localhost','****','****'); mysql_select_db('gallery'); if(isset($_POST['nyhilsen'])) $ny=mysql_query("INSERT INTO gjestebok (id,nick,hi lsen) VALUES (NULL,'".$_SESSION['username']."','".$_POST['nyhilsen']."')"); <form method="POST" action="hilsen.php"> <input type="text" name="nyhilsen" value=""> <input type="submit" name="kommenter" value="Kommenter" /></form>'; ?> Endret 31. mai 2005 av navyboy Lenke til kommentar
kakkle Skrevet 31. mai 2005 Del Skrevet 31. mai 2005 Er det hele koden ? Ser isåfall en del feil i login.php. Mangler endel }. Men da er det isåfall merkelig at det fungerer i firefox, forsåvidt. header() og session_start() må settes helt i toppen av scriptet, før noe output (<HTML> osv...) Lenke til kommentar
navyboy Skrevet 31. mai 2005 Forfatter Del Skrevet 31. mai 2005 Er det hele koden ?Ser isåfall en del feil i login.php. Mangler endel }. Men da er det isåfall merkelig at det fungerer i firefox, forsåvidt. header() og session_start() må settes helt i toppen av scriptet, før noe output (<HTML> osv...) Nei det er ikke hele koden, bare klipte ut essensen, godt mulig jeg har glemt å ta med noen tagger etc, men så lenge det virker i firefox er det vel ikke der feilen ligger? Har prøvd flere forskjellig php-filer men får samma feil. Har også fått andre til å lage php-kode til meg, funker på maskinen dems både med IE og FF men ikke når filen ligger på servern min....virker det som. Lenke til kommentar
datapia Skrevet 31. mai 2005 Del Skrevet 31. mai 2005 Kanskje du har tillat cookies i firefox, men ikke i IE? Session benytter nemlig cookies, og dersom disse er slått av i nettleser vil ikke session virke Lenke til kommentar
Gjest Slettet-rXRozPkg Skrevet 31. mai 2005 Del Skrevet 31. mai 2005 header() og session_start() må settes helt i toppen av scriptet, før noe output (<HTML> osv...) Header må ikke ligge i toppen når man bruker output buffering, altså ob_start() og ob_flush()/ob_end_flush(), som det blir gjort her. Lenke til kommentar
navyboy Skrevet 8. juni 2005 Forfatter Del Skrevet 8. juni 2005 Nå har jeg fått lokalisert problemet litt. Hver gang jeg starter siden hvor bruker skal taste inn ett eller annet så lager den en sess_100e06b1148cc57a88d1212bf39ecd3d fil. Hver gang jeg trykker F5 så blir det opprettet en ny sess fil. Men den inneholder ingenting. 0 byte. Mens hvis jeg logger meg inn så blir det opprettet en sess_xxxxx fil hvor inneholdet er det jeg tastet inn på forrige side. Men pga at det har blitt opprettet flere sess filer klarer den ikke å huske hvem av sess filene som skal brukes (tror jeg). Når jeg bruker firefox blir det ikke opprettet ny sess fil for hver gang jeg tar refresh. Så her er nok den store forskjellen. Men hva gjør jeg? Hvorfor lager IE nye session filer hele tiden ?? Lenke til kommentar
navyboy Skrevet 8. juni 2005 Forfatter Del Skrevet 8. juni 2005 Fant ut at den var dns saken min som hadde skyla. jeg bruker moo.no til å huske ip adr min, nå har jeg skiftet til mydns. så nå funker alt som det skal. merkelig. Lenke til kommentar
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å