---
title: "sessions och mysql..."
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/66913-sessions-och-mysql"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "mahedel"
published: "2003-02-02T02:20:24.000Z"
updated: "2003-02-04T23:02:11.000Z"
replies: 22
views: 474
page: 1
pages: 2
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/66913-sessions-och-mysql"
---

# sessions och mysql...

_Sida 1 av 2._

## #1 — mahedel, 2003-02-02T02:20Z

Kika på detta inlägg: <http://www.webforum.nu/showthread.php?s=&threadid=15386#post94709>

det funkar jättebra men jag vill ha satt när $ActiveAt går ut... så ska den uppdatera en tabell i en databas....

/MVH Martin

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

## #2 — Fuel, 2003-02-03T07:36Z

Jag har kört detta tidigare..

session_start();
if ($\_SESSION\['active'\] && time()-$\_SESSION\['active'\] \> 600) {
	$active=time();
    header("location: /logout.php?reason=timeissup");
    exit;
}

sen när du kommer till logout.php kan du ju uppdatera databsaen

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

## #3 — mahedel, 2003-02-03T07:39Z

TACK!

ska testa den sedan..

vet du även hur man kan göra satt den ändrar en viss tabell när en besökare bara stänger browsern eller surfar till en annan sida utan att trycka på logout..... ??

/MVH Martin

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

## #4 — Fuel, 2003-02-03T07:43Z

antingen kör du ett cron job eller då startsidan som uppdaterar databasen genom att kolla tiden på den inloggade och ta bort de som har passerat en viss gräns så kan du printa ut hur många / vilka som är inloggade . .för det är troligen det du är ute efter ? :)

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

## #5 — mahedel, 2003-02-03T07:45Z

hej igen...

hur kan en funktion se ut för att... startsidan ska uppdaterara databasen genom att kolla tiden på den inloggade och ta bort de som har passerat en viss gräns...

/Martin

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

## #6 — Fuel, 2003-02-03T07:54Z

nu snabb kladdar jag lite ( har bråttom iväg ) hopas du kan få några idéer :D

$prutt = $active - 600;
    $you = mysql_query("SELECT id,time FROM users WHERE id = '".$\_SESSION\['user_id'\]."' AND time \< '$prutt'") or die ("DB Error!");

    if (!mysql_num_rows($you) \< 1) { 
        header("Location: /logout.php?reason=mahedelhasleftthebuilding");
        exit;
    }

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

## #7 — mahedel, 2003-02-03T07:55Z

tack...

det var något sådant jag had etänkt mig.. ska också iväg nu och praktisera...

höres..

/MVH Martin

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

## #8 — Fuel, 2003-02-03T08:15Z

nej . .nu yrade jag i natt / morgon mössan.. x(
 $you = mysql_query("DELETE FROM users WHERE time \< '$prutt'") or die ("DB Error!");

sen printar du ut de som är inne / har giltig time

så ska det va.. 

phhfft.. har suttit vid burken 10 timmar nu.. börjar få synfel   :r

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

## #9 — mahedel, 2003-02-03T09:22Z

hej igen...

Blir fel i rad 10:

Warning: Supplied argument is not a valid MySQL result resource in /home/www/bajs/komjunity/online.php on line 10

```
if (!mysql_num_rows($you) < 1) {
```

har försökt testa lite men...
/Martin

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

## #10 — Broms, 2003-02-03T09:25Z

farligt.. ^^

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

## #11 — mahedel, 2003-02-03T09:26Z

hmm..

vad är farligt??

/Martin

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

## #12 — mahedel, 2003-02-03T22:02Z

hmm...

funktionen för denna sida är att den ska kolla om användarna i databasen har varit inne och sen bara stängt av browsern alltså sidan ska hämta hem alla värden från användare som inte har varit aktiva under 600 sekunder i tabellen varns namn på kolumnen är: "active"... och sen kolla om 600 sekunder har passerat... då ska den sätta tabellen online till 0 fast den förflyttar inte ens sidan...

denna rad verkar fel.... Warning: Supplied argument is not a valid MySQL result resource in /home/www/bajs/komjunity/online.php on line 10

```php
if (!mysql_num_rows($you) < 1) {
```

har testat att ändra på rad 10 men blir inte som jag vill... hjälp tack..

här finns sidan för att kolla hur den ser ut: <http://mahedel.mine.nu/komjunity/online.php>

```php
<?
require("db.php");

mysql_pconnect("localhost","$dbu","$dbp");
mysql_select_db("filip");

$prutt = $active - 20;
$you = mysql_query("UPDATE mingla SET online='0' WHERE status < '$prutt'") or die ("DB Error!");

if (!mysql_num_rows($you) < 1) {
header("Location: loggaut.php?reason=mahedelhasleftthebuilding");
exit;
}
?>
```

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

## #13 — Alpha II, 2003-02-04T16:29Z

nicclas kod är väl inte speciellt säker?! :O om man skriver secter2.php4?ActiveAt=\[timestamp\] så lär man väl se sidan?

Vad jag såg använde han inte $\_SESSION\["ActiveAt"\]!

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

## #14 — mahedel, 2003-02-04T16:55Z

den kanske inte är säker men jag kör....

den kanske inte är så säker men jag kör en require längst upp i alla mina filer som ser ut på detta sätt... (den kontaktar en mysql databas, sen så kollar den om det är rätt login och pass... vattentätt tycker jag... vad tycker ni?):

```php
<?
      @$user = $login_user;
      @$pass = $login_pass;
require("db.php");
     if(!$user) {

         echo("<script language=JavaScript>");
         echo("self.location.replace('index.html')");
         echo("</script>");

      }

      $useropen = mysql_connect("localhost", "$dbu", "$dbp");

      $userinfo = mysql_db_query("filip", "SELECT * FROM mingla WHERE username = '$user'", $useropen);

      $rad = mysql_fetch_array($userinfo);

         if($user == $rad["username"] & $pass == $rad["password"])
?>

<?

if(!$pass) {

         echo("<script language=JavaScript>");
         echo("self.location.replace('index.html')");
         echo("</script>");

      }

      $passopen = mysql_connect("localhost", "$dbu", "$dbp");

      $passinfo = mysql_db_query("filip", "SELECT * FROM mingla WHERE password = '$pass'", $passopen);

      $rad = mysql_fetch_array($passinfo);

         if($user == $rad["username"] & $pass == $rad["password"])
?>
```

/Martin

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

## #15 — Alpha II, 2003-02-04T17:53Z

1\. Varför öppnar du inte db'n i filen db.php?
2\. Varför skapar du en varibel till db'n? Om du bara använder en så behöver du inte göra det!
3\.
         echo("\<script language=JavaScript\>");
         echo("self.location.replace('index.html')");
         echo("\</script\>");

skriv Header("Location: index.html") istället!
4\. varför skapar du nya variabler med samma innehåll som $login_user och $login_pass? Vad betyder de där @ tecknen? Sparas de som sessions? Använd isf $\_SESSION\["namne"\], har doch ingen naing om vad de där @-tecknen betyder. Kanske pg att jag inte gjort något i php på ett år!
5\. Onödigt att göra en fetch_array, använd mysql_num_rows och se om det fanns några poster istället! SÅ ,åtse du förståss kontrollera både username och passwd i queryn.
6\. hur kommer det sig att du skriver en ?\> och direkt efter skriver en \<? ?
7\. Otroligt onödigt 2 st databas connections.

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

## #16 — Alpha II, 2003-02-04T17:58Z

Lite kod (gör samma sak som din kod)

```
<?

	// Lägg detta i db.php ****
	mysql_connect("localhost","xxx","xxx");
	mysql_select_db("min_db");
        // ***********************

	$num = mysql_num_rows(mysql_query("SELECT * FROM table WHERE user = '$user' AND password = PASSWORD('$password')"));

	if !$num
	{
		// INTE INLOGGAD
		Header("Location: Index.php");
	}

	// ANNARS INLOGGAD!

?>
```

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

## #17 — mahedel, 2003-02-04T18:04Z

tjo...

**egentligen var detta som jag ville ha svar på...**

> **mahedel skrev:**
>
> funktionen för denna sida är att den ska kolla om användarna i databasen har varit inne och sen bara stängt av browsern alltså sidan ska hämta hem alla värden från användare som inte har varit aktiva under 600 sekunder i tabellen varns namn på kolumnen är: "active"... och sen kolla om 600 sekunder har passerat... då ska den sätta tabellen online till 0 fast den förflyttar inte ens sidan...
> 
> denna rad verkar fel.... Warning: Supplied argument is not a valid MySQL result resource in /home/www/bajs/komjunity/online.php on line 10
>
>
> ```php
> if (!mysql_num_rows($you) < 1) {
> ```
>
> 
> 
> har testat att ändra på rad 10 men blir inte som jag vill... hjälp tack..
> 
> här finns sidan för att kolla hur den ser ut: <http://mahedel.mine.nu/komjunity/online.php>
> 
>
>
> ```php
> <?
> require("db.php");
> 
> mysql_pconnect("localhost","$dbu","$dbp");
> mysql_select_db("filip");
> 
> $prutt = $active - 20;
> $you = mysql_query("UPDATE mingla SET online='0' WHERE status < '$prutt'") or die ("DB Error!");
> 
> if (!mysql_num_rows($you) < 1) {
> header("Location: loggaut.php?reason=mahedelhasleftthebuilding");
> exit;
> }
> ?>
> ```

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

## #18 — Alpha II, 2003-02-04T19:20Z

Ska alla som inte har varit aktiva de senaste 10 minuterna bli ut kastade? Eller bara just denna person?

Så här kanske?

```php
<?

	// Lägg detta i db.php ****
	mysql_connect("localhost","xxx","xxx");
	mysql_select_db("min_db");
        // ***********************

	$result = mysql_query("SELECT * FROM table WHERE  online = '1' AND user = '$user' AND password = PASSWORD('$password')") or die ("Fel #" . mysql_errno() . ": " . mysql_error());;
	$num = mysql_num_rows(result);

	if !$num
	{
		// INTE INLOGGAD
		Header("Location: Index.php");
	}

	$data = mysql_fetch_array(result);

	if $data["ActiveAt"] < time() - 600
	{
		mysql_query("UPDATE mingla SET online='0' WHERE user = '$user'") or die ("Fel #" . mysql_errno() . ": " . mysql_error());

	}
	

?>
```

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

## #19 — mahedel, 2003-02-04T19:30Z

hmm..

Alla som inte har varit aktiva de senaste 10 minuterna ska bli utkastade...

Jag har redan en funktion som kickar ut en användare som inte varit aktiv under 10 minuter....

```php
<?
@session_start();
if ($_SESSION['active'] && time()-$_SESSION['active'] > 600) {
$active=time();
header("location: /logout.php?reason=timeissup");
exit;
}
?>

hehe

<?echo$active?>
```

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

## #20 — Alpha II, 2003-02-04T19:58Z

Men vad r det då du vill ha hjälp med? :l

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

---

Tråden på webben: https://www.webforum.nu/amne/php/66913-sessions-och-mysql  
Nästa sida: https://www.webforum.nu/amne/php/66913-sessions-och-mysql/page2.md
