Login, rechten, sessies

Door Robert Deiman, 22 jaar geleden, 8.584x bekeken

Voorbeeld staat online.. Voor een voorbeeld als student inloggen doe:
loginnaam: s263681
wachtwoord: pass

Voor docent voorbeeld
loginnaam: d000000
wachtwoord: pass

Ik heb dit script zelf geschreven voor een schoolopdracht. Het was de bedoeling dat een student in zou kunnen loggen en dan kreeg die zijn cijferlijst te zien.
Wanneer een docent inlogt, dan krijgt die een heel andere pagina.
Het script werkt met sessies, waaruit die verschillende gegevens haalt. Er zit een Setup.PHP bij, waarmee je database aan kan worden gemaakt, met een aantal voorbeeldgegevens.
De sessie verloopt na een korte periode (10 minuten, is aan te passen in expire.php)

Het script is gemakkelijk veiliger te maken door je password gecodeerd weg te schrijven. Een kleine aanpassing in het script is dan voldoende, staat aangegeven waar dat kan!
(voor de testers onder ons, namen van de pagina's is allemaal lowercase)

Gesponsorde koppelingen

PHP script bestanden

  1. login-rechten-sessies

 

Er zijn 28 reacties op 'Login rechten sessies'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Vincent
Vincent
22 jaar geleden
 
0 +1 -0 -1
:S volgens mij is er iets mis met verbinding.php ... want hij kan bij mij geen verbinding maken..


22 jaar geleden
 
0 +1 -0 -1
Heb je de instellingen wel goed gezet?
Erik Rijk
Erik Rijk
22 jaar geleden
 
0 +1 -0 -1
heb je een voorbeeld voor ons?
Han eev
Han eev
22 jaar geleden
 
0 +1 -0 -1
Werkt vast leuk...!
Robert Deiman
Robert Deiman
22 jaar geleden
 
0 +1 -0 -1
Ik heb een voorbeeld online gezet. Uiteraard is de setup.php op die locatie NIET meer beschikbaar, anders loopt mijn DB vol. Een voorbeeld van student inloggen:
loginnaam: s263681
wachtwoord: pass

Voor een voorbeeld als docent:
loginnaam: d000000
wachtwoord: pass

http://www.robertdeiman.net/loginvb/index.php

Hij doet niet veel anders dan aangeven als wat je bent ingelogd, maar aangezien die dat doet in het deel dat ALLEEN wordt aangeroepen voor het betreffende inlogtype ;)
Robert Deiman
Robert Deiman
22 jaar geleden
 
0 +1 -0 -1
@Vincent
Die verbinding.php moet inderdaad aangepast worden, zodat die werkt met je eigen database!

@erik
Het voorbeeld staat ondertussen online

@han
Het werkt in ieder geval, of het leuk werkt laat ik wel in het midden :P


22 jaar geleden
 
0 +1 -0 -1
Voorbeeld is een beetje vaag.
Student:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
2
Uitloggen

U bent ingelogd als student


Docent:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
4
Uitloggen

U bent ingelogd als docent
Robert Deiman
Robert Deiman
22 jaar geleden
 
0 +1 -0 -1
Ja, het getal is de ID in de database, die kan je in principe weglaten. Is alleen om te laten zien dat het werkt. Die ID kan je gebruiken om voor de betreffende gebruiker query's uit te voeren.

Dat uitloggen is om te laten zien dat het uitloggen ook echt werkt, moet het toch ergens kwijt, het is maar een voorbeeld. En dat voor inloggen als student of docent is om te laten zien dat het ook echt wordt gecontroleerd. Als je het een keer fout doet. (bijv s263681, pass en dan als docent) geeft die een fout aan, dat je geen rechten hebt als docent.


22 jaar geleden
 
0 +1 -0 -1
Aha. Oke. Ziet er goed uit :)
Alfred -
Alfred -
22 jaar geleden
 
0 +1 -0 -1
Het type veld is overbodig lijkt me.
Je kan beter de naam controleren, begint deze met een 'S', is het type 'Student', begint deze met een 'D', is het type 'Docent'. Dit maakt het véél simpeler voor de gebruiker...
Robert Deiman
Robert Deiman
22 jaar geleden
 
0 +1 -0 -1
Dat weet ik Rafael, maar ik heb het zo gedaan, omdat dat voor die schoolopdracht de bedoeling is. Wat voor idee daar verder achter zit weet ik niet, maar ik vond het wel een mooi script (en het werkt ook prima ;)) vandaar dat ik hem met jullie wil delen.
Marien xD
Marien xD
22 jaar geleden
 
0 +1 -0 -1
Erg grappig gedaan. Je moet nog wel even in een comment opnemen waarom bij het uiloggen die exit er staat :) Voor als de sessie expired dan stop het script.
Robert Deiman
Robert Deiman
22 jaar geleden
 
0 +1 -0 -1
Haha, Tjah, dat weet ik zelf eigenlijk ook niet, maar ik had het eerst met een cookie en als ik niet die stop() erin zette ging er iets niet goed. Kan ook te maken hebben met een pagina die ik eerder include, ipv door te linken in deze versie.
Maar idd, nu met die sessies is het eigenlijk niet nodig.. (zonde van de ruimte :P)
En hoe dan ook, het werkt wel en de controles werken ook, dus dat is ideaal ;)
Peter van Kroonenbur
Peter van Kroonenbur
22 jaar geleden
 
0 +1 -0 -1
Ik krijg een foutmelding. Wat doe ik fout?
Peter


--- INDEX.PHP---
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at c:\wamp\www\website\test\php\index.php:3) in c:\wamp\www\website\test\php\index.php on line 4
Robert Deiman
Robert Deiman
22 jaar geleden
 
0 +1 -0 -1
Ik denk dat ik de fout wel zie.. (beetje late reactie he :S) Je moet de pagina echt zo beginnen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
session_start();

Hij geeft bij jou de error op line 3, wat betekend dat je niet meteen na de php starttag session_start() hebt staan.


21 jaar geleden
 
0 +1 -0 -1
ik snap niks van die php :P wie kan me het een beetje uitleggen :)
Steven
Steven
21 jaar geleden
 
0 +1 -0 -1
Hmm bij mij werkt het niet, ik zet de user in de database en als ik dan wil inloggen zegt hij dat hij geen combinatie gevonden heeft, raar :s
Patrick
Patrick
20 jaar geleden
 
0 +1 -0 -1
Goed script! Maar waar kan je de MD5 instellen..?

en wat moet je boven een beveiligde pagina zetten en waar moet dan de account soort staan?
Daniel H
Daniel H
19 jaar geleden
 
0 +1 -0 -1
krijg de volgende error:

Er is een fout opgetreden bij het maken van de database.

Er is een fout opgetreden bij openenen van de database.

Er is een fout opgetreden bij het maken van userteabel.

Er is een fout opgetreden bij het maken van voorbeeldusers.

Er is een fout opgetreden bij het maken van tabel student.

Er is een fout opgetreden bij het maken van voorbeeldstudenten.

Er is een fout opgetreden bij het maken van resultatentabel.

Er is een fout opgetreden bij het maken van voorbeelresultaten.

wat moet ik doen ??

Mvg.

Daniel
Frank -
Frank -
19 jaar geleden
 
0 +1 -0 -1
Het aanmaken van de database is mislukt, dat de rest vervolgens ook mislukt, is een logisch gevolg.

Maak de boel met het handje aan in PhpMyAdmin, dan heb je setup.php helemaal niet nodig en kan dit dus ook niet fout gaan.
Daniel H
Daniel H
19 jaar geleden
 
0 +1 -0 -1
Heb al geprobeer maar dan geeft mijn PhpMyAmin error!
kan iemand mij de SQL codes geven. doe denk ik iets fout.

Mvg.

Daniël
Frank -
Frank -
19 jaar geleden
 
0 +1 -0 -1
De SQL staat in het script, copy-paste werkt op jouw pc ook vast wel.
Daniel H
Daniel H
19 jaar geleden
 
0 +1 -0 -1
ja maar hoe voor ik deze dan in??

$user_insert="INSERT INTO `user` VALUES (1,'s123142','pass','student')";
$bool=mysql_query($user_insert);
$user_insert="INSERT INTO `user` VALUES (2,'s263681','pass','student')";
$bool=mysql_query($user_insert);
$user_insert="INSERT INTO `user` VALUES (3,'s257095','pass','student')";
$bool=mysql_query($user_insert);
$user_insert="INSERT INTO `user` VALUES (4,'d000000','pass','docent')";
$bool=mysql_query($user_insert);
$user_insert="INSERT INTO `user` VALUES (5,'d111111','pass','docent')";

Mvg.

Daniel
Frank -
Frank -
19 jaar geleden
 
0 +1 -0 -1
Als je nu eens alleen de SQL pakt en dit in bv. PhpMyAdmin in het SQL-tabblad gaat invoeren, dan gaat het al een stuk beter.

Maar denk je niet dat dit script veel te hoog is gegrepen? Blijkbaar ken je het verschil tussen PHP en SQL niet, dat wordt dan echt geen succes. Leer eerste de ene taal, dan de andere taal en wanneer je ze beide onder de knie hebt, ga je de boel mixen.
Daniel H
Daniel H
19 jaar geleden
 
0 +1 -0 -1
ik weet dat dat php en sql is, waar weet niet waar nouw de sql stop daarom vraag ik wat ik moet toevoegen in mijn phpmyadmin database.

Mvg.

Daniel
Robert Deiman
Robert Deiman
19 jaar geleden
 
0 +1 -0 -1
@Daniël

Als je niet weet wat er hier gebeurt, dan raad ik je wel aan de tip van Frank eens te volgen en te beginnen bij het begin.

Daarnaast zou ik dit niet (meer) gebruiken, het is nogal basis en er is geen foutafhandeling (tjah, dat kende ik toen nog niet). Je kan er wel een paar dingen uithalen waar je misschien wel wat aan hebt.
Daniel H
Daniel H
19 jaar geleden
 
0 +1 -0 -1
het is al gelukt!!!

connection.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php

$mysql
['host']           = "server/host/localhost";
$mysql['gebruikersnaam']         = "gebruikersnaam";
$mysql['wachtwoord']         = "w8woord";
$mysql['database']             = "db-naam";

mysql_connect($mysql['host'],$mysql['gebruikersnaam'],$mysql['wachtwoord']);
mysql_select_db($mysql['database']);

?>


Mvg.

Daniel
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Fdsfdsf sfddddddddd
fdsfdsf sfddddddddd
17 jaar geleden
 
0 +1 -0 -1
Waar moet ik de database gegevens invoeren? nu kan die geen databese connection maken

Mvg
Ik

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. login-rechten-sessies

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

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.