gebruikersnaam en wachtwoord opslaan in de database
Iedereen kan aanmelden maar krijgt beperkte rechten (level 1).
Leden krijgen dan meer rechten (bv Email adressen zichtbaar, gegevens kunnen aanpassen, enz. dus level 2)
Nu is het zo dat als een lid aanmeld, er in mijn database een nieuwe id wordt aangemaakt met zijn gebruikersnaam en wachtwoord.
Dit id krijgt automatisch level 1.
Ik zou graag hebben als iemand aanmeld met "voornaam naam" als gebruikersnaam, dat die gegevens dan ook bij zijn id worden toegevoegd in de database (deze mensen hebben dan automatisch level 2)
Kan iemand mij eventueel op weg zetten?
De (naar ik denk) relevante passage van het script
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
// formulier gepost, kijk of alle velden ook daadwerkelijk zijn ingevuld
}
elseif(trim($_POST['gebruikersnaam']) <> "" && trim($_POST['wacht1']) <> "")
{
// formulier ingevuld - kijk eerst of de gebruiker al bestaat
$gebruikersnaam = $_POST['gebruikersnaam'];
$res = mysql_query("SELECT * FROM leden WHERE gebruikersnaam='".$gebruikersnaam."'") or die(mysql_error());
if(mysql_num_rows($res) == 0)
{
// geen resultaten - dit is wat we willen
// kijk of de opgegeven wachtwoorden overeenkomen
if(!strcmp($_POST['wacht1'], $_POST['wacht2']))
{
// wachtwoorden komen overeen - sla alle gegevens op in de database
// naam is al opgehaald uit het formulier
$wacht = md5($_POST['wacht1']); // versleuteld wachtwoord
$level = 1; // standaard gebruikersniveau
mysql_query("INSERT INTO leden (gebruikersnaam, pass, level) VALUES ('".$gebruikersnaam."','".$wacht."',".$level.")") or die(mysql_error());
// geef melding weer
?>
// formulier gepost, kijk of alle velden ook daadwerkelijk zijn ingevuld
}
elseif(trim($_POST['gebruikersnaam']) <> "" && trim($_POST['wacht1']) <> "")
{
// formulier ingevuld - kijk eerst of de gebruiker al bestaat
$gebruikersnaam = $_POST['gebruikersnaam'];
$res = mysql_query("SELECT * FROM leden WHERE gebruikersnaam='".$gebruikersnaam."'") or die(mysql_error());
if(mysql_num_rows($res) == 0)
{
// geen resultaten - dit is wat we willen
// kijk of de opgegeven wachtwoorden overeenkomen
if(!strcmp($_POST['wacht1'], $_POST['wacht2']))
{
// wachtwoorden komen overeen - sla alle gegevens op in de database
// naam is al opgehaald uit het formulier
$wacht = md5($_POST['wacht1']); // versleuteld wachtwoord
$level = 1; // standaard gebruikersniveau
mysql_query("INSERT INTO leden (gebruikersnaam, pass, level) VALUES ('".$gebruikersnaam."','".$wacht."',".$level.")") or die(mysql_error());
// geef melding weer
?>
Gewijzigd op 01/01/1970 01:00:00 door Hilde
Kan je iets specifieker zeggen wat je wil, want ik kan me niet echt veel wijs worden uit je uitleg..
snap niet wat je bedoelt :)
een nieuwe persoon (lid van de club) meldt zich aan.
Zijn gebruikergegevens worden in de database ingevoegd als een nieuw record.
Dit is ok, als deze persoon geen lid is van de club, maar als hij wel lid is van de club zouden deze gegevens bij zijn reeds bestaande record moeten gevoegd worden
want alle leden van de club hebben een level 2 wat betreft rechten en kunnen dus beveiligde pagina's bekijken die niet leden van de club (krijgen in mijn script automatisch level 1) niet te zien krijgen.
Er zou dus nog ergens een if statement moeten bijkomen (denk ik) in de aard van
if $gebruikersnaam = gebruikerInMijnDatabase
$sql = "UPDATE leden
SET gebruikersnaam = '$gebruikersnaam', wachtwoord ='$wachtwoord'
WHERE gebruikerInMijnDatabase = '$gebruikersnaam';
Je kunt toch checken of de gebruiker het goede level heeft? Zo niet dan update je hem tot 2 ofzo...
Leden die hun wachtwoord vergeten zijn en een nieuwe gebruikersnaam aanmaken, en ik weer het level aanpassen
Ik vergeet dan eens om mijn database na te kijken, en juist dan heeft er natuurlijk iemand geprobeert om zijn gegevens aan te passen
enz.
Dit is niet te doen vandaar mijn vraag om de aanmeldingsgegevens van leden onmiddellijk in hun record op te slaan, ze hebben dan onmiddellijk het juiste level
Gewijzigd op 01/01/1970 01:00:00 door hilde
Is hier niemand die mij daarbij kan helpen?