---
title: "Call to undefined function som jag har definierat?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/143864-call-to-undefined-function-som-jag-har-definierat"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "m_soderlund"
published: "2006-03-13T15:34:58.000Z"
updated: "2006-03-14T10:32:51.000Z"
replies: 24
views: 818
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/143864-call-to-undefined-function-som-jag-har-definierat"
---

# Call to undefined function som jag har definierat?

_Sida 1 av 2._

## #1 — m_soderlund, 2006-03-13T15:34Z

Får detta felmess: 

> Fatal error: Call to undefined function: () in /cust/ec/ec/httpd.www/articles_php/index.php on line 31

Jag har en funktion i dbconnection.php som jag sen inkluderar på en sida. Funktionen:

```php
function swe_lng($str)
		{
                $str=str_replace( 'å', '&aring;', $str);
                $str=str_replace( 'ä', '&auml;', $str);
                $str=str_replace( 'ö', '&ouml;', $str);
                $str=str_replace( 'Å', '&Aring;', $str);
                $str=str_replace( 'Ä', '&Auml;', $str);
                $str=str_replace( 'Ö', '&Ouml;', $str);
                $str=str_replace( chr(13), '<br />', $str);
                $str = addslashes($str);
            return $str;
		}
```

Så här ser koden ut där jag tänker implementera funktionen:

```php
echo('<p>'.swe_lng($data["artTxt"]).'</p>')
```

Jag får alltså bara error. Vad är felet? tpf!

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

## #2 — nitro2k01, 2006-03-13T15:41Z

Vilken rad är 31? Har du ett ; sist på echo-raden?

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

## #3 — sl0k, 2006-03-13T16:05Z

Om du läser dokumentationen ser du att det inte är tillåtet med variabelfunktioner i echo m.fl

dvs korrekt syntax

```php
echo '<p>'.swe_lng($data["artTxt"]).'</p>';
```

<http://se.php.net/echo>
<http://se.php.net/manual/sv/functions.variable-functions.php>

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

## #4 — Troxy, 2006-03-13T17:24Z

Får se nu, enda skilladen är paranteserna? Vad gör det för skillnad egentligen, har alltid undrat.
I övrigt så undrar jag om det är nödvändigt att ersätta åäö med en egen funktion. Det finns väl redan htmlentities() ?

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

## #5 — sl0k, 2006-03-13T17:44Z

Ja enda skillnaden är parenteserna.. om du läser sidorna jag hänvisade till så står det där. 
echo, print mfl är inte riktiga funktioner utan språkkonstruktorer.

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

## #6 — tydal, 2006-03-13T17:59Z

> **sl0k skrev:**
>
> Om du läser dokumentationen ser du att det inte är tillåtet med variabelfunktioner i echo m.fl

Nu har det nog blivit lite missförstånd här...

"Variabelfunktion" är funktionsanrop med funktionsnamnet i en variabel:

```
<?php
  function testfunktion()
  {
  }
  $var = "testfunktion";
  $var(); // Detta kör funktionen testfunktion().
?>
```

Men eftersom echo mycket riktigt inte är någon funktion så funkar det inte att anropa den på det sättet:

```
<?
  $var = "echo";
  $var(); // Detta funkar inte, eftersom echo inte är en funktion.
?>
```

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

## #7 — tydal, 2006-03-13T18:03Z

> **sl0k skrev:**
>
> Ja enda skillnaden är parenteserna..

Parenteserna gör ingen skillnad i det här fallet. Koden är korrekt såväl med som utan (förutsatt att det saknade semikolonet sätts dit).

Om man hade skickat flera "parametrar" till echo hade man däremot varit tvungen att skippa parenteserna, men i det aktuella exemplet är det ju bara en parameter som skickas, nämligen en sträng, vilket är det normala.

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

## #8 — sl0k, 2006-03-13T21:58Z

oj.. jo missade nog lite där.. var lite stressad 

Aldrig använt mig av echo ( ) själv .. läste lite snabbt på php.net o drog tydligen fel slutsatser..

sry..

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

## #9 — m_soderlund, 2006-03-14T08:37Z

Jag får fortfarande samma felmeddelande. Någon som kan hjälpa? Tack.

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

## #10 — Peeer, 2006-03-14T09:10Z

> **m_soderlund skrev:**
>
> Jag får fortfarande samma felmeddelande. Någon som kan hjälpa? Tack.

Vilken är rad 31 i index.php och varför ska du ersätta å med &aring; osv?

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

## #11 — Melea, 2006-03-14T09:10Z

Vad vill du åstakomma med följande?

```php
$str=str_replace( 'chr(13)','<br />', $str);
```

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

## #12 — m_soderlund, 2006-03-14T09:39Z

Jag ersätter åäö osv till &aring; osv för att göra det lättare för sökmotorer.

Så här ser sidan ut:

```php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<title>Artiklar</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>

<body>

<?php

require("dbconnection.php");
$dbcon=new session($seshid);	

if (empty($_GET["id"])) {

	$query='SELECT id,header,dt FROM tbl_articles ORDER BY id DESC';
	[red][b]$resultat=$dbcon->query($query);[/b][/red]
	$i=0;
	while ($data = $dbcon->get_array($resultat))
	{					
		$i++;
		echo ('<a href="index.php?id='.$data["id"].'">'.sweLng($data["header"]).'</a> ('.$data["dt"].')<br />');
	}
}
if ($_GET["id"]) {

	$query='SELECT id,header,artTxt,dt FROM tbl_articles WHERE id='.$_GET['id'];
	$resultat=$dbcon->query($query);
	[red][b]$i=0;[/b][/red]
	while ($data = $dbcon->get_array($resultat))
	{					
		$i++;
		
		echo('<h2>'.$data["header"].'</h2><p>'.sweLng($data["artTxt"]).'</p><p>('.$data["dt"].')</p>');
	}
}
?>

</body>
</html>
```

Raderna det blir fel på, rad 20 resp. 32 (tidigare rad 31, det är jag som varit inne och ändrat lite i html-koden) är röd och fetmarkerade. De fungerar utmärkt om jag inte använder funktionen sweLng på något av fälten jag skriver ut från databasen.

Vad jag vill göra med sista replace-raden är att ersätta nya rader med \<br /\>.

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

## #13 — Matte, 2006-03-14T09:55Z

Och hur kommer funktionen sweLng() in i skriptet?

Du har inte definierat den i skriptet du visar, och den enda fil du inkluderar är dbconnection.php. Ligger funktionen i dbconnection.php?

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

## #14 — m_soderlund, 2006-03-14T09:58Z

Ja, funktionen ligger i dbconnection.php!

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

## #15 — nitro2k01, 2006-03-14T10:05Z

Är alltså swe_lng och sweLng två olika funktioner? Kolla en gång till så att funktionen har samma namn på alla ställen.

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

## #16 — nitro2k01, 2006-03-14T10:09Z

Finns verkligen metoden query i klassen session?

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

## #17 — Peeer, 2006-03-14T10:11Z

```
$dbcon=new session($seshid);
```

Tycker jag ser konstigt ut. Heter databasklassen session?

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

## #18 — m_soderlund, 2006-03-14T10:12Z

Nej, swe_lng och sweLng är exakt samma funktion. Förlåt för förvirringen! FUnktionen har samma namn på alla ställen.

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

## #19 — Matte, 2006-03-14T10:13Z

Det kanske är lika bra du visar innehållet i dbconnection.php.

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

## #20 — m_soderlund, 2006-03-14T10:14Z

> **Peeer skrev:**
>
> ```
> $dbcon=new session($seshid);
> ```
>
> Tycker jag ser konstigt ut. Heter databasklassen session?

Japp. Det är ett script jag har fått från ett it-företag och modifierat och jag har inte bytt ut klassnamn och sånt.

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

---

Tråden på webben: https://www.webforum.nu/amne/php/143864-call-to-undefined-function-som-jag-har-definierat  
Nästa sida: https://www.webforum.nu/amne/php/143864-call-to-undefined-function-som-jag-har-definierat/page2.md
