warinig et erreur je n'arrive pas à voir pkoi

Eléphant du PHP | 288 Messages

25 juil. 2006, 20:04

Bonjour et merci d'avance pour ceux qui prendront la peine de regarder.

J'ai une classe appelée fonction. J'ai ce warning qui revient tout le temps et je n'arrive pas à voir pkoi.
Warning: Unexpected character in input: ' in /home/blabla/www/blabla/fonction.php on line 68
. Cet wraning revient souvent et quand je refresh la page deux ou trois fois elle disparait. La j'ai cette erreur qui vient d'apparaitre aussi
Parse error: parse error, unexpected T_ELSEIF, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /home/blabla/www/blabla/fonction.php on line 73
Je rafraichie la page et elle disparait aussi. :evil:

Voila le code
<?php
include "iptest.php";
include "connection.inc";

class fonction
{

	function fonction()
	{
	
	}
	
	function bonPrix($product)
	{
		
		$con = new connection("gourmedas");
		$fonc = new fonction();
		$devise = "";
		$tab_europe = array("GERMANY", "AUSTRIA", "BELGIUM", "SPAIN", "FINLAND", "FRANCE", "IRELAND", "ITALY", "LUXEMBOURG", "PORTUGAL", "NETHERLANDS", "GREECE");
		
		$name = $fonc->NameFromIp();
		
		if(strcmp($name,"CANADA")==0)
		{	
			$requete = "select priceCanadien from Products where productName = '$product'";
			$devise = "CAD";
			
		}
		elseif(in_array($name,$tab_europe))
		{
			$requete = "select priceEuro from Products where productName = '$product'";
			$devise = "EURO";
		}
		else
		{
			$requete = "select priceUs from Products where productName = '$product'";
			$devise = "USD";
		}
		
		
		$resultat = $con->execute($requete);
		list($prix) = mysql_fetch_row($resultat);
		return $prix." ".$devise;
		
	}//fin function
	
	function NameFromIp()
	{
	
		$ip = new iptest();
		$name = $ip->getCountry();
		return $name;
	}
	
	function languageByIp()
	{
		$fonc = new fonction();
		$name = $fonc->NameFromIp();
		$tab_langue = array();
		
		if(strcmp($name,"CANADA")==0)
		{	
			$langue = "français";
			array_push($tab_langue,"english",$langue);
			return $tab_langue;		
		}
		elseif(strcmp($name,"FRANCE")==0)
		// VOILA LA LIGNE 68
               {
			$langue = "français";
			array_push($tab_langue,$langue);
			return $tab_langue;	
		}
		elseif(strcmp($name,"GERMANY") == 0)
		{
			array_push($tab_langue,"german");
			return $tab_langue;	
			
		}
		elseif(strcmp($name,"ITALY") == 0)
		{
			array_push($tab_langue,"italian");
			return $tab_langue;	
			
		}
		elseif(strcmp($name,"SPAIN") == 0)
		{
			array_push($tab_langue,"spanish");
			return $tab_langue;	
			
		}
		else
		{
			array_push($tab_langue,"english");
			return $tab_langue;
			
		}
		
	
	} 
	
	function getMenu($langue)
	{
		$tab = array();
		$con = new connection("gourmedas");
		$sql = "SELECT * FROM Menu WHERE language = '$langue'";
		$resultat = $con->execute($sql);
		if (mysql_num_rows($resultat) != 0)
		{
			$ligne = mysql_fetch_object($resultat);
			array_push($tab, $ligne->menu1, $ligne->menu2, $ligne->menu3, $ligne->menu4, $ligne->menu5, $ligne->menu6, $ligne->menu7, $ligne->menu8);
		}
		return $tab;
	}
	
	function getSubMenu($langue)
	{
		$tab = array();
		$con = new connection("gourmedas");
		$sql = "SELECT * FROM Menu WHERE language = '$langue'";
		$resultat = $con->execute($sql);
		if (mysql_num_rows($resultat) != 0)
		{
			$ligne = mysql_fetch_object($resultat);
			array_push($tab, $ligne->submenu1, $ligne->submenu2, $ligne->submenu3, $ligne->submenu4, $ligne->submenu5, $ligne->submenu6, $ligne->submenu7, $ligne->submenu8);
		}
		return $tab;
	}
	
	function getGroupeCake($langue)
	{
		$tab = array();
		$con = new connection("gourmedas");
		$sql = "SELECT * FROM Cakes";
		$resultat = $con->execute($sql);
		if (mysql_num_rows($resultat) != 0)
		{
			while($ligne = mysql_fetch_object($resultat))
			array_push($tab,$ligne->$langue);
		}		
		return $tab;
	}
	
	function getGroupe($langue,$produit)
	{
		$tab = array();
		$con = new connection("gourmedas");
		$sql = "SELECT * FROM Chocoproduct WHERE language='$langue' AND productType='$produit'";
		$resultat = $con->execute($sql);
		if (mysql_num_rows($resultat) != 0)
		{
			$ligne = mysql_fetch_object($resultat);
			array_push($tab, $ligne->product1, $ligne->product2, $ligne->product3, $ligne->product4, $ligne->product5, $ligne->product6);
		}		
		return $tab;
	}
	
	function getDescription($langue,$page)
	{
		$tab = array();
		$con = new connection("gourmedas");
		$sql = "SELECT  Title1, Title2, SubTitle1,SubTitle2, Description1, Description2, Description3, Description4, Description5, Description6 FROM Page WHERE PageName = '$page' and Language = '$langue'";
		$resultat = $con->execute($sql);
		
				
		if (mysql_num_rows($resultat) != 0)
			{	
				$ligne = mysql_fetch_object($resultat);
				$tab["title1"] = $ligne->Title1;
				$tab["title2"] = $ligne->Title2;
				$tab["subtitle1"] = $ligne->SubTitle1;
				$tab["subtitle2"] = $ligne->SubTitle2;
				$tab["description1"] = $ligne->Description1;
				$tab["description2"] = $ligne->Description2;
				$tab["description3"] = $ligne->Description3;
				$tab["description4"] = $ligne->Description4;
				$tab["description5"] = $ligne->Description5;
				$tab["description6"] = $ligne->Description6;
				
			}
			
					return $tab;
	
	
	}
	
	function splitResultatTiret($string)
	{
		
		$tab = explode("-",$string);
		return $tab;
	
	}
	
	function splitResultatVirgule($string)
	{
		
		$tab = explode(",",$string);
		return $tab;
	
	}


} //fin class



?>
toute suggestion est accepté.

Mammouth du PHP | 684 Messages

27 juil. 2006, 12:38

Salut.

Est-ce réellement du php5 ???
Le constructeur se fait comme ceci et les méthodes sont précédées par les mots clés 'public', 'private', 'protected' (c'est plus propre mais sinon ça marche) :
<?php
class MaClasse
{
    public function __construct()
    {
    }

    public function MaMethode()
    {
    }
}
?>
Dans ton code tu fais

Code : Tout sélectionner

$fonc = new fonction();
es-tu sur de toi ?
Tu créé un objet de ta classe dans ta classe. Est-ce bien ce que tu veux faire ?
Zigz4g