Avatar billede bravida Nybegynder
07. december 2006 - 12:22 Der er 5 kommentarer og
1 løsning

Adgangskode virker kun med et nr.

Denne kode er indsat på en side hvor der kræves et adgangs nr.
Jeg har prøvet at indsætte det sådan i adgang: 1-2-3 og 1.2.3 og
1,2,3 og 1_2_3 men brugere med et af disse nummer kan ikke logge ind. Hvis jeg kun indsætter et nr. kan bruger med dette adgangs nr. godt logge ind.

Mangler der noget i koden når man vil give tilladelse til flere bruger.

Koden ser sådan ud.

<?php
session_start();

require_once('../Connections/cms.php');

$user = $_SESSION['MM_Username'];
$query = mysql_query("select * from brugere WHERE brugernavn = '$user'") or die (mysql_error());
$row=mysql_fetch_array($query);

if ($row['adgang'] != "1") {
echo "<p style=\"color: #ff0000; margin: 0px; font-weight: bold;\">Du har ikke adgang hertil</p>";
exit;
}else{
}
?>
Avatar billede pidgeot Nybegynder
07. december 2006 - 12:30 #1
Du skal køre explode (http://dk2.php.net/explode) på din værdi for at kunne få dem ud i et array, og så kontrollere om den pågældende værdi findes i det array.

En bedre løsning er dog at lave en seperat tabel i din database til de privilegier, og så have en række pr. privilegie pr. bruger. På den måde kunne du eksempelvis læse disse værdier ud i et array hvor nummeret (privilegiet) er key og hvor værdien bliver sat til true. Derved kan du så blot sige:

if(!$priv[1]) {
  echo 'Du har ikke adgang';
} else {
  echo 'Du har adgang';
}
Avatar billede mcardle Nybegynder
07. december 2006 - 19:47 #2
Det var sådan set det samme jeg forklarede dig i den andet spørgsmål, hvor du spurgte om det samme...
Avatar billede bravida Nybegynder
07. december 2006 - 21:44 #3
mcardle: Du misforstår mine spørgsmål kan jeg nu se. Det er to forskellige spørgsmål og kan godt ligne hinanden kan jeg se.

Dette her spørgsmål drejer sig om at en side (fil) som på forhånd er indkodet med en vis adgangs nummer som der ikke kan laves om på.

Det andet spørgsmål du hentyder til vil jeg forklarer lidt bedre så du ikke misforstår dette i den rette tråd.

Mit problem her i dette spørgsmål er at jeg ikke kan indsætte mere end et angangs nr. i dette felt her.: if ($row['adgang'] != "1")
Har prøvet dette her: if ($row['adgang'] != "1-2-3")
Har prøvet dette her: if ($row['adgang'] != "1.2.3")
Har prøvet dette her: if ($row['adgang'] != "1_2_3")

Dette virker ikke, vil kun når der er et nummer.
Avatar billede bravida Nybegynder
07. december 2006 - 21:45 #4
vis = hvis
Avatar billede mcardle Nybegynder
08. december 2006 - 06:00 #5
Arhh, sorry... My bad... :oD
Avatar billede bravida Nybegynder
09. december 2006 - 10:55 #6
Lukker såørgsmålet, da den ikke er formuleret ordentligt.
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