Avatar billede freekyzone Nybegynder
28. maj 2003 - 14:38 Der er 7 kommentarer og
1 løsning

hjælp med session i php (kontrol af login)

jeg har et loginsystem der kører med sessions.
Jeg har i min MySQL database angivet et tal der angiver et brugerniveau.
Problemet er at jeg ikke kan få det til at virke når adgangsniveauet skal med til at kontrolere.

Koden jeg bruger til kontrol er:

if ((session_is_registered ("user_eingeloggt")) AND ($user_eingeloggt) and ($_SESSION['adgang1'] == '4' or $_SESSION['adgang1'] == '0')) {

Hvorfor virker det ikke med adgang1 og adgang2 ???
Avatar billede jakoba Nybegynder
28. maj 2003 - 14:46 #1
har du husket at registrere $adgang1 i din session ?
Avatar billede freekyzone Nybegynder
28. maj 2003 - 15:00 #2
ja i en check.php -fil. Udsnit her:

<?
session_start ();

$connID = mysql_connect ("127.0.0.1", "xxx", "www");
@mysql_select_db ("data1", $connID);

//Gemmer adgangsnuveauet (tallene) i session
$_SESSION[adgang1] = $row[adgang1];
$_SESSION[adgang2] = $row[adgang2];
Avatar billede jakoba Nybegynder
28. maj 2003 - 15:07 #3
vi kommer vel til at debugge så:

echo "<br>\$_SESSION indeholder: ";
var_dump( $_session );
echo "<br>\$user_eingeloggt indeholder: ";
var_dump( $user_eingeloggt );
if ((session_is_registered ("user_eingeloggt")) AND ($user_eingeloggt) and ($_SESSION['adgang1'] == '4' or $_SESSION['adgang1'] == '0')) {

og lad os se hvad der kommer ud af det?
Avatar billede jakoba Nybegynder
28. maj 2003 - 15:09 #4
PS: en skønhedsfejl er at dit adgangsniveau er et tal, hvorfor så skrive strenge som '4' og '0'
Avatar billede freekyzone Nybegynder
28. maj 2003 - 18:23 #5
tror faktisk ikke at adgang1 og adgang2 bliver gemt i sessionen, for når jeg prøver at kalde den frem ved en echo står der intet!!!
Avatar billede jakoba Nybegynder
28. maj 2003 - 18:38 #6
Avatar billede freekyzone Nybegynder
29. maj 2003 - 20:36 #7
$result = mysql_query("SELECT * FROM bruger WHERE brugernavn = '$brugernavn' AND password = '$password'");
  while ($row = mysql_fetch_array($result))

//Gemmer adgangsnuveauet (tallene) i session
$_SESSION["adgang1"] = $row[adgang1];
$_SESSION["adgang2"] = $row[adgang2];

hvorfor er det kun adgang1 som der bliver gemt i sessionen??
når jeg sener kalder adgang2 frem er der intet...
Avatar billede freekyzone Nybegynder
09. juni 2003 - 22:22 #8
Fejlen endelig fundet:

$result = mysql_query("SELECT * FROM bruger WHERE brugernavn = '$brugernavn' AND password = '$password'");
  while ($row = mysql_fetch_array($result))

//Gemmer adgangsnuveauet (tallene) i session
$_SESSION["adgang1"] = $row[adgang1];

$result = mysql_query("SELECT * FROM bruger WHERE brugernavn = '$brugernavn' AND password = '$password'");
  while ($row = mysql_fetch_array($result))

//Gemmer adgangsnuveauet (tallene) i session
$_SESSION["adgang2"] = $row[adgang2];

Der skal åbenbart connectes til MySQL for hvert adgang for at det virker...
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