webForumDet fria alternativet

Sessioner finns - men bara på aktuell sida

PHP

3 svar · 345 visningar · startad av joakimweb

Medlem sedan feb. 2002141 inlägg
Frågan#1

Hej!

Jag har börjat ge mig in på detta med PHP och skall skapa en administrationsfil till ett script jag håller på att göra. Den måste ju naturligtvis vara lösenordsskyddad och där blir det fel. Jag skapar en session, jag kan skriva ut den på samma sida men när jag redirectar (kör förresten med javascript, verkar fela med header-scriptet) så är sessionen nollad. Någon aning om varför?

admin_login.php

<?php 
require("config.php");

if($username == $admin_username && $password == $admin_password) {
session_start();
$_SESSION['faqadmin'] = "inloggad";
session_write_close();
echo "<script Language='JavaScript'>
location.href=('admin.php');
</script>";
}else{
session_start();
$_SESSION['fel'] = "Fel anv.namn eller lösenord!";
session_write_close();
echo "<script Language='JavaScript'>
location.href=('admin.php');
</script>";
}
?>

admin.php

<?
session_start();
echo $_SESSION['fel'];
?>

(Nej, jag skriver fel lösenord så fel ska synas...)

Mycket tacksam för hjälp =)

Medlem sedan feb. 2002141 inlägg
#2

Tillägg: version 4.3.1 av php

Medlem sedan mars 20025 907 inlägg
#3

joakimweb skrev:

(kör förresten med javascript, verkar fela med header-scriptet)

Vad är det som felar med header-funktionen?

Warning: Cannot modify header information - headers already sent...

Eller? Isf har du lösningen på ditt sessionproblem även där. Data har skickats till klienten innan header()/session_start(), det får inte ske! Sätt session_start(); överst i koden (ovanför require("config.php");) och se till så att ingenting skickas till besökaren (inga blanksteg eller liknande får finnas innan <?php-taggen) innan alla headers är satta.

Medlem sedan feb. 2002141 inlägg
#4

Tack, det löste det =)

258 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)