---
title: "Problem med onlinefunktion"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/38411-problem-med-onlinefunktion"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Viking"
published: "2002-02-25T17:49:20.000Z"
updated: "2002-02-28T14:43:48.000Z"
replies: 10
views: 341
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/38411-problem-med-onlinefunktion"
---

# Problem med onlinefunktion

## #1 — Viking, 2002-02-25T17:49Z

```php
function peopleOnline() {
	if(!empty($HTTP_X_FORWARDED_FOR)) {
		$ip = $HTTP_X_FORWARDED_FOR;
	} elseif(!empty($REMOTE_ADDR)) {
		$ip = $REMOTE_ADDR;
	}

	$old_Time = time() - 300;
	mysql_query("DELETE FROM peopleOnline WHERE time <= '". $old_Time ."'") or die(mysql_error());

	$slct_IP_Query = mysql_Query("SELECT * FROM peopleOnline WHERE ip = '". $ip ."'") or die(mysql_error());
	$num_res_Query = mysql_Num_Rows($slct_IP_Query);
	$current_Time = time();

	if($num_res_Query > 0) {
		mysql_Query("UPDATE peopleOnline SET time = '". $current_Time ."' WHERE ip = '". $ip ."'") or die(mysql_error());
	} else {
		mysql_Query("INSERT INTO peopleOnline VALUES( '". $ip ."', '". $current_Time ."' )") or die(mysql_error());
	}

	$slct_Online_Query = mysql_Query("SELECT * FROM peopleOnline") or die(mysql_error());
	$num_Online_Query = mysql_Num_Rows($slct_Online_Query);

	return $num_Online_Query;
}
```

 

Nån som ser något fel? :)

Jag får inget felmeddelande av något slag, det enda som händer är att det inte fungerar, dvs, den returnerar bara "1" hela tiden :q

Permalänk: https://www.webforum.nu/p/38411

## #2 — Viking, 2002-02-26T16:06Z

no1?

Permalänk: https://www.webforum.nu/p/614362

## #3 — Johannes\P, 2002-02-26T16:18Z

jag kan ju ha fel eftersom jag inte läst igenom koden.. 

men fungerar den inte såhär:

om IP finns som post
....uppdatera posten med ny tid
annars
....lägg till posten

med andra ord: det finns alltid något i tabellen, därför returneras alltid 1 om du/ni sitter och testar scriptet är på samma ip.

Men som sagt, jag kan ju alltid ha fel.
 ;)

Permalänk: https://www.webforum.nu/p/614373

## #4 — Viking, 2002-02-26T17:27Z

Tja, såå dum att jag inte testar från flera IP's är jag inte :e

Permalänk: https://www.webforum.nu/p/614414

## #5 — SPiN, 2002-02-26T20:46Z

Det kan inte vara så illa att resultatet från den första SQL-frågan hänger kvar i variabeln $slct_Online_Query
? Den BÖR ju inte göra det, men man kan aldrig lita på datorer och IT. ;)

Prova alltså att byta namn när du kör den sista SQL-frågan. :)

Permalänk: https://www.webforum.nu/p/614505

## #6 — Viking, 2002-02-26T21:12Z

Nja, de har ju inte samma namn; $num_Online_Query, $slct_IP_Query... Så det borde ju inte vara det...? :)

Permalänk: https://www.webforum.nu/p/614512

## #7 — SPiN, 2002-02-26T21:40Z

Det har du iofs rätt i, men man vet ju aldrig. :e ;)

Permalänk: https://www.webforum.nu/p/614529

## #8 — Kim, 2002-02-26T21:50Z

Jag kan ju ha fel, men är PHP verkligen "case insensitive" i funktionsnamn? T.ex. står det mysql_Query()  och inte mysql_query() .

Testa att bara använda små bokstäver. Eller hur fungerar det?

Permalänk: https://www.webforum.nu/p/614534

## #9 — SPiN, 2002-02-27T10:13Z

PHP är case sensitive på användardefinierade variabler och funktioner har jag för mig, så mySQL_quERY() kan man skriva, men han borde inte kunna skriva POPLeonLine() när han anropar sin funktion.

Inte säker, men jag tror att det är så. :)

Permalänk: https://www.webforum.nu/p/614712

## #10 — Viking, 2002-02-27T15:04Z

Hum, det returnerar ju ett resultat, så det borde inte vara problemet... :)

Permalänk: https://www.webforum.nu/p/614838

## #11 — Viking, 2002-02-28T14:43Z

Jag gissar att felet sitter här:

\[kod\]$old_Time = time() - 300;
mysql_query("DELETE FROM peopleOnline WHERE time \<= '". $old_Time ."'") or die(mysql_error());\[/kod

Permalänk: https://www.webforum.nu/p/615332

---

Tråden på webben: https://www.webforum.nu/amne/php/38411-problem-med-onlinefunktion
