Avatar billede mccookie Seniormester
29. november 2003 - 23:15 Der er 4 kommentarer og
1 løsning

Loginsytem med sessions

Hejsa Exp.

Jeg har lavet et loginsystem med session og det virker helt fint...........

Pricipelt virker det så'n

Hvis brugeren ikke er logget ind, så skal du logge ind { ....... formular sendes til brugerene....)

er du logget ind så må du gerne se min side { siden sendes til brugeren }


Jeg har lavet koden til mit loginsystem i en fil og gerne kunne nøjes med at inkludere det på samtidlige sites.......

Min problem er bare det at inkludere det fordi.....

Så skulle mine sider se nogenlunde så'n ud...

Include (loginsystem.php)

login startes og tester om bruger er logget ind...

Det er brugeren sørme ikke...så må du logge på og formular sendes til brugeren...

Nå du er blevet logget på, så har du hermed adgang...

Da det er lavet via if then else...... så skal jeg have følgende i sidste linie af hver website... <?php } ?> for at sige nu er vi færdige...... men det vil den ikke være med til.....

og slet ikke at min loginsystem.php

slutter med else { og her skal den derefter inkludere.....

Er der nogle der kan komme med nogle gode ideer??

mvh.
Henning
Avatar billede rackbox Nybegynder
29. november 2003 - 23:24 #1
Lav din login-side som en funktion, der includer den faktiske side, hvis brugeren er logget ind. Eks.
function is_logged_in ($page){
  if ($_SESSION['logged_in'] == "yes")
      include $page.".php";
  else
      echo "Du er ikke logget ind.. Udfyld venligst disse felter..."
}
Avatar billede mccookie Seniormester
29. november 2003 - 23:26 #2
Det var ikke helt ved siden af . Tror jeg............

Jeg prøver lige.......
Avatar billede rackbox Nybegynder
29. november 2003 - 23:32 #3
Men grunden til at du ikke kan anvende din egen metode er at include og require evaluerer filen (kører den) før den faktisk bliver included. Hvis der er en fejl (og det er der, hvis du ikke har afsluttet en if), så bliver den ikke kørt.
Avatar billede schaefner Juniormester
29. november 2003 - 23:32 #4
eller:

<?php
if (!isset($_SESSION['laccess'])) {
  header("Location: formular.php");
  exit;
}
?>

i toppen af siden
Avatar billede rackbox Nybegynder
29. november 2003 - 23:39 #5
Der er mange muligheder.. Du kan også lave en standard side, der hedder

if ($_SESSION['logged_in'] == "yes")
  include $page;
else
  //display login form

Det eneste du så skal gøre fremover er blot at sætte $page variablen før du includer ovenstående. Det kan eventuelt gøres via $_GET, eks.

index.php
<?php
if ($_SESSION['logged_in'] == "yes"){
  $page = $_GET['page'];
  if (is_file($page.".php"))
      include $page.".php";
} else {
  //display login form
}
?>

og så kalde den relevante side via URL:
http://din.side.dk?page=produkter
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