Avatar billede Slettet bruger
01. februar 2011 - 11:24 Der er 9 kommentarer og
1 løsning

Log ind og spec bruger

Hvad skal der tilføjes for at det kun er brugere med '1' i 'admin' der kan se "Opret bruger" linket??

<?php
// Log ind
if (isset($_SESSION["username"]) && isset($_SESSION["userid"])) {
  echo "<a href='/php/opret.php'>Opret Bruger</a>";
  echo "<a href='/logud.php'>Log ud</a>";
} else {
  echo "<a href='/logind.php'>Log ind</a>";
}
?>
Avatar billede nemlig Professor
01. februar 2011 - 11:50 #1
<?php
// Log ind
if (isset($_SESSION["username"]) && isset($_SESSION["userid"])) {
  if ($_SESSION["username"] == '1') {
    echo "<a href='/php/opret.php'>Opret Bruger</a>";
  }
  echo "<a href='/logud.php'>Log ud</a>";
} else {
  echo "<a href='/logind.php'>Log ind</a>";
}
?>
Avatar billede nemlig Professor
01. februar 2011 - 11:52 #2
Så går jeg ud fra, at session-variablen "username" = admin.
Hvor kommer "admin" ellers ind i billedet?
Er det en brugertype, og hvis ja, hvordan er den defineret.
Avatar billede majbom Novice
01. februar 2011 - 11:54 #3
og så sørg lige for at lave et tjek på opret.php, så hvis uautoriserede personer skulle finde derind ikke får adgang :)
Avatar billede Slettet bruger
01. februar 2011 - 12:36 #4
Admin er et felt i bruger db der angives med 1 hvis aktiv, og som jeg skal sætte manuelt. Det er ikke så avanceret. Jeg retter det nok til så det kan sættes automatisk ved oprettelse.

Man kan ikke opnå adgang til opret bruger uden at være logget ind, håber det er nok til at holde andre væk. Og med de her svar fra jer, vil det også kræve admin for at få adgang til opret.

Har læst et sted at man bør mistænke alle sine brugere, og dermed sikre alt optimalt :)
Avatar billede Slettet bruger
01. februar 2011 - 12:42 #5
Svar til Nemlig
Avatar billede majbom Novice
01. februar 2011 - 12:47 #6
præcis, derfor bør du også tjekke brugere der er logget ind om de rent faktisk har adgang til siden :)
Avatar billede nemlig Professor
01. februar 2011 - 12:48 #7
Jeg er i tvivl om, du har styr på koden.
Admin-feltet har du måske også i en session, og så kan koden se sådan her ud:

<?php
// Log ind
if (isset($_SESSION["username"]) && isset($_SESSION["userid"])) {
  if ($_SESSION["admin"] == '1') {
    echo "<a href='/php/opret.php'>Opret Bruger</a>";
  }
  echo "<a href='/logud.php'>Log ud</a>";
} else {
  echo "<a href='/logind.php'>Log ind</a>";
}
?>
Avatar billede Slettet bruger
01. februar 2011 - 13:32 #8
Jeg har ikke ret meget styr på php generelt, jeg kan til nøds finde rundt i en skreven kode, men jeg kan slet ikke skrive det selv :(

Jeg fandt ud af det med admin session, for først havde jeg "kopieret" en sætning i øverste linje

<?php
// Log ind
if (isset($_SESSION["username"]) && isset($_SESSION["userid"]) && isset($_SESSION["admin"])) {

Men det resulterede i at den anden 'ikke-admin' bruger ikke kunne logge ind.

Tak for hjælpen :)
Avatar billede nemlig Professor
01. februar 2011 - 13:41 #9
Jeg tror mit forslag til kode vil virke for dig.
Avatar billede Slettet bruger
01. februar 2011 - 13:49 #10
Det gør det også, det var min første idé der ikke virkede :)
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