Avatar billede haolan Nybegynder
10. oktober 2005 - 20:12 Der er 12 kommentarer og
1 løsning

session skal spærre for resten af sidens indhold

Jeg bruger den her lige nu til at beskytte mine sider..:

<?
include("../php/config.php");

session_start();
if(isset($_SESSION['admin']))
{
    $accept = "<p>Hej " . $_SESSION['admin'] . "</p >Du er nu logget ind! Vælg venligst administration i menuen til venstre!";
    $show_menu = include("../includes/adminmenu.inc");
}
else
{
    $disagree = "Du er ikke logget ind. <a href='login.php'>Gå til login</a>";
}

?>

Men problemet med denne er at den kun skjuler det der står oppe i if(isset($_SESSION['admin']))  når man ikke er logget på.. Meningen er at den skal skule hele sidens indhold hvis man ikke logger på og blot vise en lille tekstboks i midten hvor der kommer teksten: "Du er ikke logget ind. <a href='login.php'>Gå til login</a>";

Hvordan får man det lavet sådan?
Jeg har set det før et sted, men kan ikke huske det..
Avatar billede jakobdo Ekspert
10. oktober 2005 - 20:18 #1
Du kunne lave:

<?
include("../php/config.php");

session_start();
if(isset($_SESSION['admin']))
{
    echo = "<p>Hej " . $_SESSION['admin'] . "</p >Du er nu logget ind! Vælg venligst administration i menuen til venstre!";
    include("../includes/adminmenu.inc");
}
else
{
    echo "Du er ikke logget ind. <a href='login.php'>Gå til login</a>";
    exit();
}

?>
Avatar billede haolan Nybegynder
10. oktober 2005 - 20:22 #2
nej for det er jo ikke det eneste den viser..
Der er en masse indhold nedenunder også, og det indhold vil blive noget besværligt at kode ind i php..
Avatar billede jakobdo Ekspert
10. oktober 2005 - 20:27 #3
Altså exit();
Stopper scriptet!
Du kan evt bruge:
header("location: login.php");
og smide den i:
{
    header("location: login.php");
    exit();
}

Og så laver du en login.php side, hvor brugeren skal logge ind, hvis ikke han allerede er det.
Avatar billede haolan Nybegynder
10. oktober 2005 - 20:58 #4
øhm jeg tror det virker.. men hver gang jeg logger på udskriver den fejl 500. Internal Server Error, det plejer den kun at gøre når filen ikke eksistere og det gør den for skriver jeg adressen i adressen linien eksistere index fint nok
Avatar billede jakobdo Ekspert
10. oktober 2005 - 21:04 #5
Men hvad med filen: login.php
Forstår du hvad header() gør?
Avatar billede haolan Nybegynder
10. oktober 2005 - 21:06 #6
jaja den sender videre.. og login.php er der også..

Men det er godt nok noget skørt at jeg ikke kan se index.php.. hvis jeg åbner index.php så sender den mig videre til login.php men logger jeg ind skriver den den fejl 500..
Avatar billede jakobdo Ekspert
10. oktober 2005 - 21:09 #7
Det virker mærkeligt!
Avatar billede haolan Nybegynder
10. oktober 2005 - 21:14 #8
Ja.. hvis jeg fjerner det øverste.. altså:
<?
include("../php/config.php");

session_start();
if(isset($_SESSION['admin']))
{
    $accept = "<p>Hej " . $_SESSION['admin'] . "</p >Du er nu logget ind! Vælg venligst administration i menuen til venstre!";
    $show_menu = include("../includes/adminmenu.inc");
}
else
{
    header("location: login.php");
    exit();
}

?>

Så viser den siden uden problemer, men så er der jo ikke noget login på
Avatar billede haolan Nybegynder
10. oktober 2005 - 21:36 #9
Har prøvet at uploade det til webhotellet nu.. og nu får jeg følgende fejlmeddelse

Fatal error: session_start(): Failed to initialize storage module: user (path: /tmp) in /var/www/vivaa.dk/new/admin/index.php on line 4
Avatar billede haolan Nybegynder
10. oktober 2005 - 22:52 #10
Fandt fejlen :) havde ved et uheld fået placeret min session_start i adminmenu.inc.. så det fejlede på den måde.. det virker som det skal nok.. Mange tak for hjælpen igen.. læg svar for points :)
Avatar billede jakobdo Ekspert
11. oktober 2005 - 11:02 #11
Svar!
Avatar billede jakobdo Ekspert
11. oktober 2005 - 11:39 #12
Takker for point!
Avatar billede haolan Nybegynder
11. oktober 2005 - 11:42 #13
velbekomme da :)
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