Tjekke om dato er over 1 døgn gammel.

Tags:    php

Hej,

Er dette en løsning som kunne virke, med tjek fra både profilejer og setaf.

Fold kodeboks ind/udPHP kode 


profilejer er den bruger man lurer på.
setaf er den bruger som besøger en profil. Gæsten der besøger en profil.

dato = d-m-Y H:i ( dag-måned-År time/minut ).
endtime = ligeledes som dato, bare + 1 døgn (24 lagt oveni).

Skal have den til at tjekke om setaf = $_SESSION[brugernavn] har besøgt samme profilejer indenfor 1 døgn. Hvis ja, skal den intet gør. Hvis nej, skal den handle med INTO.

Men det er det med at tjekke om session[brugernavn] har besøgt profilejer indenfor 1 døgn der er mit problem.

Der er også et problem, hvis jeg ændre dato og endtime på en profilejer jeg har besøgt, eks: dato: 20-11 og endtime: 21-11 med 2012 og tid selvfølgelig. Så tæller den hele tiden. Det gjorde den ikke før. Så det er også et problem.

Hvis denne løsning skal koste penge - så kontakt mig via posten. Så må vi finde en fornuftig pris.



Indlæg senest redigeret d. 21.11.2012 19:58 af Bruger #17369
4 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Du kan ikke match strenge på den måde du gør. En streng er ikke en tællelig værdi, og PHP omdanner ikke en streng med et datomærke til noget noget tælleligt.

Enten skal du have fat i datediff i MySQL http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_datediff, DateTime::diff i PHP http://www.php.net/manual/en/datetime.diff.php eller omdanne datomærkerne til et unix timestamp (en talværdi på 10+ tegn).

Sidstnævnte kan gøres ved:
Fold kodeboks ind/udKode 





Der er fejl i dit, kan ikke se hvor - da min php.ini ikke udmelder dette.


har du slået error_reporting til ??

set dette
Fold kodeboks ind/udKode 

ind i toppen af din PHP fil.
man bør altid under udvikling vise alle detaljeret fejl beskeder, og rette dem, og i produktions miljø skjule så mange detaljer som muligt (detaljerne kan være kræs for kedelige elementer).


Michael's code var Pseudocode, og manglede nogle semicollon´s, de manglende semicollon´s indsat

(utested)
Fold kodeboks ind/udKode 




Har prøvet at tænke lidt igen.
Og nu fundet frem til følgende:
$idag = date("d-m-Y H:i:s");
if($visset['endtime'] <= "".$idag.""):

Men ved ikke om det er korrekt - syntes lige nu den sletter:

profilejer + setaf i den tabel. Som jeg nu vil lege med.
Hvor den så skal counte i en ny tabel. i DB. Så den husker i count. Men i besøg skal den slette forrige og indsætte ny efter 1 døgn.

Vil lige lave det med count, og se derfra om det fungere som det skal.

//
Rettet:
Nu indsætter den i profilbesoeg_count
Og i profilen tæller den med _count
Og i tjek, tjekker den med profilbesoeg med setaf og tid+idag.

Når tiden ikke er opnået til 1 døgn, sker der intet med det. Men ændre jeg det, så den går over 1 døgn - counter den mig igen, hvor den sletter forrige i profilbesoeg_count og indsætter ny INTO med dato.
Så virker hvis nu. Ellers skriver jeg igen.

Beklager ulejligheden.



Indlæg senest redigeret d. 21.11.2012 20:48 af Bruger #17369
Der er fejl i dit, kan ikke se hvor - da min php.ini ikke udmelder dette.



t