Avatar billede hollow Nybegynder
06. december 2009 - 21:40 Der er 3 kommentarer og
1 løsning

PHP login session

Hej jeg starter lig med at skrive koden:

<?php
session_start();                    if(!session_is_registered(myusername)){

// Her skal den poste login form hvis folk ikke er logget ind

} else {

// Her skal den vel poste bruger menuen
}
?>

Hvorfor er det jeg ikke kan få det til at virke.
Der er tale om et Div tag som enten indeholder en menu hvis man er logget ind eller en login form hvis man ikke er logget ind
Avatar billede repox Seniormester
06. december 2009 - 21:45 #1
Fordi din syntaks er forkert (og forældet).
Parameteren i session_is_registered() er i din kode angivet som en konstant. Du skal indkapsle dine strenge i enkelte eller dobbelte anførselstegn - alternativt anvende variabler med indholdet af din streng.

Et mere korrekt og nutidigt eksempel:


<?php
  session_start();                   
  if(isset($_SESSION["myusername"]))
  {
    // Her skal den poste login form hvis folk ikke er logget ind
  }
  else
  {
    // Her skal den vel poste bruger menuen
  }
?>


Avatar billede hollow Nybegynder
06. december 2009 - 22:40 #2
super svar :) tak, er rimelig grøn inden for PHP

vil lige høre dig efter om det er muligt at lave en session inden i en function og så have den function i en seperart fil, så jeg bare kan hente den ind altså noget al'a

// login.php
<?php
function login() {
  session_start();                   
  if(isset($_SESSION["myusername"]))
  {
    // Her skal den poste login form hvis folk ikke er logget ind
  }
  else
  {
    // Her skal den vel poste bruger menuen
  }
}
?>


// index.php
<php
include("login.php");

?>
<html>
<body>
  <?=login()?>
</body>
</html>
Avatar billede hollow Nybegynder
06. december 2009 - 22:41 #3
smid forresten et svar.. jeg fik det jo til at virke
Avatar billede repox Seniormester
06. december 2009 - 22:51 #4
session_start() skal kun køres en gang, uanset hvor mange sider du inkluderer, funktioner du definerer eller klasser. Den skal til gengæld også være blandt det første du gør.
Jeg har lavet en artikel om sessions, som du måske kan få lidt gavn af som ligger på min egen hjemmeside:
http://err0r.dk/articles/read/sessions_for_begyndere

Ydermere, så for at tilgå aktive sessions i - eksempelvis - dine funktioner, skal du tilgå det superglobale array defineret i variablen $_SESSION.

// login.php


<?php
function login()
{                 
  if(isset($_SESSION["myusername"]))
  {
    // Her skal den poste login form hvis folk ikke er logget ind
  }
  else
  {
    // Her skal den vel poste bruger menuen
  }
}
?>



// index.php


<php
session_start();
include("login.php");

?>
<html>
<body>
  <?php login(); ?>
</body>
</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