---
title: "Olika värden för samma funktionsanrop?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/114067-olika-värden-för-samma-funktionsanrop"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "aasah"
published: "2004-10-21T10:57:19.000Z"
updated: "2004-10-21T19:12:14.000Z"
replies: 1
views: 231
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/114067-olika-värden-för-samma-funktionsanrop"
---

# Olika värden för samma funktionsanrop?

## #1 — aasah, 2004-10-21T10:57Z

I min login-fil sätter jag två sessionsvariabler för alla inloggade. Därefter anropar jag en funktion, countLogin, som sätter en tredje *counted*. Därefter skickar jag ut ett meddelande som talar om att man är inloggad och i debuggsyfte även värdet på $\_SESSION\['counted'\]:

> **login.php skrev:**
>
> Successfully logged in! 1

Eftersom "1" är ett lindrigt sagt förvånande värde, så lägger jag in lite spårutskrifter i min count.php där funktionen countLogin finns. Sedan anropar jag funktionen i fråga direkt från count.php, detta resulterar plötsligt i (korrekta):

> session = 1024

???? VARFÖR får jag ett värde när jag anropar funktionen från login och ett annat från count?
Koden:

```php
//Från login.php vid inloggning
if (mysql_num_rows($resGrant) == 1) {
      $_SESSION["sID"] = $sid;
      $_SESSION["sIP"] = getenv("REMOTE_ADDR");
      countLogin();   //Körs utan debugmode
      reportGoodNewsTo();
   }

function reportGoodNewsTo() {
   //diverse just nu ointressanta koller
   else header("Location: message.php?mess=Successfully logged in! ".
   $_SESSION["counted"]);
}

//Från count.php
//debugmode är avkommenterat vid anrop från login pga header strul.
function countLogin() {

   global $id;
   
   if (!admin()) {
      //Räkna sidan - men jag är admin
   }
   $_SESSION['counted'] = findBit('login'); 
   echo "<BR>session = ".$_SESSION['counted']."<BR>";       //Debugmode 
}
//Debugmode
include_once("/home/aasah/www/header.php");

//Ger bl.a. login => 1024
foreach ($id as $page => $nr){
  printCSS();
  echo "findBit(".$page.") = ".findBit($page); 
}
countLogin();
```

 Det enda jag tycker skiljer anrop från login från anrop från count är diverse echon i count. Och eftersom header-info sticker iväg från login **efter** anropet till countLogin() kan jag inte ha dom där när login körs...  :x

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

## #2 — aasah, 2004-10-21T19:12Z

Åtskilligt felsökande senare...

Visade sig bero på något som inte syns ovan. :( Nämligen att jag hade en include_once av count.php inuti funktionen login(). Det fungerar tydligen inte...

Sensmoral: Man kan ha include-filer varsomhelst, bara inte i funktioner....

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

---

Tråden på webben: https://www.webforum.nu/amne/php/114067-olika-värden-för-samma-funktionsanrop
