Beste bezoekers van dit forum,
Ik werk op dit moment aan een project dat zich als doel heeft gesteld het bieden van een platform voor digitale zelfhulp voor mensen met een eetstoornis. Ik wil hier inhoudelijk niet te veel op het project ingaan, hiervoor verwijs ik naar de website: www.anasangels.nl. U kunt daar bovenin onder het kopje 'Over het Project' meer dan genoeg informatie vinden. Ik ben vol goede moed begonnen aan het ontwerpen en programmeren van een webapplicatie die achter deze website moet gaan draaien, maar ben reeds meerdere malen tegen mijn toch iets beperkte kennis van PHP en MySQL aangelopen. De applicatie moet het volgende gaan verzorgen: het aanmaken van records binnen de ‘Master Administrator’ pagina, het is de bedoeling dat de master inlogt en op een pagina kan kiezen uit twee opties: nieuw lid en nieuwe medewerker. De eerste optie maakt een record aan in tabel A, de tweede in tabel B. Na het aanmaken van deze record moet er automatisch een bericht worden verzonden. Deze berichten moeten uiteraard de inloggegevens bevatten, en in het geval van een nieuw lid is deze iets uitgebreider.
In dit bericht wordt het nieuwe lid met zijn of haar naam worden begroet, volgt er een opsomming van de inloggegevens. Nu komt (voor mij althans) het moeilijkste: elk lid is bij inschrijving door een master ‘gekoppeld’ aan een medewerker, dit wordt in database A opgeslagen in de kolom ‘AngelID’, het veld ‘AngelID’ is gelijknamig aan de primaire sleutel van tabel B (voor medewerkers). Het is nu de bedoeling dat er in het e-mailbericht wordt geschreven aan welke medewerker het nieuwe lid is gekoppeld en daaronder contactgegevens van die medewerker weergeeft.
Een tweede stukje waar ik echt niet uit kwam is het volgende: een deelnemer is niet alleen aan een medewerker gekoppeld, maar ook aan een ‘Buddy’, in de record van het nieuwe lid is een veld met de naam ‘BuddyID’, deze waarde is in dezelfde tabel (A) terug te vinden als primaire sleutel. Ook nu is het de bedoeling dat er in de e-mailbericht de voor- en achternaam en een aantal contactgegevens worden opgenomen. Het zou geweldig zijn als het systeem ook automatisch in die record (van de buddy dus) een waarde van BuddyID veranderd naar de waarde van het ID (primaire sleutel tabel A) van de nieuwe record (die van het nieuw aangemelde lid), het is dan handig dat op het inschrijfformulier alleen de records in een keuzelijst voor het veld ‘BuddyID’ verschijnen die een lege waarde (NULL) hebben voor het veld ‘BuddyID’. Ook hier kom ik niet uit.
Er volgt nu een standaard bedanktbericht en de email kan worden verzonden.
Het inloggen van gebruikers is een stuk simpeler, deze komen gewoon op een pagina waar ze alle gegevens uit hun eigen record gepresenteerd krijgen. Het is uiteraard ook hier de bedoeling dat de contactgegevens van de medewerker (door ‘AngelID’) worden weergegeven, dit geldt ook voor de buddy.
Een medewerker (dus geen Master) die inlogt krijgt eenzelfde presentatie van zijn of haar record te zien, het enige verschil is dat deze een link bevat naar een aantal pagina’s die alleen voor medewerkers bestemd zijn. Bovendien moet er hier de mogelijkheid te zijn om alle records uit tabel A (leden) weer te geven die bij ‘AngelID’ een waarde gelijk hebben aan hun waarde voor ‘AngelID’ met andere woorden: alleen de leden die aan deze medewerker zijn gekoppeld. Het staat vast dat elke medewerker wordt toegewezen aan setjes van buddy’s, het zou mooi zijn als deze onder elkaar worden weergegeven (gesorteerd). Als laatste is het van belang dat elke naam doorlinkt naar een detailpagina waar alle gegevens van de deelnemer op te vinden zijn (mag gelijk zijn aan de pagina waar het lid zelf op inlogt!). De medewerker moet deze gegevens ook kunnen veranderen. Een laatste functie is een pagina waarmee elke gewenste record uit tabel A (leden) kan worden weergegeven in een formulier en aangepast. PHP moet bij elke wijziging eerst toestemming vragen door middel van vraagvenster in de browser, dit geldt dus ook als een medewerker de informatie van een lid wijzigt!
Tot slot: de verschillende niveau’s van beveiliging worden in het volgende veld aangegeven: ‘Status’ in beide tabellen (A en B), de waarden die deze tabel kan bevatten zijn: Deelnemer (gewoon lid), Angel (Admin), en Master (Master). Een ‘Deelnemer’ heeft alleen toegang tot zijn eigen pagina, een ‘Angel’ heeft toegang tot zijn eigen pagina en heeft het recht gegevens in te zien en te wijzigen voor alle leden (Deelnemers) die aan hem of haar gekoppeld zijn en de ‘Master’ kan alle records inzien, nieuwe records aanmaken, en alle records wijzigen.
Ik weet dat ik een heleboel vraag, maar ik zou echt niet weten hoe ik dit zelf voor elkaar kan krijgen. U moet weten dat dit een initiatief van mij persoonlijk betreft, wat vanuit een ideologisch oogpunt tot stand is gekomen. Er wordt uitsluitend met vrijwilligers gewerkt en er zijn ook geen financiële middelen om een professioneel programmeur in dienst te nemen.
Het is wel zo dat de Stichting Anorexia en Boulimia Nervosa naar alle waarschijnlijkheid haar naam aan dit project wil verbinden waardoor ik een groot aantal bezoekers verwacht, vandaar ook de behoefte aan een dergelijk groot systeem. Uiteraard zal uw naam als ‘programmeur’ op de site worden vermeld op een speciaal daarvoor ingerichte pagina, indien gewenst met een link naar uw site!
Als er iemand is die mij wil helpen, kan hij of zij op deze post reageren of een e-mail sturen naar [email protected] of mij toevoegen op msn: [email protected].
Bij voorbaat dank!

Reageren