webForumDet fria alternativet

Call to undefined function som jag har definierat?

24 svar · 808 visningar · startad av m_soderlund · sida 2 av 2

m_soderlundMedlem sedan sep. 20026 425 inlägg
#21

dbconnection.php

<?php
	class session
	{

	var $host = "localhost";
	var $user = "ec";
	var $pass = "pass";
	var $db = "ec";
	var $linkid;
	var $seshid;
	var $userid;
	var $query;
	var $err;

		function session($localSeshID, $localUserID=0)
		{
		$this->seshid=$localSeshID;
		$this->userid=$localUserID;

		// Anslut till mysql
		$this->linkid=mysql_connect($this->host,$this->user,$this->pass);

		//Välj databas
		$result=mysql_select_db($this->db,$this->linkid);
		}
		
		//Skicka ett query till mysql
		function query($query)
		{
			$this->resultat = mysql_query($query, $this->linkid);
			return $this->resultat;
		}
		//Hämta information från resultatet och spara i en array
		function get_array()
		{
			return mysql_fetch_array($this->resultat);
		}

		function get_rows()
		{
			return mysql_num_rows($this->resultat);
		}

		//funktion för svenska tecken och radbrytningar
        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;
		}
		
		
		}
?>

Lägger jag funktionen swe_lng i samma sida som index.php så fungerar funktionen, däremot inte när jag har funktionen i enbart dbconnection.php och inkluderar den på index.php.

PeeerMedlem sedan mars 20025 907 inlägg
#22

Det beror på att funktionen ligger i en klass. Du måste anropa den genom ditt objekt. Dvs $dbcon->swe_Lng()

Tycker dock att det är konstigt att du får fel på

$resultat=$dbcon->query($query);

Den raden har väl ingenting med den funktionen att göra?

sl0kMedlem sedan maj 2005562 inlägg
#23

eftersom swe_lng() är en klassmetod borde den väl anropas med
session::swe_lng()

lr om du har en instans av klassen med
$dbcon->swe_lng();

/red
Peeer hann visst före

nitro2k01Medlem sedan aug. 20039 342 inlägg
#24

Är det där dbconnection.php? Pardon my dumbness, men jag hittar fortfarande inte sweLng någonstans. Jag tycker du ska byta ut sweLng($data["header"]) mot $dbcon->swe_lng($data["header"]) och se vad som händer.

m_soderlundMedlem sedan sep. 20026 425 inlägg
#25

Helt underbart, tre korrekta svar. Nu vet jag hur man anropar en funktion från en klass! Tack så über-mkt för hjälpen vänner! (y)

126 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)