Avatar billede gizmo234 Nybegynder
25. januar 2003 - 19:40 Der er 2 kommentarer og
1 løsning

Counter - Hvad er der galt?

Hej.
Jeg vil gerne lave en counter, med cookies, så den ikke tæller hver gang man opdatere....

Jeg har brugt det her:

<?
mysql_connect("localhost","baah","baah");
mysql_select_db("counter");
if(!isset($_COOKIE['counted'])) {
    $var = time()-64800;
    $user_ip = ( !empty($_SERVER['REMOTE_ADDR']) ) ? $_SERVER['REMOTE_ADDR'] : ( ( !empty($HTTP_ENV_VARS['REMOTE_ADDR']) ) ? $HTTP_ENV_VARS['REMOTE_ADDR'] : $REMOTE_ADDR );
    $query = "SELECT * FROM counter WHERE ip = '$user_ip' AND time > " . $var;
   
    $result = mysql_query($query) or die(mysql_error());
    if(mysql_num_rows() == 1) {
        $query = "insert into counter set ip = '" . $user_ip . "', time = " . time();
        mysql_query($query) or die(mysql_error());
        setcookie('counted',1,time()+3600);
    }
}
?>

Og i min database har jeg brugt dette:

CREATE TABLE counter (
  id bigint(20) unsigned NOT NULL auto_increment,
  ip char(15) NOT NULL default '',
  time int(11) NOT NULL default '0',
  PRIMARY KEY  (id)
) TYPE=MyISAM;

Så har jeg brugt det her til at vise tallet...
Men når jeg gør det, skriver den følgende:

Warning: Wrong parameter count for mysql_num_rows() in c:\apache\htdocs\counter.php on line 18

Hvad er der galt?
Hilsen
gizmo234
Avatar billede ohmish Nybegynder
25. januar 2003 - 23:13 #1
prøv at rette til dette:

$result = mysql_query($query) or die(mysql_error());
    if(mysql_num_rows($result) == 1) {
        $query = "insert into counter set ip = '$user_ip', time = 'time()' ";
        mysql_query($query) or die(mysql_error());
        setcookie('counted',1,time()+3600);
Avatar billede gizmo234 Nybegynder
26. januar 2003 - 12:16 #2
Hej igen...
Sejt, nu kommer den ikke med fejlen mere... tusind tak! :)
Men den viser stadig ikke noget....
Det må jo være det her der skal rettes i så:

<?php
$query = "SELECT COUNT(*) FROM counter";
$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_row($result);
$visitors = $row[1];
?>

Er det ikke??
Hilsen
Gizmo234
Avatar billede gizmo234 Nybegynder
26. januar 2003 - 13:11 #3
Hehe, jeg har selv fået det til at virke...
Jeg skrev bare:

<?php
$query = "SELECT COUNT(*) FROM counter";
$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_row($result);
print "$visitors  $row[0]" ;       
?>

Den manglede lige print :)

Tak for din hjælp ohmish, du får dine points! :)
Hilsen
Gizmo234
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester