---
title: "Kört fast med funktion i samband med include"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/134964-kört-fast-med-funktion-i-samband-med-include"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Helmertz"
published: "2005-09-28T21:25:23.000Z"
updated: "2005-09-29T11:28:35.000Z"
replies: 12
views: 384
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/134964-kört-fast-med-funktion-i-samband-med-include"
---

# Kört fast med funktion i samband med include

## #1 — Helmertz, 2005-09-28T21:25Z

Hej!
Nu är klockan mycket, idag igen.. ;)

Jag inleder en php-sida med två stycken includes efter varandra, de angivs med absolut sökväg och det enda som skiljer är filnamnet. Båda avslutas korrekt med citattecken, parantes och semikolon.

Saken är att filen med HTML-kod inkluderas snyggt och prydligt men när min "functions.php" (endast innehållandes funktioner i stil med nedan nämnda) inkluderas och en funktion sedan anropas med *funktionensNamn* får jag felmeddelandet 

```
Fatal error: Call to undefined function: firstnews() in /home/virtual/helmertz.com/public_html/index.php on line 5
```

Så här kan en funktion se ut:

```php
function firstNews(){
  $sql = mysql_query("SELECT * FROM nyheter ORDER BY nyhet_id DESC LIMIT 1");
  print '<div id="firstNews">'."\n";
  while($z = mysql_fetch_assoc($sql)){
    echo '<h1>' . $z['nyhet_titel'] . ' <span class="date">| '.$z['nyhet_datum'].'</span></h1>'."\n";
    echo $z['nyhet_text']."\n";
    echo '<p>&#149; <a href="/log/'.$z['nyhet_id'].'"> Läs hela inlägget / kommentera</a></p>'."\n";
  }
  print "</div>\n";
}
```

Vad gör jag fel? Är det något som ska vara globalt men inte är det? Har jag glömt något väldigt basic? (det känns så!)

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

## #2 — fiddler, 2005-09-28T21:35Z

Nu blev jag osäker, men har det stora N:et betydelse?

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

## #3 — Helmertz, 2005-09-28T21:48Z

Mysteriet tätnar: funktionen anropas faktiskt med *firstNews();*

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

## #4 — fiddler, 2005-09-28T22:12Z

Fungerar funktionen som den ska om du skriver in den direkt på sidan?

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

## #5 — Helmertz, 2005-09-29T10:09Z

> **fiddler skrev:**
>
> Fungerar funktionen som den ska om du skriver in den direkt på sidan?

Yes.

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

## #6 — fiddler, 2005-09-29T10:13Z

Har du testat med en relativ sökväg?

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

## #7 — Helmertz, 2005-09-29T10:16Z

I och med att jag har två filer som inkluderas precis under varandra och den ena fungerar kan det nog inte vara det (ordningen spelar ingen roll, ändrar jag blir det samma resultat).

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

## #8 — Helmertz, 2005-09-29T10:18Z

> **fiddler skrev:**
>
> Har du testat med en relativ sökväg?

Oj, tänkte att jag skulle spara tid och svara innan jag testade men du hade faktiskt rätt!

Varför fungerar den ena inkluderingsfilen men inte den andra med abs. sökväg?! Och hur undviker jag att behöva skriva relativ sökväg i alla mina filer? :)

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

## #9 — fiddler, 2005-09-29T10:25Z

Jag antar att det blir detsamma som om du försöker öppna filerna i en webbläsare. Html-filen skrivs ut men php-filen skriver ingenting.

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

## #10 — Helmertz, 2005-09-29T10:31Z

> **fiddler skrev:**
>
> Jag antar att det blir detsamma som om du försöker öppna filerna i en webbläsare. Html-filen skrivs ut men php-filen skriver ingenting.

Det stämmer, men php-filen innehåller bara funktioner och så länge de inte anropas skriver de ju inte ut någonting. Lägger jag till *firstNews();* i min fil med funktioner så skrivs den ut korrekt (om det nu skulle spela någon roll).

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

## #11 — fiddler, 2005-09-29T10:55Z

Bra att du fick det att fungera! Du slipper nog dessvärre inte ifrån att ändra dina absoluta sökvägar.

Att include inte "ser" koden vid absoluta sökvägar kan vi vara glada för. Tänk vilken säkerhetsrisk det skulle vara. Du skulle kunna komma runt det genom att döpa om php-filen till något annat, men det vore nog inte så smart.

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

## #12 — GunnarD, 2005-09-29T11:12Z

Ett enkelt sätt för att slippa hålla reda på var dokumentrooten är och så att man kan ge relativa sökvägar mot dokumentrooten oavset var den är är att skriva följande:

```php
include($_SERVER['DOCUMENT_ROOT']."/moduler/nyheter.php");
```

Ett annat vanligt fel är att man glömer gå över i php läge igen i filen man gör include på.

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

## #13 — Helmertz, 2005-09-29T11:28Z

> **fiddler skrev:**
>
> Att include inte "ser" koden vid absoluta sökvägar kan vi vara glada för. Tänk vilken säkerhetsrisk det skulle vara. Du skulle kunna komma runt det genom att döpa om php-filen till något annat, men det vore nog inte så smart.

Det har du rätt i!

> **GunnarD skrev:**
>
> ```php
> include($_SERVER['DOCUMENT_ROOT']."/moduler/nyheter.php");
> ```

Den koden fungerar utmärkt!

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

---

Tråden på webben: https://www.webforum.nu/amne/php/134964-kört-fast-med-funktion-i-samband-med-include
