Gå til innhold

Trenger hjelp med header() funksjon


Anbefalte innlegg

Hei, har et problem som jeg ikke finner ut av.

 

Jeg har en innloggingsside hvor bruker skriver inn brukernavn og passord. Informasjonen blir så sjekket på en ny side (siden under her). Hvis brukernavn og passord er korrekt, blir brukeren sendt videre til hovedsiden.

 

Problemet jeg har, er at dette virker som det skal i Maxthon og IE Explorer, men ikke i Firefox eller Opera.

 

Jeg får ingen feilmelding når jeg prøver i FF eller Opera, men feltene blir bare blanket ut.

 

Her er koden:

 

<?PHP

// Define $myusername and $mypassword

$myusername=$_POST['myusername'];

$myusername = str_replace("'", "", $myusername);

$mypassword=$_POST['mypassword'];

$mypassword = str_replace("'", "", $mypassword);

 

ob_start();

include ("../db/dbpass.php");

$tbl_name="users"; // Table name

 

// Legger brukernavn inn i session array.

$name = $_POST['myusername'];

$name = str_replace("'", "", $name);

$_SESSION['myusername'] = $name;

 

 

// Connect to server and select databse.

mysql_connect(localhost,$username,$password);

@mysql_select_db($database) or die( "Unable to select database");

 

$sql="SELECT * FROM $tbl_name WHERE id=2 AND username='$myusername' AND password='$mypassword'";

$result=mysql_query($sql);

 

// Mysql_num_row is counting table row

$count=mysql_num_rows($result);

// If result matched $myusername and $mypassword, table row must be 1 row

mysql_close();

 

if($count==1){

// Register $myusername, $mypassword and redirect to file "R_main.php"

session_register("myusername");

session_register("mypassword");

header("location:R_main.php");

exit;

}

else {

$feilmelding = "Feil brukernavn eller passord!";

}

ob_end_flush();

?>

 

 

 

 

På siden som skal komme opp hvis brukernavn og passord er korrekt har jeg denne koden øverst:

 

<?PHP

session_start();

if(!session_is_registered(myusername)){

header("location:R_login.php");

}

$bruker = $_SESSION["myusername"];

?>

 

 

Hvis noen kan forklare meg hvorfor det kun virker i enkelte browsere, så hadde det vært veldig fint.

 

På forhånd takk!

Lenke til kommentar
Videoannonse
Annonse

Merkelig det her, for jeg vet at det har fungert før i alle browserne, men nå vil det ikke virke plutselig. Har ikke forandret filene heller...

 

Akkurat samme scriptet fungerer fint på webserveren hvor jeg kjører Firefox 1.5

 

Sprøtt...

 

 

Nok en sak å legge i den store haugen med uoppklarte mysterier...?

Lenke til kommentar
Gjest Slettet+142

prøv å gjøre det slik:

 

$host  = $_SERVER['HTTP_HOST'];
$uri  = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$extra = 'R_main.php';
header("Location: http://$host$uri/$extra");

 

hentet rett ifra php.net.. håper det virker

Lenke til kommentar
prøv å gjøre det slik:

 

$host  = $_SERVER['HTTP_HOST'];
$uri  = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$extra = 'R_main.php';
header("Location: http://$host$uri/$extra");

 

hentet rett ifra php.net.. håper det virker

7509718[/snapback]

 

 

Koden din fungerer likt som min, altså i Maxthon, men ikke i Firefox. Jeg har funnet ut at det fungerer hvis jeg fjerner koden som står øverst i R_main.php, men problemet med det, er at hvem som helst da kan gå inn på den siden via adressefeltet.

 

I koden under har jeg kommentert bort header... og lagt til echo for å sjekke.

 

<?PHP

session_start();

 

if (!session_is_registered(myusername))

{

//header("location: R_login.php");

echo"session IKKE OK";

} else{

echo"session OK";

$bruker = $_SESSION["myusername"];

}

?>

 

 

"session IKKE OK" kommer opp i Firefox, mens "session OK" kommer opp i Maxthon.

 

Kan det være noe med instillinger i browserene da?? Fatter ingenting av det her...

Endret av Spoon73
Lenke til kommentar

session_is_registered bør ikke brukes lengre...

If you are using $_SESSION (or $HTTP_SESSION_VARS), do not use session_register(), session_is_registered() and session_unregister().

 

<?PHP

session_start();

 

if (!isset($_SESSION['myusername']))

{

echo"session IKKE OK";

} else{

echo"session OK";

$bruker = $_SESSION["myusername"];

}

?>

Endret av ZoRaC
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...