Page 1 sur 1

Fatal error: Call to undefined method

Posté : 14 févr. 2010, 19:24
par ferv21
Bonsoir,

J'ai un problème avec une méthode, j'ai le message d'erreur: Fatal error: Call to undefined method
Voici mon User.class.php
<?php

class User {

	private $login;
	private $motDePasse;


	public function __construct ($log,$pass){
		$this->login=       $log;
		$this->motDePasse=  $pass;
	  
	}

	public function Afficher(){
	 echo "$this->login";
	 echo "<br/>";
	 echo "$this->motDepasse";
	}

}
?>
Mon index1.php
<?php

include ("./Connexion.class.php");
include ("./config.php");
include ("./User.class.php");



$_POST['login']='coucou';
$_POST['pwd']='loulou';

if(isSet($_POST['login']) && isSet($_POST['pwd'])){
	$log=$_POST['login'];
	$pass=$_POST['pwd'];

	$c=new User($log,$pass);
	$c->Afficher();

	$database= new Mysql ($serveur,$login,$mdp,$database); //Initialisation des variables et connexion auto à la BDD
	$database->execRequete( "SELECT pwd FROM tbl_user");



}
?>
Je n'arrive pas à trouver l'erreur, pourtant j'ai bien instancier ma classe User.

Re: Fatal error: Call to undefined method

Posté : 14 févr. 2010, 20:15
par zeus
Bonsoir,

Donne nous l'erreur complète parce qu'elle contient la méthode qui n'est pas défini, la ligne à laquelle l'erreur survient.
D'ailleurs, en regardant ces informations, tu trouveras peut être toi même la réponse ;)

Re: Fatal error: Call to undefined method

Posté : 14 févr. 2010, 20:33
par ferv21
Oui, voici le message: Fatal error: Call to undefined method User::afficher() in D:\Programme\wamp\www\telesurveillance\connexion\index1.php on line 17
Cordialement

Re: Fatal error: Call to undefined method

Posté : 14 févr. 2010, 20:39
par stealth35
bizar ca me le fait pas moi,
parcontre j'ai une erreur sur
echo "$this->motDepasse";
c'est
echo "$this->motDePasse";

Re: Fatal error: Call to undefined method

Posté : 14 févr. 2010, 20:45
par ferv21
Ah bon chez toi ca marche?
J'ai changer "motDepasse" par motDePasse" Mais j'ai toujours la même erreur.
Cordialement

Re: Fatal error: Call to undefined method

Posté : 24 févr. 2010, 09:04
par naholyr
Comme le message d'erreur te parle de "User::afficher", essaie donc de renommer ta fonction en "afficher" au lieu de "Afficher", et de l'appeler ainsi dans ton script ($user->afficher()). Si ça corrige le problème il va falloir que tu nous donnes ensuite des indications sur la façon dont tu as installé PHP, ton système, etc... Parce que le case-sensitive sur les fonctions, c'est pas de base :)

Re: Fatal error: Call to undefined method

Posté : 02 janv. 2014, 06:29
par bobeducatech
Je viens d'avoir le même problème que vous et en cherchant une solution sur le net, j'ai pu tomber sur ce forum.
je vais vous présenter mon travail pour bien comprendre ma solution.

J'ai ma classe connection.php
ici le code:
<?php
class connection{
var $username;
var $password;
var $host;
var $dbname;

function __construct( $h,$db,$user,$pass){
$this->host = $h;
$this->dbname = $db;
$this->username = $user;
$this->password = $pass;
echo " les variables sont initialisés";
}

function afficherinfo(){
echo " ". $this->host;
echo "" . $this->dbname;
echo "". $this->username;
echo "". $this->password;
}

function __destruct(){echo 'destructed';}

}

?>
j'ai instancié ma classe dans ce fichier testclasse.php
ici le code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Brain| Login</title>
</head>

<body>
<?php
include("connection.php");
$con = new connection('localhost','brain_db','brain', '?????');
$con->afficherinfo();
?>
</body>
</html>
Le problème est survenu quand je mettais le destructeur au dessus de la fonction afficherinfo. Maintenant le programme marche correctement!

Re: Fatal error: Call to undefined method

Posté : 03 janv. 2014, 05:03
par Reflexive
J'ai copié le code initial chez moi, et ça marche aussi.