ey mensen,

ik zit met een vraagje, weet iemand van jullie misschien een
manier om in te loggen die hier aan voldoet? :

Ik heb een database met 10 tables... (plus een leden table)
alle leden hebben een database

pietje heeft database pietje
jantje heeft database jantje

als men inlogt wil ik dat ze ALLEEN hun eigen database gegevens zien..
dat lukt me nu niet helemaal.. en stukje van wat ik had leek mij wel logisch
maar dat werkte dus niet... namelijk:

<?php
mysql_connect("xxx","xxx","xxx");
$verbind = mysql_select_db($gegevens['username']);
?>

dan krijg ik de database die ik altijd al kreeg namelijk de bovenste...

bij de inlogpagina is de sessie geregistreerd als:
$HTTP_SESSION_VARS['username'] = $gegevens['username'];

wie o wie helpt mij?

bedankt tot zover...
Het veiligste lijkt mij dit het beste te doen door voor iedere user een mysql gebruiker aan te maken, die dan alleen rechten heeft op zijn eigen db.
Dan zal hij ook alleen zijn eigen db zien.
wat is het doel hiervan?

je kan beter alles in 1 tabel zetten.. daarvoor is een database gemaakt. Niet om per user een nieuwe tabel aan te maken
ey bedankt voor jullie snelle reactie...
het doel hiervan is hetvolgende:
ik maak een bestellingensysteem voor mijn werk
elk filliaal moet zijn bestellingen inkunnen vullen
(alles werkt al en is al klaar) maar ik wil nu een
inlog systeem maken (die er ook al bijna is) waar
elk filliaal zijn eigen table kan aanroepen omdat zij
niets hebben aan andermans bestellingen...
endus alleen hun eigen bestellingen hoeven te zien...

de manier waarop ik dit wilde doen is om niet
90 x (90 fillialen) het script aan te passen met
nieuwe mysqlusers enzo want volgens mij moet
er een makkelijkere oplossing zijn toch :P

by the way:
de tables die nu in mijn db staan zijn:
bestellingen en leden.

Bestellingen wil ik zodanig aanpassen dat elk filliaal zijn eigen stukje krijgt
en leden is gewoon de table waar de user in staan met de volgende velden:
`user_id` int(11) NOT NULL auto_increment,
`user` varchar(40) NOT NULL default '',
`ww` varchar(32) NOT NULL default '',
`email` varchar(40) NOT NULL default '',
PRIMARY KEY (`user_id`)



Tabel users:

id
filiaalnaam


Tabel bestellingen:

id
bestellingvar1
bestellingvar2
bestellingvar3
filiaal_id

Zo moet je dat oplossen
dus een foreign key plaatse

dan zou ik user_id al aan kunnenpassen dat dat filliaalid word toch?
want er is maar 1 username en password per filliaal
Even een aanvulling op wes, zo lijkt de zijne namelijk ook te zijn gebaseerd op een fout datamodel :P (ik weet dat hij het wel op de goede manier bedoeld)


Tabel users:

id
filiaalnaam


Tabel bestellingen: (die "gewijzigde" kolommen zijn inderdaad allemaal variabelen die voor bestelling worden gebruikt)

id
productid
aantal
besteldatum
filiaal_id


Tabel producten
id
naam
omschrijving
prijs
het is inderdaad niet nodig al die 90 tabellen aan te maken

je kan best alles bij elkaar zetten, en dan op de manier van Wes te werk gaan.

filiaal id zet je bij een nieuwe bestelling erbij, en als het weer uitgelezen word, zet je in de sql: WHERE filiaal_id = $_SESSION['id'];

je zal waarschijnljik sessions gebruiken voor je inlogsysteem. dus op die manier moet alles werken.

(vergeet dus niet de kracht van een database)

edit: of in plaats van filiaal id kan je inderdaad ook user_id gebruiken
Terence, wes en robert bedankt....
ik ga zodra ik thuis ben even uitproberen
en ik zal het laten weten of het lukt...

bedankt groetjess
@robert, ik ben lui vandaar de bestellingvar1 etc :)) u know what i mean, tging om de koppeling tussen filiaal en bestelling
wes schreef op 22.12.2006 11:47
@robert, ik ben lui vandaar de bestellingvar1 etc :)) u know what i mean, tging om de koppeling tussen filiaal en bestelling


Weet ik maar om misverstanden te voorkomen was mijn post.. Ik zei ook al dat ik wist dat je het wel goed bedoelde! ;)

Reageren