Forum » Server-Side scripting » Session Login
Berichten: 50
avatar
Offline Stuur privebericht
Beste lezers,

Ik ben bezig met een login systeem doormiddel van SESSIONS. dit allemaal werkt goed. maar wat mij niet wilt lukken zal ik proberen te gaan uitleggen.

Ik heb in de database het volgende staan(voorbeeld):
id, naam, gebruikersnaam, wachtwoord, status
1, jan, jan, test, Admin

als ik ingelogd ben krijg je het volgende te zien:

ingelogd als:
naam: jan
Status: Admin
Uitloggen

dit werkt allemaal nog.

Maar ik wil als je in dit geval inlogt als status admin dat er in het menu een tab bijkomt Admin.

en als je zeg maar als Moderator inlogd er een tab Moderator bij komt

Wat ik denk is dat je moet controleren of degene die is ingelogd ook Admin is als hij dat is moet ik iets doen als dit bij het menu, maar ik heb veel dingen geprobeerd maar kom er echt niet uit


voorbeeld: if(isset($_SESSION["ingelogd"]) = 'Admin' {

hier komt dan het tab menu van admin }

alleen ik weet niet helemaal hoe en wat ik moet doen.

ik hoop dat iemand me op weg kan helpen. ik heb alles op een local host staan dus kan geen online voorbeeld geven. ik hoop dat jullie me snappen. ik plaats wel even de check pagina waar ik de sessie ook start

Code | Selecteer Alles
minimaliseren
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
<?php // sessie word gestart
session_start();

include
'../config/config.php'// database verbinding

$_SESSION["ingelogd"] = '';

// gebruikers naam en wachtwoord controleren uit database
$sql "
    SELECT 
        *
    FROM
        gebruikers
    WHERE
        Gebruikersnaam ='"
$_POST['inloggen']."' and  Wachtwoord = '".$_POST['wachtwoord']."'";
$result mysql_query($sql);

// controleert de sessions zijn ze waar of fout    
$aantal mysql_num_rows($result);
if(
$aantal == 1) {
        
$_SESSION["ingelogd"] = TRUE;
        
$rij mysql_fetch_array($result);
        
$_SESSION["naam"] = $rij["Naam"];
        
$_SESSION["status"] = $rij["Status"];        
        
} else { 
// bij foute inlog gegevens word u terug gestuurd
    
$_SESSION["ingelogd"] = FALSE;
    }
    
header("location:../../index.php");
?>


Ik hoop dat ik zo genoeg informatie heb gegeven
16-03-2011 22:23
Dit topic is 247 keer bekeken door 39 verschillende leden
Reacties op: "Session Login"
1
Berichten: 637
avatar
Offline Stuur privébericht
maak een query zo:

Code | Selecteer Alles
minimaliseren
1
$own mysql_fetch_assoc(mysql_query("SELECT * FROM users WHERE id = '" $_SESSION['id'] . "'"));


Dan kan je dus zo kijken of je admin bent:

Code | Selecteer Alles
minimaliseren
1
2
3
4
5
if($own['status'] == "Admin") {
//Hier wat als je wel admin bent
} else {
//Hier als je geen admin bent
}


Hoop dat dit is wat je bedoelt?
16-03-2011 22:28
Rapifia Europe
Berichten: 3716
avatar
Offline Stuur privébericht
Dan doe je:
Code | Selecteer Alles
minimaliseren
1
2
3
4
5
if($rij['status'] == "Admin"){
// User is admin
} else{
// User is geen admin
}


Neem tevens gebruik van mijn scriptregels:

Quote


1. Geen onnodige code, gebruik zoveel mogelijk loops
2. Geen shorttags, altijd <?php en ?>.
3. Variabelen buiten de quotes (bijv. echo 'Hallo'.$naam; en NOOIT echo 'Hallo $naam';.
4. Kolomnamen in MySQL zonder ` typen (alleen als het niet anders kan zoals bij bijvoorbeeld een numeriek veldnaam ` gebruiken)
5. ALTIJD tabben, dus bij elke accolade een tab ('inspringen'.
6. Javascripts zoveel mogelijk in de head sectie plaatsen
7. Zoveel mogelijk commentaar plaatsen, een andere programmeur kan zo makkelijk iets begrijpen
8. Inputs altijd checken op bijvoorbeeld numeriek, alfanumeriek, een bepaalde reeks en bij tekst inputs ALTIJD strip_tags() en i.c.m. MySQL(i) mysql(i)_real_escape_string();
9. Geef bij een SELECT query altijd ALLE veldnamen op, tenzij het er meer dan 20 zijn en je ze allemaal nodig hebt, dan gebruik je een wildcard.
10. Wees gericht op de toekomst, gebruik dus geen functies die al depracted zijn of die er binnenkort worden uitgegooid.

16-03-2011 22:29
Berichten: 637
avatar
Offline Stuur privébericht
Lars begin me een beetje te storen aan je regels. Je post deze nu echt in elk topic.

Wat lars zegt is ongeveer hetzelfde zo kan het ook
16-03-2011 22:30
Berichten: 50
avatar
Offline Stuur privébericht
bedankt voor de snelle reacties ik zal binnenkort met jullie advies is gaan puzzelen
16-03-2011 22:33
Rapifia Europe
Berichten: 3716
avatar
Offline Stuur privébericht
Het is hetzelfde alleen ik had jouw bericht nog niet gezien .
Tevens die regels zijn gewoon handig voor alle beginnende scripters hier, ik post toch ook een ontopic antwoord?
17-03-2011 06:47
Berichten: 50
avatar
Offline Stuur privébericht
beste mensen het is me gelukt ik heb het zo gedaan:

Code | Selecteer Alles
minimaliseren
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
<?php
$admin 
"Admin";
$moderator "Moderator";
$lid "Lid";

// rechten voor admin
if(isset($_SESSION['ingelogd']) == '') {
        
}
elseif(
$_SESSION['ingelogd'] == TRUE and $_SESSION['status'] == $admin) { ?>
            <li>
                <a href="admin.php">
                    <span class="linker-tab"></span>
                    <span class="midden">Admin</span>
                     <span class="rechter-tab"></span>                   
                 </a>
              </li> 
                  <div class="split"></div> 
            <li>
                <a href="profiel.php">
                    <span class="linker-tab"></span>
                    <span class="midden">Profiel</span>
                     <span class="rechter-tab"></span>                   
                 </a>
              </li> 
                  <div class="split"></div><?php ?>

<?php // rechten voor Moderator
if(isset($_SESSION['ingelogd']) == '') {
        
}
elseif(
$_SESSION['ingelogd'] == TRUE and $_SESSION['status'] == $moderator) { ?>
            <li>
                <a href="moderator.php">
                    <span class="linker-tab"></span>
                    <span class="midden">Moderator</span>
                     <span class="rechter-tab"></span>                   
                 </a>
              </li> 
                  <div class="split"></div> 
            <li>
                <a href="profiel.php">
                    <span class="linker-tab"></span>
                    <span class="midden">Profiel</span>
                     <span class="rechter-tab"></span>                   
                 </a>
              </li> 
                  <div class="split"></div><?php ?>
                  
<?php // rechten voor Leden
if(isset($_SESSION['ingelogd']) == '') {
        
}
elseif(
$_SESSION['ingelogd'] == TRUE and $_SESSION['status'] == $lid) { ?>
            <li>
                <a href="lid.php">
                    <span class="linker-tab"></span>
                    <span class="midden">Lid</span>
                     <span class="rechter-tab"></span>                   
                 </a>
              </li> 
                  <div class="split"></div> 
            <li>
                <a href="profiel.php">
                    <span class="linker-tab"></span>
                    <span class="midden">Profiel</span>
                     <span class="rechter-tab"></span>                   
                 </a>
              </li> 
                  <div class="split"></div><?php ?>


nu heb ik alleen nog een vraag als je inlogt als admin krijg je tab admin te zien en als je inlogt als moderator krijg je tab moderator te zien maar ik wil ook als je als een gewone lid inlogt een tab te zien krijgt die heet nu Profiel. maar ik vind dat niet zo goed klinken weet iemand daar een goede naam voor.

maar al wel bedankt voor alle snelle reacties.
17-03-2011 15:19
Regelnasi
Berichten: 1092
avatar
Offline Stuur privébericht
Leden Menu?
17-03-2011 16:01
Reageer op: "Session Login"
1
Je kan niet reageren omdat je niet bent ingelogd. Inloggen of Aanmelden