Inlogsysteem gebaseerd op de phpBB-tabel

Info 
Door: Itsme-HcK Moeilijkheidsgraad: 3/3
Views:20.915Reacties: 19(Bekijken)
  Log in om zelf te reageren
 Waardering:6.7/10 (3 stemmen)



Naar aanleiding van een vraag van aRAchNiON op het forum, deze tut.

De tabellen
Voordat je aan zon soort systeem kunt beginnen moet je natuurlijk wel even kijken naar de structuur van de tabellen van phpBB.
De naam van de tabel voor de gebruikers heet [prefix]_users.([prefix] is over het algemeen phpbb)
Allereerst maar 'ns een lijstje met alle belangrijke velden:

  • user_id(spreekt voor zich)
  • user_active(of ie actief is)
  • username
  • user_password(een ge-md5de versie van het wachtwoord)
  • user_viewemail
  • user_email

De rest is niet belangrijk voor deze tut, kom ik misschien later nog op terug.

Registreren en inloggen
Ik zal natuurlijk niet de hele scripts gaan schrijven, dat doe je maar lekker zelf :wink: , maar wel een soort richtlijn.

Om te registreren is alleen een formulier nodig en een query om het in te voegen(optioneel nog controles).
#Code
1
2
3
4
<?php
$invoeg_query = "INSERT INTO `[prefix]_users]`(user_active, username, user_password, user_viewemail, user_email) VALUES('1','" . $_POST['username'] . "','" . md5($_POST['pwd']). "','" . $_POST['viewemail'] . "','" . $_POST['email'] . "')";
mysql_query($invoeg_query) or die("FOUT: " . mysql_error());
?>


Inloggen, daar zou je het formulier van phpBB zelf voor kunnen gebruiken, maar leuker is natuurlijk zelf maken, dus;
#Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
$login_query = "SELECT * FROM `[prefix]_users` WHERE username='" . $_POST['username'] . "' AND user_password='" . md5($_POST['pwd']) . "'";
$login_result = mysql_query($login_query) or die("FOUT: " . mysql_error());

if(mysql_num_rows($login_result) > 0){

// fetchen zodat we alles in een sessie kunnen zetten
while($user = mysql_fetch_assoc($login_result)){
// voor de ***hosts zoals Lycos maak ik de sessie buiten de lus
$user_id = $user['user_id'];
$naam = $user['username'];
$email = $user['user_email'];
}
$_SESSION['user_id'] = $user_id;
$_SESSION['username'] = $naam;
$_SESSION['email'] = $email;
// je hoeft alleen maar t id te hebben, maar dit vind ik handig als ik alleen even de naam nodig heb 

}

else{
echo "Uw logingegevens kloppen niet, of u bent nog niet geregistreerd.<br>";
}
?>


Plezier dr mee :)

19 reacties
ThePlague Geplaatst op 24-05-2007 om 18:15
 

Regular
nu ik het regitrere nu is bekijk
best wel gemakkelijk :p


registreren werkt niet :s
als ik daarna in phpmyadmin ga kijken is de user wel toegevoegt maar is zijn id 0 en heeft hij geen gebruikersnaam :s
Itsme-HcK Geplaatst op 04-09-2006 om 14:47
Avatar van Itsme-HcK

Regular
Onbekend lid: header("Location: http://www.google.nl/");
En ja, dat kan.
GraveDevil: Als je precies doet wat er staat slaat hij het op.
GraveDevil Geplaatst op 25-06-2006 om 09:25
 

Regular
Ik heb een site (www.members.lycos.nl/beakiller), je kan je wel aanmelden maar niet inloggen, k heb zo'n vermoeden dat hij je account niet opslaat, hoe kan ik dat oplossen???
Onbekend lid Geplaatst op 27-04-2006 om 16:49
 

Spammer
Ik heb het script nu draaiend:) Ik heb alleen nog een paar vraagjes, de volgende:
-Ik wil de gebruiker door verwijzen nadat hij/zij correct is ingelogd. Ik weet dat ik daarvoor een header moet gebruiken maar hoe en waar moet ik die plaatsen:S
-Ten tweede vroeg ik me nog af of ik aan de sessie nog een variabele toe kan voegen om op andere pagina's de inlog status van de gebruiker kan checke. Zodat ik bepaalde dingen verborgen kan houden voor niet-ingelogden.

Je kunt dit formuliertje gebruiken zain.

<form action="HIER DE VOLLEGIGE URL-LOCATIE VAN HET SCRIPT" method="post">
<input type="text" name="username" />
<input type="password" name="pwd" />
<input name="inloggen" type="submit" id="inloggen" value="inloggen" />
</form>
Itsme-HcK Geplaatst op 05-03-2006 om 09:47
Avatar van Itsme-HcK

Regular
md5("wachtwoord"); in PHP. ;)

Pagina 1 2 3 4 

Om te reageren moet je ingelogd zijn.
Nog niet geregistreerd? Doe dat dan nu!


Terug naar gewone pagina

Websitemaken wordt gehost door Nucleus.be, uw Hosting Solution Builder