Avatar billede solskinsvejr Nybegynder
30. januar 2003 - 20:07 Der er 15 kommentarer og
1 løsning

Sessions ???

Hej, jeg er ved at lave en side hvor man skal være logget ind, for at kunne se den... Så er det jeg gerne vil benytte mig af sessions... som følgende:

<?php
session_start();
if(!$_SESSION['loget_in'] == 1) {//Hvis brugeren ikke er logget in
header("Location: http://www.domain.dk/login.html");//Sender brugeren videre
exit;//Sørger for at resten af koden, ikke bliver udført
}

//AL MIN KODE
?>

Problemet er, at resten af koden på min side skal stå der, hvor der står "AL MIN KODE". Vil det ikke betyde, at hvis jeg har noget HTML i min kode, så skal jeg skrive echo foran ??? Det er da rimlig irriterende, hvis det er den eneste mulighed... Håber I kan finde på en LÆKKER løsning !!!
Avatar billede ahv Nybegynder
30. januar 2003 - 20:11 #1
<?php
session_start();
if(!$_SESSION['loget_in'] == 1) {//Hvis brugeren ikke er logget in
header("Location: http://www.domain.dk/login.html");//Sender brugeren videre
exit;//Sørger for at resten af koden, ikke bliver udført

?>

//AL MIN KODE
<?php
}
?>
Avatar billede ahv Nybegynder
30. januar 2003 - 20:13 #2
hov så lige forkert:

<?php
session_start();
if(!$_SESSION['loget_in'] == 1) {//Hvis brugeren ikke er logget in
header("Location: http://www.domain.dk/login.html");//Sender brugeren videre
exit;//Sørger for at resten af koden, ikke bliver udført
}
?>

//AL MIN KODE

Når du vil haev php kalder du det jo bare med <?php echo ?>
Avatar billede ahv Nybegynder
30. januar 2003 - 20:15 #3
F.eks hvis du vil kalde et brugernavn gør du det jo så bare således:

<?php
session_start();
if(!$_SESSION['loget_in'] == 1) {//Hvis brugeren ikke er logget in
header("Location: http://www.domain.dk/login.html");//Sender brugeren videre
exit;//Sørger for at resten af koden, ikke bliver udført
}
?>

Brugernavn: <?php echo $brugernavn; ?>


det samme gælder jo selvføølgelig også alle de andre ting du vil hente frem med php.
Avatar billede solskinsvejr Nybegynder
30. januar 2003 - 20:25 #4
Problemet er bare når jeg gør det, så kommer denne fejl:

Notice: Undefined index: logget_in in C:\Program Files\Apache Group\Apache2\htdocs\nyhed\admin.php on line 3

Warning: Cannot modify header information - headers already sent by (output started at C:\Program Files\Apache Group\Apache2\htdocs\nyhed\admin.php:3) in C:\Program Files\Apache Group\Apache2\htdocs\nyhed\admin.php on line 4
Avatar billede ahv Nybegynder
30. januar 2003 - 20:38 #5
Ved ikke om det vil løse dit problem, men der skal ikke ' ' omkring loget_in
Avatar billede ahv Nybegynder
30. januar 2003 - 20:39 #6
undefindes index: logget_in

hmm du skriver kun loget_in prøv med logget_in

hjælper det?
Avatar billede solskinsvejr Nybegynder
30. januar 2003 - 20:47 #7
ja, ved godt jeg skrev forkert, det er logget_in. hmmmm... -  det virker ikke :(
Avatar billede ahv Nybegynder
30. januar 2003 - 20:52 #8
Sender den dig heller ikke bare videre?
Avatar billede ahv Nybegynder
30. januar 2003 - 20:53 #9
Altså hvis du bare åbner siden, så blivr du heller ikke bare sendt videre?
Avatar billede solskinsvejr Nybegynder
30. januar 2003 - 20:56 #10
Nej, problemet er, at den ikke sender mig videre, tilbage til log-in menuen... Den skriver bare den der fejl på skærmen !
Avatar billede solskinsvejr Nybegynder
30. januar 2003 - 20:58 #11
Jeg forstår bare ikke hvordan den kan sige at "headers already sent", hvis det er første gang jeg kommer ind på siden, og jeg ikke har logget ind ?
Avatar billede ahv Nybegynder
30. januar 2003 - 21:07 #12
Den her fungere på min egen maskine:

<?php
session_start();
if(!$_SESSION['loget_in'] == 1) {
header("Location: filnavn.php");
exit;
}
?>
Avatar billede solskinsvejr Nybegynder
30. januar 2003 - 23:01 #13
hmmmm... Kan simpelt hen ikke få det til at virke... Kan man benytte sig af andet end sessions ???
Avatar billede snigermunken Nybegynder
30. januar 2003 - 23:06 #14
<?php
session_start();
if(!$_SESSION['loget_in'] == 1) {//Hvis brugeren ikke er logget in
header("Location: http://www.domain.dk/login.html");//Sender brugeren videre
exit;//Sørger for at resten af koden, ikke bliver udført
}
?>

skal da vist være:

<?php
session_start();
if($_SESSION['loget_in'] == "1") {//Hvis brugeren ikke er logget in
header("Location: http://www.domain.dk/login.html");//Sender brugeren videre
exit;//Sørger for at resten af koden, ikke bliver udført
}
?>
Avatar billede snigermunken Nybegynder
30. januar 2003 - 23:07 #15
Billige lort :)

mente:

<?php
session_start();
if($_SESSION['loget_in'] != "1") {//Hvis brugeren ikke er logget in
header("Location: http://www.domain.dk/login.html");//Sender brugeren videre
exit;//Sørger for at resten af koden, ikke bliver udført
}
?>
Avatar billede websmith Nybegynder
30. januar 2003 - 23:12 #16
Skal du ikke lige checke om sessionen er aktiv før du starter en??

og i din if sætning prøv med:
if(isset($_SESSION))
{
  if(isset($_SESSION['loget_in']))
  {
    if($_SESSION('loget_in')==1)
    {
      //din kode
    }
  }
}
else
{
  header("Location: http://www.domain.dk/login.html");
  session_start();
}

alternativt så skal du måske starte din session i login.html?
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