Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
Okay, så jeg skal altså vælge 'timestamp' -> 'CURRENT_TIMESTAMP'? - eller er det indenunder 'Attributter' at jeg skal stille den til noget for at gemme tiden i UTC?
Hvordan gør man det, sorry, har aldrig arbejdet med sådan noget før?
Kunne jeg få dig til at give mig et kort eksempel?
Kan man ikke på en eller anden måde læse hvilken tidszone som brugeren befinder sig i, så han ikke manuelt skal skrifte rundt på dette?
Du kan prøve at bestemme tidszone udfra IP adresse, men det er ikke specielt pålideligt, fordi brugere som sidder på et firma netværk har ekstern IP hvor firmaets net går ud på internet.
Kunne overveje at få min udbyder til at opdaterer mit PHP på serveren til den nyere version. Kan vel aldrig skade? - Har en dedikeret server stående hos Danhost nemlig.
Okay, men dit eksempel kræver så at man ved om brugeren befinder sig i London, Kbh eller NY? (MET, GMT eller XXX) right?
Hvis jeg så fx. ønsker at oprette en nyhed, eller et arrangement, hvor man typisk gemmer datoen samt tidspunktet for nyheden eller arrangementet.
Hvordan bør jeg så gøre dette? Skal tidspunktet for arrangementet, så gemmes normalt ned på serveren som jeg altid har gjort. Og så når jeg viser nyheden, så omformer man tiden så det svare til den tidszone som bruger befindes sig i?
"... drejer min kode sig om at vise UTC tid i en ag brugeren valgt tidszone." - Det vil altså sige at brugeren selv skal vælge hvilken tidszone han befinder sig i eller hvad?
Hvis man nu tager er konkret problem fra min side:
Serveren står i DK, og en bruger ønsker at logge sig ind fra hans computer i London.
Han taster sin kode forkert ind 5 gange, og dette registeret for hvert forsøg i databasen på følgende måde:
mysql_query("INSERT INTO `login` (`id`) values ('$ip')");
I tabellen 'login' er der et felt som hedder 'date', som er af datatypen 'timestamp', hvor standardværdien er sat til 'CURRENT_TIMESTAMP'. - Derfor udfyldes denne automatisk.
Bruger bliver så blokeret én time fra siden, og jeg ønsker nu at give ham besked om hvornår han kan få adgang igen.
Ud fra det som du siger, så virker det jo til at den avancerede løsning er den bedste så.
Men de må have samme problemstilling i virksomheder som Facebook mv? - Og mener da aldrig at jeg har skulle vælge en tidszone derinde, eller noget? - De benytter sig så af den problematiske løsning så?
---
Mener faktisk aldrig at jeg har selv har skulle vælge hvilken tidszone jeg befinder mig i, når jeg har klikket mig ind på en side?
---
Men hvis jeg lader ham vælge den tidszone som han befinder sig i.
Så skal jeg bruge denne her $femtesidsteforsog, og kører den igennem:
Så smider jeg bare placeringen af dem (MET, GMT osv.) ned i en SESSION['x'] variabel.
Men nu skal jeg lige forstå det korrekt.
Så alt input til databasen, fra nyheder, kalender mv. skal blot foregå på samme måde som jeg normalt har gjort det.
Det er kun når jeg ønsker at vise data'en at jeg skal lade den kører igennem ovenstående kode?
Så hvis jeg laver en kalender funktion på min side må jeg kun benytte mig af TIMESTAMP, hvis denne kalender funktion også skal benytte tidspunkt på dagen?
Ved godt at det er at presse situationen, men er det muligt at jeg kan få dig til at skrive lidt mere begynder venligt? Tror virkelig det her skal skæres ud i pap for mig ;-)
Du skrev i indlæg #3 følgende: 'TIMESTAMP gemmes altid internt i UTC.'.
Det vil altså sige at når jeg skriver følgende kode så gemmes den som UTC?
mysql_query("INSERT INTO `login` (`id`) values ('$ip')"); //Den sætter automatisk et tidspunkt ind i mit 'date' felt under min tabel 'login'. Dette tidspunkt svare dog ikke til UTC? Men derimod dansk tid, hvordan kan dette være? Skyldes dette at jeg har sat hak i 'Standardværdi' -> 'CURRENT_TIMESTAMP'?
Sådan, nu har jeg fundet ud af hvordan jeg får det hele til at gå op i en højere enhen, så hvis du lige smider et svar, så får du dine point? :-) Så smider jeg også lige det smalet svar ud nemlig, så andre kan få glæde af det.
1. Gemmer tid på normalvis ind i databasen, så der ikke er noget forskel om brugeren er logget ind i en klub i USA eller Danmark.
2. Når brugeren logger ind i den pågældende klub, bliver der fra databasen langt den pågældende tidszone (+1, +4 mv.) ned i følgende $_SESSION['cccbookingtimezonevalue'] - afhængig af hvor klubber selvfølgelig er placeret i verden.
3. Når jeg så ønsker at vise en nyhed fra databasen, herunder hvornår det er oprettet skriver jeg følgende kode:
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.