gebruikersnaam en wachtwoord opslaan in de database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Hilde

hilde

17/11/2008 11:45:00
Quote Anchor link
Ik heb op mijn website een inlogsysteem met verschillende levels.
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)
PHP script in nieuw venster Selecteer het PHP script
1
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
?>
Gewijzigd op 01/01/1970 01:00:00 door Hilde
 
PHP hulp

PHP hulp

11/01/2025 20:57:34
 
Justin S

Justin S

17/11/2008 14:06:00
Quote Anchor link
Kan je iets specifieker zeggen wat je wil, want ik kan me niet echt veel wijs worden uit je uitleg..
 
RvW Of toch niet

RvW Of toch niet

17/11/2008 14:31:00
Quote Anchor link
snap niet wat je bedoelt :)
 
Hilde

hilde

17/11/2008 14:42:00
Quote Anchor link
Het script zoals het nu is:
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';
 
Timen kut

Timen kut

17/11/2008 15:05:00
Quote Anchor link
Je kunt toch checken of de gebruiker het goede level heeft? Zo niet dan update je hem tot 2 ofzo...
 
Hilde

hilde

17/11/2008 15:14:00
Quote Anchor link
Ja, zo doe ik het nu al een jaar, iedere keer de database checken en het level van nieuw aangemelde leden aanpassen.
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
 
Hilde

hilde

29/12/2008 11:29:00
Quote Anchor link
Is hier niemand die mij daarbij kan helpen?
 



Overzicht Reageren

 
 

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.