Hvorfor virker dette ikke

Tags:    php

User
Bruger #985 @ 30.03.04 11:10
Hey

nu har jeg kigget min koden igemmen i snart en time og kan ikke finde nogle fejl men det virker stadigvæk ikke her er koden


Fold kodeboks ind/udKode 



Håber nogel kan hjælpe





36 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato

You have an error in your SQL syntax near 'dato='2004-03-31 13:42:08' WHERE ip='212.10.48.43'' at line 1



Hmmm....er du sikker på dit datofelt i tabellen er af typen DATETIME!? -jeg begynder at mistænke, at det er DATE eller TIMESTAMP....tjek det lige...

Til dit script SKAL feltet 'dato' i tabellen være af typen DATETIME.



User
Bruger #985 @ 31.03.04 14:09

You have an error in your SQL syntax near 'dato='2004-03-31 13:42:08' WHERE ip='212.10.48.43'' at line 1



Hmmm....er du sikker på dit datofelt i tabellen er af typen DATETIME!? -jeg begynder at mistænke, at det er DATE eller TIMESTAMP....tjek det lige...

Til dit script SKAL feltet 'dato' i tabellen være af typen DATETIME.



Jeg havde glemt det så den stod som varchar men det hjælp ikke

You have an error in your SQL syntax near 'dato='2004-03-31 14:08:21' WHERE ip='212.10.48.43'' at line 1



Ok, nu er vi der næsten. Så tror jeg kun vi mangler et komma for at være i mål.

Erstat følgende:

mysql_query("UPDATE counter SET hits=(hits + 1) dato='$dato1' WHERE ip='$ip'") or die (mysql_error());

Med nedenstående:

mysql_query("UPDATE counter SET hits=(hits + 1), dato='$dato1' WHERE ip='$ip'") or die (mysql_error());


Venlig hilsen
Jon Krondal Honum




User
Bruger #985 @ 31.03.04 16:04
Ok, nu er vi der næsten. Så tror jeg kun vi mangler et komma for at være i mål.

Erstat følgende:

mysql_query("UPDATE counter SET hits=(hits + 1) dato='$dato1' WHERE ip='$ip'") or die (mysql_error());

Med nedenstående:

mysql_query("UPDATE counter SET hits=(hits + 1), dato='$dato1' WHERE ip='$ip'") or die (mysql_error());


Venlig hilsen
Jon Krondal Honum



Så var vi der nu virker det men ikke helt den ligger tæller en hver gang siden man trykker på 5f kan man ikke lave sådan at den kun kan ligge et til en gang man dagen ved hver ip





I dag gør du følgende:

1. Du tjekker om ip-adressen er kendt, og hvis den er det, så tæller du 1 op og opdaterer dato for ip-adressen i databasen.

2. Er ip-adressen ikke kendt, så tilføjer du den med '1' i tæller, og datoen i dag.

Altså tælles der altid 1 op! Hvis de kun må tælle 1 gang per dag, så mangler du et tredje tjek:

3. Hvis ip-adressen er kendt i databasen, og allerede står med en tæller i dag (dato feltet = $dato1), så skal der ikke opdateres i databasen, for så har den allerede talt 1 gang i dag.

Hilsen Jon



User
Bruger #985 @ 31.03.04 20:24
I dag gør du følgende:

1. Du tjekker om ip-adressen er kendt, og hvis den er det, så tæller du 1 op og opdaterer dato for ip-adressen i databasen.

2. Er ip-adressen ikke kendt, så tilføjer du den med '1' i tæller, og datoen i dag.

Altså tælles der altid 1 op! Hvis de kun må tælle 1 gang per dag, så mangler du et tredje tjek:

3. Hvis ip-adressen er kendt i databasen, og allerede står med en tæller i dag (dato feltet = $dato1), så skal der ikke opdateres i databasen, for så har den allerede talt 1 gang i dag.

Hilsen Jon


Jeg tror ikke vi forstår hinanden, jeg godt vil havde er at første gang bruger kommer ind på siden ligges der et til men kommer han så fed andre gang i løben af dagen skal der ikke ske noget




Jeg tror ikke vi forstår hinanden, jeg godt vil havde er at første gang bruger kommer ind på siden ligges der et til men kommer han så fed andre gang i løben af dagen skal der ikke ske noget


Lige nøjagtig....men kommer brugeren igen dagen efter, så skal den tælle en gang igen ikke sandt? -i så fald, så er det lige netop det jeg har beskrevet!

Hilsen Jon



User
Bruger #985 @ 01.04.04 13:26
Jeg tror ikke vi forstår hinanden, jeg godt vil havde er at første gang bruger kommer ind på siden ligges der et til men kommer han så fed andre gang i løben af dagen skal der ikke ske noget


Lige nøjagtig....men kommer brugeren igen dagen efter, så skal den tælle en gang igen ikke sandt? -i så fald, så er det lige netop det jeg har beskrevet!

Hilsen Jon



Ja okay det er sådan sorry men hvordan laver jeg lige for den skal jo tjekke dato og ip på sammen tid

jeg skal nok ligge nogle flere point i det




User
Bruger #985 @ 01.04.04 15:22
Ja okay det er sådan sorry men hvordan laver jeg lige for den skal jo tjekke dato og ip på sammen tid

jeg skal nok ligge nogle flere point i det


Jeg har godt nok ikke noget PHP/MySQL miljø hvor jeg sidder lige nu, så jeg har ikke kunne teste, men prøv nedenstående tilrettede script:

Fold kodeboks ind/udKode 


Hilsen Jon


Det hjælp ikke noget den tæller endnu selv om jeg har været der en gang




Det hjælp ikke noget den tæller endnu selv om jeg har været der en gang


Prøv lige at tilføj nedenstående i linjerne før "if (!$r['kun_dato'] == $dato2)" :

echo('kun_dato: ' . $r['kun_dato'] . '<br>');
echo('dato2: ' . $dato2 . '<br>');


Bare lige for at finde ud af, hvad det er for to værdier vi sammenligner :)

Hilsen Jon



t