Inloggen met rechten(alles op 1 pagina)

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Fol Effe

Fol Effe

05/03/2014 08:54:07
Quote Anchor link
Beste mensen,

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
 
PHP hulp

PHP hulp

16/11/2024 03:22:14
 
Michael -

Michael -

05/03/2014 09:04:10
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
if($level == 0) {
    echo 'content voor level 0';
}
else if($level == 1) {
    echo 'content voor level 1';
}

?>

PHP Beginnershandleiding - Statements
 
Fol Effe

Fol Effe

05/03/2014 09:43:29
Quote Anchor link
Bedankt voor de reactie!!
Ik ga er naar kijken.
 
Fol Effe

Fol Effe

07/03/2014 09:32:17
Quote Anchor link
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?
 
- Ariën  -
Beheerder

- Ariën -

07/03/2014 09:34:53
Quote Anchor link
Op de plek waar je je content op plaatst.
Gewijzigd op 07/03/2014 09:35:21 door - Ariën -
 
Michael -

Michael -

07/03/2014 11:27:16
Quote Anchor link
Je had dan beter 1 dag aan die tutorial kunnen besteden.
Wat heb je tot nu toe geprobeerd? Wat lukt er niet? Wat is precies onduidelijk?
 
Fol Effe

Fol Effe

07/03/2014 11:48:43
Quote Anchor link
Ik heb dit stukje code gekopiëerd:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
if($level == 0) {
    echo 'content voor level 0';
}
else if($level == 1) {
    echo 'content voor level 1';
}

?>


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.
 
Michael -

Michael -

07/03/2014 11:50:04
Quote Anchor link
Waar komt bij jou de $level vandaan? Deze moet natuurlijk wel voor beheerder en lid worden opgehaald.
 
- Ariën  -
Beheerder

- Ariën -

07/03/2014 11:54:01
Quote Anchor link
Ikzelf sta niet te springen voor een sessie met daarin de levels. Dan zou de gebruiker eerst moeten uitloggen, en opnieuw moeten inloggen voor hij zijn nieuwe level krijgt, als deze net aangepast is.
Ikzelf haal deze het liefste direct uit de database.
 
Michael -

Michael -

07/03/2014 11:56:00
Quote Anchor link
@Aar: Dat plus een veiligdheidsrisico'tje. Als de session op een gedeelde server wordt opgeslagen en aangepast kan worden van lid naar beheerder.
 
- Ariën  -
Beheerder

- Ariën -

07/03/2014 11:57:54
Quote Anchor link
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?
 
Fol Effe

Fol Effe

07/03/2014 12:02:27
Quote Anchor link
$level komt uit mijn inlogscript, na het inlogscript komt je in een menu afhankelijk van je level (beheerder, lid), waar de dus content van de levels in moet komen.

Ik hoop dat ik je vraag goed beantwoord heb :)
 
Michael -

Michael -

07/03/2014 12:02:37
Quote Anchor link
Zover ik weet worden ze vaak bij gedeelde hostings (dus geen VPS of dedicated) in de zelfde locatie opgeslagen. Dus dan zou het mogelijk zijn ze aan te passen als jij op de zelfde hosting zit. Kans in natuurlijk niet heel groot, maar omdat ik het ooit eens ergens gelezen heb houd ik er in m'n achterhoofd wel rekening mee.
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 -
 
Peter K

Peter K

07/03/2014 12:31:53
Quote Anchor link
De sessie locatie is gewoon aan te passen met
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
session_save_path("LOCATIETMPMAP");
?>


Ik zou verder tijdens het inloggen de rechten wegschrijven in bijvoorbeeld
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$_SESSION
['rechten'] = "";//waarde
?>


In je menu kun je bijvoorbeeld het volgende gebruiken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php

switch($_SESSION['rechten'])
{

// Admin
case '1':

break;

// Nog een andere status
case '2':

break;

// Standaard (bijvoorbeeld gebruiker)
default:

break;
}

?>


Als je wilt dat de rechten alleen weggaan tijdens het uitloggen kun je vervolgens de sessie data terug legen.
 
Fol Effe

Fol Effe

07/03/2014 12:35:25
Quote Anchor link
Moet ik een stukje code laten zien waar mijn SESSIONS in staan????
 
Michael -

Michael -

07/03/2014 12:38:17
Quote Anchor link
Waar die levels vandaan komen.
 
Fol Effe

Fol Effe

07/03/2014 12:49:39
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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;
            }
    
?>


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 -
 
Peter K

Peter K

07/03/2014 12:57:33
Quote Anchor link
Volgens mij als je alles tussen de 'code' tags zet werkt het wel.

Waarom definieer je eerst de session data:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$_SESSION
["code"] = $Code;
?>


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
 
Michael -

Michael -

07/03/2014 12:59:47
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$_SESSION
["code"] = $Code;

if ($Code == "9")
{

$_SESSION['code'] = "9";
?>

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)
PHP script in nieuw venster Selecteer het PHP script
1
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';
}

?>
Gewijzigd op 07/03/2014 13:01:07 door Michael -
 
Fol Effe

Fol Effe

07/03/2014 14:05:58
Quote Anchor link
Hallo iedereen

Het werkt!!!

Bedankt allemaal

Via deze code heb ik het voor elkaar gekregen.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
session_start();

if ($_SESSION["code"] == 9)
{

    echo 'Content voor level 9';
}

?>
 
Michael -

Michael -

07/03/2014 14:52:49
Quote Anchor link
Graag gedaan. Mooi dat het werkt.
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.