Avatar billede Slettet bruger
21. september 2005 - 14:20 Der er 6 kommentarer og
1 løsning

Login system med level

Hej.

Jeg har et login system som jeg skal have sat level på,

mine filer

--- index.php ---

<?php
session_start();
?>
<?
// Tjekker om brugeren er logget ind
if ($s_username && $s_status) {
?>
<SCRIPT LANGUAGE="JavaScript">
<!-- Start
function nytVindue(Bestil) {
newWindow = window.open(Bestil, "Okay", "toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,width=800,height=400,left=100,top=200")
}
// Slut -->
</SCRIPT>
Du er nu looget ind<br><br>
<a href='java script:nytVindue("popup.php")'>Åbne admin popup<a/>
<?
// Hvis brugeren ikke er logget ind
} else {
?>
Du er ikke logget ind
<form method="post" action="godkend.php">
<input type="text" name="username" value="Brugernavn" class="menu_tekst" onFocus="if(this.value=='Brugernavn')(this.value='')"><br>
<input type="password" name="password" value="Password" class="menu_tekst" onFocus="if(this.value=='Password')(this.value='')">
<input type="submit" name="login" value="Login" class="menu_tekst"><br>
<span class="menu_tekst"><a href="?cmd=bruger_opret">Opret dig som medlem</a><br><a href="?cmd=glemt&mail=password">Glemt password</a></span><br>
</form>
<?
}
?>
<?php
if (isset($_GET['godkendt']) && $_GET['godkendt'] == 'loggetin') {
    echo '';
}
?>
<?php
if (isset($_GET['fejl']) && $_GET['fejl'] == 'back') {
    echo '<span class="ikke_logget_ind1"><br>Du har muligvis tastet forkert!</span>';
}
?>
<?php
if (isset($_GET['f']) && $_GET['f'] == 'loggetout') {
    echo '<br><span class="logget_ud1">Du er nu logget ud</span>';
}
?>
<?php
if (isset($_GET['ingen']) && $_GET['ingen'] == 'adgang') {
    echo 'Du har ikke adgang til denne side. opret dig evt. som bruger og få adgang!!';
}
?>
<?php
if (isset($_GET['f']) && $_GET['f'] == 'loggedout') {
session_unregister ("s_name");
session_unregister ("s_password");
session_unregister ("s_email");
session_unregister ("s_id");
unset($s_name, $s_password, $s_email, $s_id);
    echo '<META HTTP-EQUIV="Refresh" Content="0; Url=?cmd=main&f=loggetout">';
    echo '';
}
?>
</center><br>
</body>
</html>

--- index.php slut ---

og

--- godkend.php ---

<?
include ("../config.php");
$query = mysql_query("SELECT * FROM users WHERE username='$username' AND password='$password'");
if (mysql_num_rows($query) == "0"){
?>
<center>
<font color="red"><META HTTP-EQUIV="Refresh" Content="0; Url=index.php?fejl=back"></font><br>
</center>
<?
} else {
while($r = mysql_fetch_array($query)) {
$s_admin = $r["admin"];
$s_username = $r["username"];
$s_password = $r["password"];
}
session_start();
session_register ("s_admin");
session_register ("s_username");
session_register ("s_password");
header ("location: index.php");
}
?>

--- godkend.php slut ---

--- min users tabel ---

CREATE TABLE users (
  id int(11) NOT NULL auto_increment,
  user_level varchar(100) NOT NULL,
  date datetime NOT NULL default '0000-00-00 00:00:00',
  name varchar(100) NOT NULL,
  phone varchar(100) NOT NULL,
  username varchar(100) NOT NULL,
  password varchar(100) NOT NULL,
  email varchar(100) NOT NULL,
  image varchar(100) NOT NULL,
  klient varchar(100) NOT NULL,
  status varchar(100) NOT NULL,
  admin varcher (100) NOT NULL,
  PRIMARY KEY  (id)
) TYPE=MyISAM;

--- tabel slut ---

Det skal være sådan man kun kan logge ind hvis man fx har en bruger der hedder

id: 1
user_level: admin
date: 21-09-2005
name: test, testen
phone: blabla
username: test
password: password
email: test@test.dk
image: jaja.jpg
klient: v2344
status: accepteret
admin: 1

så, hvis man har en bruger, hvor der i feltet: "admin" står "0" så skulle det ikke være muligt at logge ind. Hvordan laver jeg lige det. hvis i forstår.
Avatar billede Slettet bruger
21. september 2005 - 14:42 #1
Ingen der kan hjælpe ??
Avatar billede dmdisco Nybegynder
21. september 2005 - 14:44 #2
tilføj et felt i din database hvor der står et nummer
1 normal
2 superbruger
3 admin
og lav i din login check om de har det nummer eller over


if ($accesslvl >= 2) {
  // kom bare ind
} else {
  // du har ikke adgang
}
Avatar billede Slettet bruger
22. september 2005 - 19:54 #3
ellers andre måder at gøre det på. måske hvis man skriver

if ($accesslvl >= superbruger) {
  // kom bare ind
} else {
  // du har ikke adgang
}

så er det kun superbruger eller hvordan  ?
Avatar billede Slettet bruger
22. september 2005 - 19:56 #4
if ($accesslvl == superbruger) {
  // kom bare ind
} else {
  // du har ikke adgang
}

Fandt ud af det :P
Avatar billede dmdisco Nybegynder
23. september 2005 - 09:42 #5
ja om du bruger tal eller et navn er i sagen lige gyldig resultatet er det samme
dog er det lettere at lave en side hvor både admin og superbrugere har adgang til
eks:
if ($accesslvl >= 2)
så kan både superbruger (2) og admin (3) komme ind
ved at bruge en tekst skal du lave to check
Avatar billede Slettet bruger
29. september 2005 - 20:56 #6
Hmm oki tak. lig et svar så for du lige dine point
Avatar billede dmdisco Nybegynder
30. september 2005 - 15:14 #7
svar
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