salut
mon code est celui ci:
<?php
class Langage_fo {
public $code_lang;
public $nom_lang;
public $id_lang;
public $charset_lang;
public $image_lang;
public $ordre;
public $fichier;
public function __construct($code_lang){
$this->code_lang=$code_lang;
$sqlquery = "SELECT * FROM langage WHERE code_lang='$code_lang' ";
$queryresult = mysql_query($sqlquery);
if($row=mysql_fetch_array($queryresult))
{
$this->id_lang=$row"id_lang"];
$this->nom_lang=$row"nom_lang"];
$this->charset_lang=$row"charset_lang"];
$this->image_lang=$row"image_lang"];
$this->ordre=$row"ordre"];
$this->fichier=$row"fichier"];
}
}
public function setFichier() {
require("./langage/$this->fichier");
}
}
?>
le probléme que lors de l'exécution, dans localhost: un message s'aficher
Warning: require(C:\wamp\www\projet\langage) [function.require]: failed to open stream: Permission denied in C:\wamp\www\projet\class\Langage_fo.class.php on line 31
Fatal error: require() [function.require]: Failed opening required './langage/' (include_path='.;C:\php5\pear') in C:\wamp\www\projet\class\Langage_fo.class.php on line 31
càd l'erreur est dans cette ligne: require("./langage/$this->fichier");
svp aidez moi je suis vraiment deprimé
merci
salut,
je pense que c'est par ici:
$sqlquery = "SELECT * FROM langage WHERE code_lang='$code_lang' ";
tu as mis de simple quotes et ta variable est interprété en texte brut, c'est à dire directement en $code_lang, le contenu de la variable n'est donc pas interprétée.
je crois que tu devrais ecrire:
$sqlquery = "SELECT * FROM langage WHERE code_lang='".$code_lang."' ";
j'espère t'avoir aidé.
++
bonjour;
j'ai essayé mais malheureusement aucune resultat, c la même erreur qui apparaître, svp avez vous une autre solution
svp aidez moi
merci
c comme ca ou j'appelle la classe:
function __autoload($class_name) {
require_once 'class/'.$class_name.'.class.php';
}
Salut,
ton problème vient de ta fonction _construct($code_lang). Ta fonction __contruct() attend en paramètre le $code_lang que tu ne lui fourni pas.
Il faut que tu appelles ta classe en lui fournissant ce paramètre $code_lang.
<?php
function spl_autoload_register($class_name) {
include $class_name . '.php';
}
$lang = 'Fr'; // exemple
$obj = new Langage_fo($lang);
$obj->setFichier();
?>
<u>Astuce du manuel php5</u>
La fonction spl_autoload_register() fournit une alternative plus flexible pour le chargement automatique des classes. Pour cette raison, l'utilisation de la fonction __autoload() n'est plus encouragé et devrait devenir obsolète, voire être supprimée dans le futur.
fonction __autoload() (manuel php5).
++
bonjour
ca ne marche pas, tout d'abord j'ai pas compris cette erreur
Fatal error: require() [function.require]: Failed opening required './langage/' (include_path='.;C:\php5\pear') in C:\wamp\www\projet\class\Langage_fo.class.php on line 31
Pour cette erreur, c'est juste un problème d'url de fichier, vérifie si ton fichier a le bon nom ou que l'url que tu lui indique pour aller le chercher est la bonne
$lang = 'Fr'
n'est qu'un exemple.
Vérifie aussi que dans ta bdd que tu n'es pas fait d’erreur de syntaxe lors de l'insertion des données.
++
"SELECT total_paye FROM commande WHERE id_client=(SELECT id_client FROM client)" ;
cette requête est elle vrai???
salut;
mon fichier a le bon nom, j ne c pas c quoi le probléme, j'ai vérifier et toujours, le même erreur qui apparaître
svp je besoin vraiment d'aide
merci
je ne sais pas lorsque .htaccess exite , dans localhost m'affiche erreur du serveur interne, et lorsque je l'enléve les 2 lignes d'erreur apparaître j ne c pas quoi faire???