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...
mysql_connect("xxx","xxx","xxx");
$verbind = mysql_select_db($gegevens['username']);

is fout. Je moet de connectie gebruiken dus:

$verbind = mysql_connect("xxx","xxx","xxx");
mysql_select_db($gegevens['username'], $verbind);
Nee hoor, bij je mysql_connect() maakt die al verbinding en die verbinding gebruikt die elke keer. Hij gebruikt steeds de laatst geopende verbinding ;)
Webmakerij schreef op 22.12.2006 12:27
mysql_connect("xxx","xxx","xxx");
$verbind = mysql_select_db($gegevens['username']);

is fout. Je moet de connectie gebruiken dus:

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


of zo:
$verbind = mysql_select_db($gegevens['username'],mysql_connect('xxx','xxx','xxx');

Maar je kan het beter volgens de manier van wes doen, en dan met een WHERE alleen de bestellingen van hun zelf laten zien.

<?php
session_start();
$verbind = @mysql_select_db($gegevens['username'],mysql_connect('xxx','xxx','xxx');
if(!$verbind) {
die("Er is geen database connectie gemaakt...");
}
$select = "SELECT * FROM bestellingen WHERE filliaal_id = '".$_SESSION['id']."'"; //of hoe je de filliaal dan ook aanroept.
$result = mysql_query($select) or die("Er is iets mis gegaan...");
?>
O ik het het niet helemaal goed uitgelegd zie ik... het is niet
letterlijk het bestelsysteem... maar het is het systeem die als
archief dient... alle bestellingen worden opgeslagen met klant
gegevens endergelijke zodat als de bestelling er is gebeld
kan worden naar de klant...
ik post wel even een overzicht van hoe het eruit ziet in de db..

dit is de query voor het opslaan van het invul formulier.. dan zie
je meteen alle velden in de nu hetende tabel 'bestel'

<?php //voor phphulp ff deze ervoor gezet zodat hij overzichtelijk word weergegeven
$query = "INSERT INTO `bestel`
( `numB` , `ordernr` , `datum` , `naam` , `aanhef` , `adres` , `telefoon1` , `telefoon2` ,
`email` , `merk` , `leverancier` , `soort` , `type` , `model` , `ondrep` , `garantie`,
`prijsopgave` , `kastotaal` , `aanbetaald` , `korting` , `tebetalen` , `state` , `statelog`,
`aantal1` , `omschrijving1` , `prijs1` , `artikelnummer1` ,
`aantal2` , `omschrijving2` , `prijs2` , `artikelnummer2` ,
`aantal3` , `omschrijving3` , `prijs3` , `artikelnummer3` ,
`aantal4` , `omschrijving4` , `prijs4` , `artikelnummer4` ,
`aantal5` , `omschrijving5` , `prijs5` , `artikelnummer5` ,
`klachtomsch` , `koopdatum` , `aanbodmet` , `werkzaam` , `bijzonderheden`,
`state1`, `state2`, `state3`, `state4`, `state5`)
VALUES (
'$add_numB', '$add_ordernr', '$add_datum', '$add_naam', '$add_aanhef', '$add_adres', '$add_telefoon1', '$add_telefoon2',
'$add_email', '$add_merk', '$add_leverancier', '$add_soort', '$add_type', '$add_model', '$add_ondrep', '$add_garantie',
'$add_prijsopgave', '$kastotaal1', '$add_aanbetaald', '$add_korting', '$tebetalen1', '$add_state', '$statelog',
'$add_aantal1', '$add_omschrijving1', '$add_prijs1', '$add_artikelnummer1',
'$add_aantal2', '$add_omschrijving2', '$add_prijs2', '$add_artikelnummer2',
'$add_aantal3', '$add_omschrijving3', '$add_prijs3', '$add_artikelnummer3',
'$add_aantal4', '$add_omschrijving4', '$add_prijs4', '$add_artikelnummer4',
'$add_aantal5', '$add_omschrijving5', '$add_prijs5', '$add_artikelnummer5',
'$add_klachtomsch', '$koopdatum', '$add_aanbodmet', '$add_werkzaam', '$add_bijzonderheden',
'$add_state1', '$add_state2', '$add_state3', '$add_state4', '$add_state5');";

//idemdito voor deze:
?>


ik denk als ik automatisch een $add_user_id gebruik dat ik al een eindje
op weg ben met dat stukje van niek erbij ofniet?
@Niek nee, want mysql_select_db geeft alleen aan of de db geselecteerd kon worden. mysql_connect geeft een resource id terug.
`aantal1` , `omschrijving1` , `prijs1` , `artikelnummer1` ,
`aantal2` , `omschrijving2` , `prijs2` , `artikelnummer2` ,
`aantal3` , `omschrijving3` , `prijs3` , `artikelnummer3` ,
`aantal4` , `omschrijving4` , `prijs4` , `artikelnummer4` ,
`aantal5` , `omschrijving5` , `prijs5` , `artikelnummer5` ,

Dit datamodel klopt van geen kanten, dit heeft weinig tot niets met een relationele database te maken.

Wanneer jij een goed systeem wilt maken, zul je echt terug moeten naar de tekentafel en de complete database opnieuw ontwerpen. Ga beginnen met normaliseren, dat is een absolute vereiste.

Ik raad je heel sterk af om verder te gaan met het huidige systeem. De basis is niet goed, hierdoor zul je allerlei rare fratsen moeten uithalen om de boel toch enigzins werkend te krijgen. De kans dat dit uiteindelijk hopeloos fout gaat, is levensgroot.

Succes!

Edit: Nog een goed artikel over normaliseren
http://yapf.net/Articles/ArticleView/789
o we hebben al bijna een jaar een systeem draaien waaruit ik deze query heb gehaald en tot nu toe nog geen probleem gehad...

ik leer op school inderdaad ook over in normaalvorm zetten maar dat
wilde ik eigenlijk pas helemaal aan het einde gaan doen als het inloggen systeem eenmaal werkt..
maar dat wilde ik eigenlijk pas helemaal aan het einde gaan doen
Kuch! Hoe zeg je? Dat is het allereerste dat je doet! Het is de basis van jouw systeem! Dat kun je toch onmogelijk aan het einde gaan doen?

Ook het inlogsysteem maakt deel uit van het datamodel, ook dat moet je op de juiste manier normaliseren.
@Frank....
zou dit een goeie zijn dan? :

-Filliaal (Filliaalid(=meteen username & PK), wachtwoord, email, ip, hash, numB, artikelid, ordernr, garantieid, apparaatID,betaalid)
-Bestelling(numB(PK), datum, leverancier, ondrep, statelog)
-Artikel(artikelid (PK), aantal, omschrijving, artikelnummer, prijs, state)
-klant(ordernr(PK), naam, aanhef, adres, tel1, tel2, email)
-Garantie(garantieid(PK), klachtomschrijving, koopdatum, aanbodmet, werkzaam, garantie)
-Apparaat(apparaatID(PK), merk, soort, model, type)
-Betaling(betaalid(PK),Prijsopgave, kastotaal, aanbetaald, korting, tebetalen)
Volgens mij is het niet compleet, een Artikel heeft ook een leverancier, dit sla je nergens op. Daar zal een aparte tabel voor moeten komen.

Inkoop- en verkoopprijs lijken mij handig, evenals het btw-percentage.

Geen idee of er nog meer eigenschappen zijn van een artikel, maar de huidige opzet is wat magertjes.

Het adres van de klant sla jij op in 1 kolom. Dat is niet handig, nu kun je nooit achterhalen in welke plaatsen jouw klanten zich bevinden, laat staan dat de database eist dat er een geldige postcode en woonplaats worden opgegeven.

De tabel garantie is nergens aan gekoppeld. Je hebt geen idee wie aanspraak maakt op garantie en wanneer deze onbekende persoon het artikel heeft gekocht.

En over koppelingen gesproken, er is helemaal geen verband tussen de tabellen, er is helemaal geen sprake van een relationele database.

Kortom, stap 1 heb je gemaakt, de overige stappen ontbreken nog.

Normaliseren doe je niet even in een halfuurtje, je bent zo maar een dag verder voor een inkoop/verkoop-systeem. En zelfs dan zul je nog fouten tegenkomen.

Reageren