InlogClass V0.1, AdoDB Version!
Dat betekend dus dat je voor deze versie de AdoDB-databaseclass nodig hebt,
vandaag of morgen zal ik een paar kleine veranderingen doen en zorgen dat er ook een mysqli versie beschikbaar is, indien dit script word goedgekeurd.
AdoDB Download
Downloaden
Simpel voorbeeldje van gebruik..
final protected function _StartDB() {
include_once _MAINPATH_ .'shell/adoDB/adodb.inc.php';
$this->oDB = NewADOConnection('mysql');
$this->oDB->Connect('localhost', 'xxx', 'xxx', 'xxx');
}
final protected function _StartDB() {
include_once _MAINPATH_ .'shell/adoDB/adodb.inc.php';
$this->oDB = NewADOConnection('mysql');
$this->oDB->Connect('localhost', 'xxx', 'xxx', 'xxx');
}
(Dus de connectie sla ik op in een variabele van de class)
Wat doet deze class?
Deze class valideert inloggegevens, een wachtwoord moet 8 tekens lang zijn en mag geen speciale characters bevatten, een gebruikersnaam kan kleine letters, hoofdletters en nummers bevatten en heeft geen limiet.
Afhankelijke functies
We gaan er van uit dat de class is opgestart onder de naam $oClass
De tabel die we gaan aanroepen bepalen we met $oClass->Tabel = 'gebruikers';
Nu gaat de tabel de query uitvoeren op tabel 'gebruikers'.
De velden die we willen ophalen bepalen we met $oClass->Fields.
Dit moet een array zijn, ook al haal je maar 1 waarde op!
$oClass->Fields = array('id', 'userlevel');
Deze waardes komen ook in je sessie.
Het veld waar we op moeten gaan controleren heb ik "naam" en "pass" genoemd, deze zijn zelf instelbaar en zal je ook eerst moeten instellen
$oClass->NameField = 'naam'; (Gaat controleren op veldnaam "naam") -> Kan je ook bijvoorbeeld email noemen als je op email gaat controleren.
$oClass->PassFields = 'pass'; (Gaat OOK op veldnaam "pass" controleren) -> Werkt alleen voor wachtwoorden, ivm met de koppeling op het ge-encrypte wachtwoord
De inloggegevens (dus de posts die je binnen krijgt) zetten we hier in:
$oClass->Name = $_POST['naam'];
$oClass->Pass = $_POST['pass'];
Error's kunnen we ophalen met
echo $oClass->sError;
eventuele userinformatie die goed gevalideerd is kan je ophalen met
echo '<pre>'.print_r($oClass->aUser, 1).'</pre>';
Manier van gebruik:
$oLogin = new inloggen();
$oLogin->Name = 'Arjan';
$oLogin->Pass = 'isgekker';
$oLogin->Fields = array('id', 'userlevel');
$oLogin->NameField = 'naam';
$oLogin->PassField = 'pass';
$oLogin->Tabel = 'gebruikers';
if($oLogin->Login() === true) {
echo 'Succesvolle login!';
print_r($_SESSION);
} else {
echo 'Geen succesvolle login!';
}
echo $oLogin->sError;
$oLogin = new inloggen();
$oLogin->Name = 'Arjan';
$oLogin->Pass = 'isgekker';
$oLogin->Fields = array('id', 'userlevel'); $oLogin->NameField = 'naam';
$oLogin->PassField = 'pass';
$oLogin->Tabel = 'gebruikers';
if($oLogin->Login() === true) {
echo 'Succesvolle login!'; } else {
echo 'Geen succesvolle login!'; }
Query is opgebouwd naar: SELECT id, userlevel FROM gebruikers WHERE naam= "Arjan" AND pass = "6d45bccb7346c92c2e76f0c14485d17c"
Have fun with it!