v5.dk logo
Kom ind og besøg vores Discord Chat-community
Bliv medlem her eller læs mere om Discord her
Kærlighed kan godt købes for penge
- vi elsker nemlig vores kunder :-)

Mere info Køb nu

Premium på v5.dk
v5.dk logo  v5.dk e-learning
Log på med Facebook
  • Log ind på v5.dk
  • Opret bruger
  • Log ind
  • v5.dk Premium
  • v5.dk Premium
  • Hvad siger vores kunder?
  • E-læring for begyndere
  • icon for WordPress 4 e-learning WordPress 4
  • icon for Office 365 e-learning Office 365
  • icon for Microsoft Word e-learning Microsoft Word
  • Bloggen for alle
  • E-læring for nørder
  • icon for PHP-programmering e-learning PHP-programmering
  • icon for iOS Programmering e-learning iOS Programmering
  • icon for Linux Server e-learning Linux Server
  • Bloggen for nørder
  • Arkiverede videoer
  • Fællesskab
  • Forum
  • Idéer og ønsker
  • Markedspladsen
  • v5.dk Premium
  • Gratis webhotel
  • Cloud-servere
  • Om v5.dk
  • Søg på v5.dk
  • Om v5.dk ApS
    • Om virksomheden
    • RSS-feeds og tjenester
    • Driftsmeddelelser
    • Presse-kit
    • Ledige jobs
    • Social Netværk
      • Facebook
      • Twitter
      • Instagram
    • Alt det andet
      • Forretningsbetingelser
      • Ophavsret og Copyright
  • Kontakt kundeservice
  • FAQ og Hjælp
    • Premium og abb.
    • Videoer og Afspiller
    • Forum og Points
    • Cloud-servers
  • Partner/Virksomhed
  • Partner-kanal
v5.dk logo mobile
  • Menu
  • Opret bruger

Medlemskab database

  • v5.dk
  • Forum
  • PHP-programmering
  • Medlemskab database
  • Sidevisninger: 4007 har set dette indlæg
Besvar #0Spørgsmål oprettet af @jesperpetersen | 550 points
Ingen points i dette indlæg 13 indlæg 7 år siden
avatar
 

Hej V5.

 

Det sådan at jeg også snart skal har en slags medlemskab hjemmeside hvor mine kunder betaler for undervisning.

Derfor vil jeg høre om i havde nogle forslag til database opsætning.

Jeg er derfor helt sikker på at databasen godt kan blive forbedret.

Billede uploadet af jesperpetersen

Membership bliver sat samme med min brugere table.

Membership bruges til:

fk_brugerid -> Hvilke brugere har købt.

fk_oplysninger -> Hvad er kundens adresse, postnr mv.

opsagt -> er det opsagt ja eller nej?.

opsagtdato -> hvornår blev det opsagt.

betaltdato -> Hvornår har brugeren købt medlemskabet.

fk_prisid -> Hvilke pakke har brugeren købt.

Tilbagebetalt -> vil kunde ha penge tilbage eller ej?.

Tilbagebetaltdato -> Hvornår er det gjort.

Betalingid -> Hvilket abn nr få kunden?

Oplysninger

- Ja, der er ikke så meget at sig. den giver lidt sig selv.

Pris bruges til:

navn -> hvad kalder jeg pakken.

fk_prisid -> hvilke pakke har kunden købt

PrisValue

pristal -> det er prisen på pakken.

mdr -> er hvor mange måneder kunden har købt.

abnValue -> er hvilke værdi Epay eller Quickpay bruger til Abn for at det køre osv.

 

(Måske har du nogle forslag Daniel til hvad jeg kan lave om?)

avatar
 
Besvar#1 @db Admin kommenterede for 7 år siden

Der er mange måder at opbygge en database på, og det er naturligvis vigtigt at få struktureret data godt fra starten, således de er fleksible og nemt kan udbygges. 

Personligt ville jeg starte med at omdøbe alle feltnavnene til engelsk, jeg kan se du også selv at støt på at tabelnavnet "by" kan give problemer, hvorfor den nu hedder "byen". Udover det så har vi et karaktersæt i Danmark med æøå som ikke gør sig godt i kode.

Ydermere kan jeg se du ikke har meget konsekvens i din navngivning, bruger du camelCase? bruger du UpperCase eller bruger du lowercase? Sæt en standard og hold dig til den, ellers er du nød til at slå op i databasen, hver gang du vil kode noget, fordi du ikke kan huske om det var BetaltDato, betaltDato eller betaltdato.

Selve strukturen på databasen er fint nok, de data du oftest bruger, altså din core user-data som username, hashed password, e-mail mm. samles i éen tabel. Andre data der ikke bruges ofte samles i en anden tabel som kan JOINs når behovet er der, og kundens abonnementer samles i en tredje tabel.

Held og lykke med dit projekt.

~ Daniel


Med venlige hilsner

Daniel Bahls Signatur   Daniel Bahl (@db)
   CEO – v5.dk ApS

avatar
 
Besvar#2 @jesperpetersen kommenterede for 7 år siden

Jeg er enig om at det skal være nemt at udbygges til hvis den senere med tiden skulle kun noget mere f.eks.

Jeg har ikke haft problemer tidligere med at bruge "byen". Jeg har dermed også opbygge min egen hjemmeside i MVC, Linq :).

Jeg bruger Microsft SQL Server management studio til at opdater database, tilpasse database og samt ret i den.. Da jeg bruger C# har jeg letter ved at tilpasse navne på de forskellig områder.

Dermed hjælper LINQ dig også med at huske navne på de forskellig områder. Som du kan se et lille billede af her.

Der er jeg enig med at jeg laver en INNER join til brugere tablen.

 

avatar
 
Besvar#3 @db Admin kommenterede for 7 år siden

 #2  Der findes mange værktøjer til at hjælpe og lave autocompelte på database-felter mm. - det ændre dog ikke på at struktur, ensartedhed og konsekvens igennem hele forløbet er værdsat in my humble opinion, især hvis det nu skulle blive et større foretagende og der kommer andre udviklere indover, eller du skal integrere data med andre systemer.

BY er en SQL-query kommando som bruge bl.a. efter ORDER eller GROUP, du kan godt bruge "By" som et feltnavn i de fleste database ved at enclosure feltnavnet i f.eks. '-tegn, du vælger som alternativ at bruge feltnavnet "byen", med det bedste ville være; City. Så støder du ikke på feltnavne med æøå eller By :-)

Du spurgte om min feedback :-) Den er hermed givet.


Med venlige hilsner

Daniel Bahls Signatur   Daniel Bahl (@db)
   CEO – v5.dk ApS

avatar
 
Besvar#4 @jesperpetersen kommenterede for 7 år siden

Der er vi enig om at der findes. Den kan sikkert godt laves på mange andre måder men jeg vil bare del min bruger table op og min kunde medlemskab op i en anden table.

Det ved jeg godt ang "BY" som f.eks her

SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name;

Det kun muligvis godt være at jeg skulle lave den om til "City" så jeg sikker mig at jeg ikke kommer ind i problemet, hvis det nu skulle komme på et tidspunkt :) 

- Takker mange gange for feedback. Det er altid skønt at se tingene med ændre øjne :)

 

avatar
 
Besvar#5 @dhh Admin kommenterede for 7 år siden

Jeg laver alt på engelsk, nu da kodesproget også er engelsk. Det skaber ensartethed og jeg bliver aldrig forvirret. Plus, at hvis jeg skal finde noget specifikt hjælp - jeg ikke lige kan huske. Så kan jeg tage det dirkete fra koden. Så er chancen for at jeg for et hit på Google hundrede gange større, end hvis jeg skulle oversætte/visse en anden person end lige dansk min kode/søge på keywords.

Opdelingen ser fin ud i min verden. Men jeg ville personligt aldrig bygge noget som kræver at jeg skal bevare kodeord i min egen database. Det gør mange andre meget bedre - og så er sikkerheden allerede meget højere. Hvorfor opfinde den dybe tallerken to gange?

Dog med det sagt, så er det selvfølgelig sådan noget som abbonomenter og datoer - som jeg så fint selv ville gemme hvis absolut nødvendigt.

Det var så lige mine to "cent" jeg ville komme med. Som jeg personligt gør det i dag, efter 10+ år på bagen.


Med venlige hilsner

Daniel H. Hemmingsen (@dhh)

avatar
 
Besvar#6 @jesperpetersen kommenterede for 7 år siden

 #5  Enig, normalt vil jeg også opbygge det på engelsk. men jeg arbejder lige pt på at gøre hjemmesiden endnu bedre med databasen og de andre små ting.

Det lyder godt. 

Okay ;)

Hvad er det for nogle  du vil tag med?

avatar
 
Besvar#7 @dhh Admin kommenterede for 7 år siden

 #6  Jeg er ikke helt med, ang. hvad du mener med at "tage med". Da jeg jo ikke ved præcist hvad du laver videoer om osv.

Ang. oplysninger, så ville jeg have adresser i en table for sig selv. (Perosnlig præference.) Og så ellers "JOINE" med user_id felt. Evt. også brug tredjeparts scripts for at undgå at folk skriver en adresse ind som faktisk ikke eksistere. (Ligesom Stofa eksempelvis gør det, når man søger på ders driftstatuser.)

Der er millioner af måder at gøre det på og man kan altid finjustere. Først og fremmest ville jeg have en prototype op og stå med de data jeg tror at jeg for brug for, for derefter at gå det igennem med en "kam" og se hvad jeg kan undlade. Eksmepelvis hvis jeg nu benytter mig af Facebook login eller en anden/andre tjenester til at logge ind med. Så kan jeg jo egentlig undgå at have mail adresser i min database. (Medmindre hvis folk jo så har muligheden for, at lave en bruger i selve systemet.)

Mit største tip, er at gå langsomt fremad - byg og byg. Især når det har med personlige data at gøre. Vi har jo love og regler her hjemme omkring personlige data også. Det skal gennemtænkes for alt i verden. (Både for din og kundens skyld.)

Især hvis du bruger PHP skal du være ekstra opmærksom. PHP er et dejligt sprog, men det har sine mange svagheder. Især ang. sikkerhed. (Det er nemt at lave fejl i.) Men det kan jo så måske også diskuteres i sidste ende. Det handler vel også lidt om smag. (Personligt rør jeg aldrig PHP, medminre at det er til prototyper.)


Med venlige hilsner

Daniel H. Hemmingsen (@dhh)

avatar
 
Besvar#8 @jesperpetersen kommenterede for 7 år siden

 #7  Jeg vil helt klart tag nogle af de ting med som du fortæller og siger til mig, og jeg er enig om at man må starte et sted og så gå videre der fra.

Jeg vil lige prøv at søg rundt på nettet og se om jeg kan find en løsning som jeg måske kan kig på eller arbejder videre fra.

- Jeg arbejder ikke med PHP. Dermed arbejder jeg med C#

avatar
 
Besvar#9 @dhh Admin kommenterede for 7 år siden

 #8  C#? Så er hvad du laver vel en native App? (Altså ikke en desideret hjemmeside.) Der skal du jo bruge nogen andre teknologier.
Jeg vil med glæde komme med input hvis du senere skulle være i tvivl. Fire øjne er trods alt bedre end to. Om ikke andet, så bare for input.


Med venlige hilsner

Daniel H. Hemmingsen (@dhh)

avatar
 
Besvar#10 @jesperpetersen kommenterede for 7 år siden

 #9  C# det er programmering-sprog, Der er forklaring her.

Det er jeg også glad for :) og jeg er enig med at det er langt bedre.

Jeg vil prøv at gå videre med det.

avatar
 
Besvar#11 @psto kommenterede for 7 år siden

@DHH: Hvordan gør du i forhold til opbevaring af kodeord?

avatar
 
Besvar#12 @dhh Admin kommenterede for 7 år siden

 #10  Jeg ved skam godt hvad C# er. Jeg rodede lidt med det. Men som hjemmeside sprog, kan jeg ikke se idéen med det. Jeg er selv gået helt oldschool fordi jeg vil lave til Linux kernen. (C.) Så det er hvad jeg leger med lige pt. Er ved at se en masse Universitets matriale igennem en lære jeg kender i Australien. (Det gavner at have sine kontakter. Så jeg kan se hans lektioner han har lavet før.)

 #11  Det lader jeg så vidt som muligt andre tjenester om. Så jeg aldrig skal have det i en database. Facebook, Twitter osv.
Hvis det dog ikke er muligt, kender jeg nogen gode kryptografer og nørder inde for feltet i U.S.A som giver mig tips og tricks - og som jeg kan spørge hvis jeg bliver helt i tvivl. Jeg kan dog hurtigt sige at du skal holde dig fra at gemme det i en database med samme navn som din hjemmeside. (Brugeren der logger ind.) Og meget mere i den dur. Din MySQL eller hvad for en server du benytter skal jo være sikker. Der findes tonsvis af god information til netop dette ude på nettet. Tjek evt. rundt på hacker forums, eller sågar StackOverflow.

Og når du så gemmer selve din hash + salt, så for alt i verden ikke benyt dig af MD5 eller SHA1. Find noget bedre. Det emne her, kunne i sig selv give en bog alene. Så det er hvad jeg lige kan skrive, imens at jeg sidder i et tog som hopper og danser imellem Odense og Århus lige pt. Fortsat god Søndag. :)


Med venlige hilsner

Daniel H. Hemmingsen (@dhh)

avatar
 
Besvar#13 @psto kommenterede for 7 år siden

 #12  interressant :)

 

Hvad gør du @daniel i forhold til brugerdata?

avatar
 

Du er ikke logget ind

Du skal være logget ind på v5.dk før du kan benytte vores forum. Det er ganske gratis at oprette en bruger.

Opret en ny gratis bruger Log ind

Følger med i denne tråd

jesperpetersen dhh

Forum kategorier

  • Generelt
  • Guides & Howto84
  • Offtopic / Andet158
  • Microsoft Office
  • Microsoft Word11
  • Microsoft Excel4
  • Microsoft PowerPoint0
  • Web og hjemmesider
  • Wordpress17
  • Operativsystemer
  • Apple Mac OS X14
  • Apple iOS28
  • Microsoft Windows4
  • Linux16
  • Teknologier
  • Netværk og WiFi3
  • Internet-tjenester9
  • Programmering
  • PHP-programmering124
  • iPhone-/Xcode-programmering9

Aktive forum-tråde lige nu

Er det værd at have en "portfolio"-hjemmeside!?
Fejlkode i form af bip-lyde ved opstart af gammel stationær PC
MacBook gået ud ved indsættelse at IPhone SE…
Is Weed Legal in Europe
Buy real passport online|Buy counterfeit money
Chrome Auto Fyld holdt op med at virke
ÆØÅ
Tegne Program
Bygget med af v5.dk
© Copyright 2006-2023 • Forretningsbetingelser • Copyright • Persondata- og Cookiepolitik
v5.dk ApS - Åbogade 15 - 8200 Aarhus N - CVR: 36902833
v5.dk logo
Hej, vi hedder v5.dk og vi laver e-learning på dansk

v5.dk er sat i verden for at gøre teknologi tilgængeligt og anvendeligt for både professionelle og almindelige brugere på alle niveauer.

93 200 555
  Skriv til os
v5.dk bruger cookies til at huske dine indstillinger, livechat samt til statistik
 

Alle vores priser er inkl. moms Sikker SSL-beskyttet forbindelse

Dankort og Visa-Dankort  Visa  Mastercard og Mastercard Junior  Maestro

  • Produkter
  • v5.dk Premium
  • Cloud-servers
  • v5.dk
  • Om v5.dk
  • Kunderne siger
  • Kontakt os
  • Presse
  • Stay updated
  • RSS & tjenester
  • Søg på v5.dk
  • Sitemap