Inloggen met rechten(alles op 1 pagina)
Ik ben bezig geweest met het bouwen van een inlogsysteem.Het is mij ook gelukt om in te loggen met levels.
Het enigste probleem is dat alles vanuit 1 pagina moet gaan functioneren.(dus niet level 0 = keuzeO.php, en level 1 is keuzeP.php) Alle levels moeten van hetzelfde script gebruik maken.Ik heb gebruik gemaakt van verschillende paginas per level(wat niet de bedoeling was).
Ik hoop op een oplossing die mij verder kan brengen.
Gewijzigd op 05/03/2014 08:56:29 door Fol Effe
Ik ga er naar kijken.
We zijn al 2 dagen ermee bezig, maar we hebben nog niet het idee hoe en waar we het kunnen verwerken in een script. Iemand een idee?
Gewijzigd op 07/03/2014 09:35:21 door - Ariën -
Wat heb je tot nu toe geprobeerd? Wat lukt er niet? Wat is precies onduidelijk?
Code (php)
En dan bij 'echo' de content geplaatst die daar moest komen.
Het is net wel gelukt om de content te tonen in de site.
Dan komt alleen het volgende probleem, ik log bijvoorbeeld in als beheerder en dan krijg ik de 'content' te zien. Als ik dan inlog als lid krijg ik dezelfde 'content', wat dus niet zou moeten.
Ik dacht zelf om een SESSION toe tevoegen, 1 voor beheerder en dan nog 1 voor lid.
Waar komt bij jou de $level vandaan? Deze moet natuurlijk wel voor beheerder en lid worden opgehaald.
Ikzelf haal deze het liefste direct uit de database.
@Aar: Dat plus een veiligdheidsrisico'tje. Als de session op een gedeelde server wordt opgeslagen en aangepast kan worden van lid naar beheerder.
Daar heb je gelijk in, maar ik vraag me af hoevaak dat gebeurt? Sessies staan toch vaak in de /tmp map die niet direct voor buitenstaanders (behalve apache/php) te lezen is?
Ik hoop dat ik je vraag goed beantwoord heb :)
Edit: Je kan natuurlijk in PHP ook aanpassen dat ie de sessions ergens anders opslaat.
Toevoeging op 07/03/2014 12:03:47:
@Fol : Kun je daar een stukje code van laten zien?
Gewijzigd op 07/03/2014 12:05:20 door Michael -
Ik zou verder tijdens het inloggen de rechten wegschrijven in bijvoorbeeld
In je menu kun je bijvoorbeeld het volgende gebruiken:
Code (php)
Als je wilt dat de rechten alleen weggaan tijdens het uitloggen kun je vervolgens de sessie data terug legen.
Moet ik een stukje code laten zien waar mijn SESSIONS in staan????
Waar die levels vandaan komen.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<?php
mysql_query("INSERT INTO logboek (Datum,Tijd,IPnum,LNum) VALUES ('" . $datum . "', '" . $Tijd . "', '" . $adres . "', '" . $inlogCode . "')") or die(mysql_error());
$_SESSION["cia"] = $Func;
$_SESSION["pas"] = $OPL;
$_SESSION["logi"] = $inlogCode;
$_SESSION["dag"] = $datum;
$_SESSION["pasw"] = $PW;
$_SESSION["who"] = $deelT;
$_SESSION["DBdate"] = $DBdatum;
$_SESSION["code"] = $Code;
if ($Code == "9")
{
$_SESSION['code'] = "9";
?>
<script type="text/javascript">
top.location.href='Main.php'
</script>
<?php
exit;
}
else if ($Code == "0")
{
$_SESSION['code'] = "0";
?>
<script type="text/javascript">
top.location.href='Main.php'
</script>
<?php
exit;
}
else if ($Code == "1")
{
$_SESSION['code'] = "1";
?>
<script type="text/javascript">
top.location.href='Main.php'
</script>
<?php
exit;
}
else if ($Code == "2")
{
$_SESSION['code'] = "2";
?>
<script type="text/javascript">
top.location.href='Main.php'
</script>
<?php
exit;
}
else if ($Code == "3")
{
$_SESSION['code'] = "3";
?>
<script type="text/javascript">
top.location.href='Main.php'
</script>
<?php
exit;
}
else if ($Code == "4")
{
$_SESSION['code'] = "4";
?>
<script type="text/javascript">
top.location.href='Main.php'
</script>
<?php
exit;
}
?>
mysql_query("INSERT INTO logboek (Datum,Tijd,IPnum,LNum) VALUES ('" . $datum . "', '" . $Tijd . "', '" . $adres . "', '" . $inlogCode . "')") or die(mysql_error());
$_SESSION["cia"] = $Func;
$_SESSION["pas"] = $OPL;
$_SESSION["logi"] = $inlogCode;
$_SESSION["dag"] = $datum;
$_SESSION["pasw"] = $PW;
$_SESSION["who"] = $deelT;
$_SESSION["DBdate"] = $DBdatum;
$_SESSION["code"] = $Code;
if ($Code == "9")
{
$_SESSION['code'] = "9";
?>
<script type="text/javascript">
top.location.href='Main.php'
</script>
<?php
exit;
}
else if ($Code == "0")
{
$_SESSION['code'] = "0";
?>
<script type="text/javascript">
top.location.href='Main.php'
</script>
<?php
exit;
}
else if ($Code == "1")
{
$_SESSION['code'] = "1";
?>
<script type="text/javascript">
top.location.href='Main.php'
</script>
<?php
exit;
}
else if ($Code == "2")
{
$_SESSION['code'] = "2";
?>
<script type="text/javascript">
top.location.href='Main.php'
</script>
<?php
exit;
}
else if ($Code == "3")
{
$_SESSION['code'] = "3";
?>
<script type="text/javascript">
top.location.href='Main.php'
</script>
<?php
exit;
}
else if ($Code == "4")
{
$_SESSION['code'] = "4";
?>
<script type="text/javascript">
top.location.href='Main.php'
</script>
<?php
exit;
}
?>
Toevoeging op 07/03/2014 12:51:38:
Ik krijg de code niet in 1 keer????
Gewijzigd op 07/03/2014 12:54:07 door - Ariën -
Waarom definieer je eerst de session data:
En ga je vervolgens nog eens de $Code overal per code invoeren?
Volgens mij kun je het laatste stuk compleet weglaten en enkel een redirect toevoegen.
Vervolgens in de pagina waar ze dan landen kun je het stuk zetten dat ik hierboven al gepost hebt.
Waar start je tevens de sessie?
Gewijzigd op 07/03/2014 12:57:54 door Peter K
code is de level? Een getal is geen string dus zonder haakjes.
Beetje vreemd om code te kopieeren naar session om deze vervolgens niet te gebruiken, maar $code te controleren en session nog is over te schrijven.....
En in ieder geval in deze code mis ik session_start(); helemaal bovenaan.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
session_start();
$_SESSION["code"] = $Code;
if ($_SESSION["code"] == 9)
{
echo 'Content voor level 9';
}
?>
session_start();
$_SESSION["code"] = $Code;
if ($_SESSION["code"] == 9)
{
echo 'Content voor level 9';
}
?>
Gewijzigd op 07/03/2014 13:01:07 door Michael -
Het werkt!!!
Bedankt allemaal
Via deze code heb ik het voor elkaar gekregen.
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
session_start();
if ($_SESSION["code"] == 9)
{
echo 'Content voor level 9';
}
?>
session_start();
if ($_SESSION["code"] == 9)
{
echo 'Content voor level 9';
}
?>
Graag gedaan. Mooi dat het werkt.