18. august 2004 - 10:58Der er
25 kommentarer og 1 løsning
Simpel login m
Hejsa, jeg har et simpelt login script, som er lavet i php og så med bruger i mysql.
Jeg kunne godt tænke mig at have sådan flere niveua...sådan måske
n1 = kan alt n2 = kan lave nyheder n3 = kan lave artikler n4 = kan lave aktiviteter
jeg kan ikke smide mine koder i andet end en zip som jeg håber i vil downloade...jeg kan heller ikke smide dem op på min side, da jeg sidder på Handelsskole hvor der er lukket for ftp adgangen :'(
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
tilføj et niveau kolonne til login tabellen (det skal bare være et heltal). fx: ALTER TABLE login ADD niveau smallint;
i tjek_login.php rette du så, så den ser sådan her ud: if($number == 1){ $sql2 = "SELECT kode, niveau FROM login WHERE navn='$navn'"; // **RETTET** db_tilslut(); $res2 = mysql_query($sql2) or die(mysql_error()); db_afslut(); $db_pass = mysql_fetch_array($res2); if($db_pass['kode'] == $kode){ session_start(); $_SESSION['login'] = 1; $_SESSION['niveau'] = $db_pass['niveau']; // **RETTET** }else{ header("location: login.php?msg=forkert kode"); }
tilføj til funcs.php:
function niveauCheck($kraevet) { if( $_SESSION['login'] != 1 ) { header("Location: login.php?msg=" . urlencode("Du skal logge ind først")); exit; }
if( $_SESSION['niveau'] < $kraevet ) die("Du har ikke adgang til denne side."); //evt redirect til en side med en fejlbesked. }
.. I resten af dine filer skriver du så (fx tilføj aktiviteter)
niveauCheck(4);
så vil den enten redirect til login, hvis man ikke er logget på. Eller komem med en fejlbesked, hvis man ikke har adgang til siden..
når jeg logger ind og så vil ind på..så kommer den til (1) niveua og den kommer ikke ind på n2's område, og prøver den det, så bliver den bedt om at logge ud igen :S
if(!$navn OR !$kode){ header("location: login.php?msg=et eller flere felter er ikke udfyldt"); }else{ $sql = "SELECT navn FROM login WHERE navn='$navn'"; db_tilslut(); $res = mysql_query($sql) or die(mysql_error()); db_afslut();
Er det ikke meningen at brugeren skal ind i admin.php når han er logget ind? .. Hvis det ikke er, så fjerner du bare de 3 linjer (if($_SESSION['login']==1) .. og de 2 efterfølgende
prøver at se om jeg kan samle det (så jeg selv forstår :P)
Jeg vil gerne have sådan at når n1 logger ind, så har han en "side/menu" for sig selv n1 kan se og gøre alt :) (skal jo bare smide alt ind så ;))
n2 skal kun kunne lave,slette og rette nyheder og have sin egen nyhedsmenu n3 skal kun kunne lave,slette og rette aktiviteter og have sin egen aktivitetsmenu n4 skal kun kunne lave,slette og rette billeder og have sin egen billedemenu :)
og n2,3 og 4 skal KUN kunne se deres egne menuer.. :) N1 kan se alt :)
function niveauCheck($kraevet) { if( $_SESSION['login'] != 1 ) { header("Location: login.php?msg=" . urlencode("Du skal logge ind først")); exit; }
if( !($_SESSION['niveau'] == $kraevet || $_SESSION['niveau'] == 1) ) die("Du har ikke adgang til denne side."); //evt redirect til en side med en fejlbesked. }
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.