Interactieve database op internet

Status
Niet open voor verdere reacties.

goedlichtJoost

Gebruiker
Lid geworden
7 mrt 2012
Berichten
477
Hallo Allemaal,

Ten eerste weet ik niet zeker of dit de juiste locatie is voor deze vraag. Dus mocht het verkeerd zijn dan hoor ik het graag.

Ik zal de situatie zo duidelijk mogelijk proberen uit te leggen zodat jullie hopelijk gericht advies kunnen geven.

Als bedrijf hebben we een excel bestand gemaakt waarbij klanten verschillende gegevens kunnen invullen. In dit excel bestand worden de gegevens vergeleken met de gegevens die andere klanten hebben ingestuurd (niet real-time) en vergeleken die wij als bedrijf hebben ingevuld. Hier horen verschillende berekeningen bij etc. Aan het einde van de sessie kunnen de klanten dan het ingevulde excel bestand emailen naar ons, en krijgen ze van ons weer een "ge-update" versie terug.

Dit is natuurlijk allemaal verschrikkelijk onhandig en fout gevoelig. Dus we willen nu naar een andere situatie.

Ik zou graag een website maken waarop de klant kan inloggen.
De website is gekoppeld aan een database inclusief de benodigde berekeningen.
De klant krijgt real-time op internet zijn input en bijbehorende output te zien,
De website/database moet door meerdere klanten tegelijkertijd benaderd kunnen worden (in totaal circa 40 klanten).

Ik snap dat dit voor een "leek" (weinig ervaring op dit gebied) moeilijk is om vanuit 0 op te bouwen.
Maar ik zou het toch graag willen proberen. Echter als ik op internet lees, lees ik zo veel verschillende methodes met elk hun voor en nadelen.
Ik zal een methode moeten gaan leren en stap voor stap uitvoeren, maar ik zou wel graag in 1 keer voor de juiste methode kiezen.

Zou iemand mij hierin advies kunnen geven?
Alle hulp is welkom!
 
Hoe dan ook zit je in het Access forum verkeerd, want Access kan hier helemaal niets in betekenen. Tenzij je een Sharepoint server hebt waar de database op draait, en waar je klanten op in kunnen loggen. Ik denk dat je aan PHP i.c.m. MySQL moet gaan denken. Dat heeft gelukkig een eigen forum.
 
Ik heb je vraag verplaatst naar de juiste sectie.
In het vervolg hoeft u zelf de vraag niet opnieuw te stellen in de juiste sectie maar kunt u simpelweg via de "attendeer moderator" knop vragen of we hem willen verzetten.
 
Ik zal eens even helpen dan :)


Het eerste punt licht hem hier al:
  • Ik zou graag een website maken waarop de klant kan inloggen.
Aangezien dat voor een leek vrijwel NIET te regelen is met eigen code. (ik zeg vrijwel, ik bedoel dat gaat je nevernooit veilig lukken) zou ik een tutorial volgen.
Deze tutorial is vrij goed: http://www.wikihow.com/Create-a-Secure-Login-Script-in-PHP-and-MySQL
Het is niet het beste maar het werkt opzich prima.


  • De website is gekoppeld aan een database inclusief de benodigde berekeningen.

Dit is vrij simpel en kan met: http://php.net/manual/en/mysqli.quickstart.connections.php, dit kunnen we later nog bespreken.


Het volgende punt zou ik in eerste instantie niet aan beginnen:
  • De klant krijgt real-time op internet zijn input en bijbehorende output te zien,
Dat klinkt heel raar natuurlijk maar dat heeft een hele goede reden.
Als u meteen begint met real-time controlleren dan vergeet u waarschijnlijk server side te controleren (en dat MOET)
Mijn advies is dus, werk eerst eens even met een knopje "valideren" o.i.d en stuur alle data ($_POST) naar een validatie pagina. (deze moet controlleren op rotzooi)


Dit is geen probleem:
  • De website/database moet door meerdere klanten tegelijkertijd benaderd kunnen worden (in totaal circa 40 klanten).


Hoe gaan we nu verder?
We beginnen nu met een database ontwerp, er zal immers eerst een database moeten komen alvorens we er iets mee kunnen doen.
Ik raad hiervoor het programma "mysql workbench" aan.

In mysql workbench gaan we naar "file -> new model". Vervolgens dubbelklikken we op het woord "mydb" bij "physical Schemas" en veranderen we dat naar een betere naam.
Als dat gedaan is gaan we dubbelklikken op "add eer".
Nu kunnen we aan de slag met het maken van tabellen.

Als u de eerste (login) tutorial goed leest ziet u dat er een tabel nodig is met de volgende eisen:
[SQL]CREATE TABLE `secure_login`.`members` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`username` VARCHAR(30) NOT NULL,
`email` VARCHAR(50) NOT NULL,
`password` CHAR(128) NOT NULL,
`salt` CHAR(128) NOT NULL
) ENGINE = InnoDB;[/SQL]

Om maar even braaf te volgen maken we dus een tabel genaamd "secure_login", dit kunnen we doen door in de linkerbalk het tabel icoontje aan te klikken en 1 maal in het middenvak te klikken.
Er wordt dan een tabel met de naam "table1" aangemaakt, dubbelklik hierop om de opties te openen.
Geef de tabel de naam "secure_login" en druk op enter. Hij zal dan automatisch naar het tabje "Columns" gaan.

Daar maken we de columns precies zoals hierboven aangegeven.
We klikken dus bij het eerste vakje onder "Column name" en zetten er neer "id", het datattype is dan INT (haal ik gewoon uit vorige stukje code)
Nu zie je dat mysql workbench automatisch al zegt "ok dat zal wel een primary key zijn en die mag NN (not null, niet leeg) zijn".
Dan missen we alleen nog "AUTO_INCREMENT", en dat is het vinkje bij "AI".

Als we dit voor alle columns doen ziet het er ongeveer zo uit:





Er is echter nog een tabel die ook gemaakt en ingevuld moet worden met de volgende code:
[SQL]CREATE TABLE `secure_login`.`login_attempts` (
`user_id` INT(11) NOT NULL,
`time` VARCHAR(30) NOT NULL
) ENGINE=InnoDB[/SQL]

Die mag u even zelf doen. (ik geef overigens het bestand uit de foto ook niet, oefening baart immers kunst!)

Verzin zelf ook vast eens iets over hoe u de data van uw formulieren wilt opslaan(gewoon doen, het maakt niet uit als het fout is, daar zijn we voor :))
Het belangrijkste hiervan is dat u ALLE data in de database zet, dat betekend dus minimaal een tabel klanten en een tabel met de excel gegevens.

Als u dat gedaan heeft upload u het .mwb bestand en reageert u op deze post.
Ik zal het bestand beoordelen en aanpassen zodat het voldoet aan de juiste normen.

Zo bouwen we samen, stukje voor stukje, een goede website bij een goede database :)
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan