IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

liens et dossier php5


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Points : 149
    Points
    149
    Par défaut liens et dossier php5
    bonjour,
    je crée un site e-commerce en php 5 et je voulais savoir pour vous comment etait la meilleur facon de le gerer j ai créer des categories : informatique, CD/DVD, Livre musique, ...

    et j ai créer leur dossier informatique, livre-musique.

    Et voila ce qui me gene les categories composé de deux mot car j affiche en faite le titre des categ pour le menu du site mais arriver a leur dossier ex: livre-musique je ne sais pas comment faire car moi j utiliser ceci pour les liens :
    menu.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
     
    <?php
     
    $objet=new categorie;
     
    $SousCategorie=$objet->findAllCategorie();
     
    if ( ($tab = $SousCategorie) !== null ) {
     
    foreach( $tab as $SousCategorie ) {
    echo ('<li class="odd"><a href="'.$host.'AchatEnFolie2/pages/'.$SousCategorie->getTitre().'/'.$SousCategorie->getUrl().'">');
    echo ($SousCategorie->getTitre() );
    echo('</a></li>');
     
     
    }
     
     
    }
     
     
     
    ?>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    public function getUrl() {
    		$result = str_replace(' ', '-', $this->titre);
     
    		return (String) $result.'-'.$this->id.'.php';
    	}
     public function getTitre() {
                    return (string) $this->titre;
    	}
    mon pb vient du faite que je prend getTitre pour le nom de dossier.
    avez vous une autre de gestion pour les liens et l'affichage.
    merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu peux utiliser urlencode() pour créer des url avec des caractères spéciaux.

  3. #3
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Points : 149
    Points
    149
    Par défaut
    pensez vous que c est la meilleur solution.
    merci

  4. #4
    Membre confirmé Avatar de guigo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 612
    Points : 576
    Points
    576
    Par défaut
    tu peux pas creer des dossier avec la cle primaire de tes cat ? (enfin si tu as une bdd... Car tu peux etre embeter avec les caractere speciaux (pas que sur les url en plus).

    Sinon tu peux te faire deux fonction (qui font la reciproque)

    cleanUrl();
    reciproqueCleanUrl();


    Guigo

  5. #5
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Points : 149
    Points
    149
    Par défaut
    merci pour cette idée par contre j ai un petit pb sur ma page index.php pas de pb autoload fonctionne mais sur la page informatique qui dans dossier informatique j ai cette erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Class 'categorie' not found in
    donc est ce que c est l'autoload_ ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <?php
    /**
     * Auto-chargement de classes
     *
     * @access public
     * @param String $classname
     * @result void
     *
     * @doc http://fr.php.net/manual/fr/language.oop5.autoload.php
     */
    function __autoload($class_name)
    {
    	include_once('c://wamp/www/AchatEnfolie2/include/class/class.' . strtolower($class_name) . '.php');
    }
     
     
     
    ?>
    merci

  6. #6
    Membre confirmé Avatar de guigo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 612
    Points : 576
    Points
    576
    Par défaut
    Ta categorie n'existe pas !
    Tu dois avoir un souchi avec ton chemin d'access....

  7. #7
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Points : 149
    Points
    149
    Par défaut
    ma categorie existe bien j ai utilsier le meme apppel pour l index et ca a marche nikel.D'ailleur il ne trouve aucune des categories, peut on savoir ce qu il ouvre voici ma page informatique qui se trouve dans informatique:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    <?php
    include("../../../include/session.php");
     
    $description = "";
    $keywords = "";
    $title = "";
    $fakea = "";
    $menu = true;
    $navigation = true;
    $newsletters = true;
    $publicite = true;
    $caddie = true;
    $nouveaute = true;
    $top_ventes = true;
     
     
    $objet=new caddie;
     
    $SousCategorie=$objet->findAllCategorie();
     
    if ( ($tab = $SousCategorie) !== null ) {
     
    foreach( $tab as $SousCategorie ) {
    $body = '(<li class="odd"><a href="'.$host.'AchatEnFolie2/pages/'.$SousCategorie->getTitre().'/'.$SousCategorie->getUrl().'">';
    $body .= '($SousCategorie->getTitre()';
    $body .= '</a></li>';
     
     
    }
     
     
    }
     
     
     
     
    include("../../../include/base.php");
    ?>

  8. #8
    Membre confirmé Avatar de guigo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 612
    Points : 576
    Points
    576
    Par défaut
    ton index est de meme profondeur que categorie ?

    n'aurait tu pas un /cat/ ou quelques chose comme ca a ajouter ?

  9. #9
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Points : 149
    Points
    149
    Par défaut
    je remarquer en faite que la diffrence c est que j ai fait appel a la categorie dans un menu qui est inclus dans l'index.php VIA include et que c est quand je met l appel directement qu'il ne trouve rien.

    est ce que ca serait les retour en arriere ../.../../ qui peuvent faire ceci.

    l'include de l'autoload se trouve dans base.php que j appelle dans toute mes pages.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    <?php
     
     
    include("../../../include/session.php");
     
    $description = "";
    $keywords = "";
    $title = "";
    $fakea = "";
    $menu = false;
    $navigation = true;
    $newsletters = true;
    $publicite = true;
    $caddie = true;
    $nouveaute = true;
    $top_ventes = true;
     
    $body = '';
     
    /*instanciation class categorie*/
    $objet=new categorie;
     
    include("../../../include/base.php");
    ?>
    en fait j ai le dossier include ou j ai autoload.php dedans et le menu.php, la base.php et session.php et j ai un dossier avec les nom des categories et leur page respective a côté. Et je fait donc appel a base.php dans toute ces page :
    base.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php include_once('header.inc.php'); ?>
    <?php // Inclusion du fichier autoload.php
     include_once (''.$_SERVER['DOCUMENT_ROOT'].'AchatEnfolie2/include/autoload.php');
     
    ....
    merci.

  10. #10
    Membre confirmé Avatar de guigo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 612
    Points : 576
    Points
    576
    Par défaut
    effectivement ca doit venir de la... C un peu compliquer a voir d'ici mais essaye de revoir cote archi...

  11. #11
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Points : 149
    Points
    149
    Par défaut
    pour moi tout devrait fonctionner est ca serait les $_SERVER['DOCUMENT_ROOT'].

    include_once(''.$_SERVER['DOCUMENT_ROOT'].'AchatEnfolie2/include/class/class.' . strtolower($class_name) . '.php');

    car cela m affiche c:/www.... peut etre que c est plutot htpp://localhost mais quand je le met dans le include j ai un beau message dut au http.

    pour mes dossier je vais essayer d' explique:

    dossier include dedans fichier base ou il y a l appel du fichier autoload.

    dossier categorie ou dedans il y a les fichiers des categories ou il y a l appel de la base.php.

    merci.

  12. #12
    Membre confirmé Avatar de guigo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 612
    Points : 576
    Points
    576
    Par défaut
    deja tu peux commencer par travailler avec des liens en relatifs (enfin perso je trouve ca plus simple).


    include("../../../include/base.php"); --> la tu remonte de 3 sous dossiers ! est ce normal ?

  13. #13
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Points : 149
    Points
    149
    Par défaut
    je comprend plus rien j ai modifie rmon autolad:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    <?php
     
     
     
     
    	define('CLASSES_url', 'http://localhost/AchatEnfolie2/include/class/categorie/');
     
          function __autoload($classname)
     
          {
     
          $classes_dir = array('class');
     
          foreach($classes_dir as $dir)
     
          {
     
          $classpath = CLASSES_url.''.$dir.'.'.$classname.'.php';
          if(file_exists($classpath))
     
          {
     
          require $classpath;
     
          return;
     
          }
     echo ($classpath);
          }
     
          }
     
    ?>
    et maintenant j ai Fatal error: Class 'categorie' not found in C:\wamp\www\AchatEnfolie2\include\navigation.php on line 6

    alors que le chemin est bon puisque j ai regarder au moin 5 fois et que quand je clique sur le lien qu'il donne je tombe sur une page blanche donc il a bien ouvert mon fichier mais il dit qu il ne le trouve pas comprend pas?


  14. #14
    Membre confirmé Avatar de guigo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 612
    Points : 576
    Points
    576
    Par défaut
    fait un echo de $classpath et colle ca dans ton url....
    Regarde ce qui ce passe.
    Pour le moment pas d'avancement, le pb reste un probleme de chemin :-(

  15. #15
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Points : 149
    Points
    149
    Par défaut
    bonjour,

    Il affiche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    http://localhost/AchatEnfolie2/include/class/categorie/class.categorie.php
    Fatal error: Class 'categorie' not found in C:\wamp\www\AchatEnfolie2\include\navigation.php on line 6
    et quand je clique sur le lien j obtien un page blanche avec un echo que j'ai mit pour savoir il va dans ma classe donc il va bien dans la page et pourtant il dit introuvable voici ma class.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    <?php
     
     echo 1;
    class Categorie  {
     
     
     
        const TB_PREFIX = 'achatsenfolie__';
    	/**
    	* Numéro d'identifiant
    	* @access private
    	* @var integer
    	*/
    	private $id = 0;
     
    	/**
    	* Titre
    	* @access private
    	* @var string
    	*/
    	private $titre = null;
     
    	/**
    	* Description
    	* @access private
    	* @var string
    	*/
    	private $description = null;
     
     
     
    	/**
    	*
    	* @access private
    	* @var boolean
    	*/
    	private $estDansContact = true;
     
     
    	/**
    	* Catégorie de niveau supérieur.
    	* Laissez à null pour une catégorie de premier niveau.
    	* @access private
    	* @var Categorie
    	*/
    	private $Categorie = null;
     
    	/**
    	* Constructor
    	*
    	* @static
    	* Ne peut être static.
    	* Attention, quand tu fais ton new Categorie, tu lui passe des paramètres donc
    	* ton constructeur doit certainement prendre certain parametre
    	* @access public
    	* @param Array $Array
    	* @return Categorie
    	*/
    	 public function __construct($id=0,$titre = "sans titre",$description = null, $Categorie= null) {
    		 $this->id = $id;
              $this->titre = $titre;
              $this->description = $description;
                  $this->Categorie = $Categorie;
     
     
         }
     
     
     
     
     
    	//ACCESSEURS
    	//SET
     
    	protected function setId($id) {
    		if (is_int($id) && $id>0) {
    			$this->id = $id;
    		} else {
    			throw new InvalidArguementException('Numéro d\'identifiant incorrect');
    		}
    		return $this;
    	}
     
    	public function setTitre($titre) {
    		if (is_string($titre) && strlen($titre)>0 && strlen($titre)<255) {
    			$this->titre = html_entity_decode($titre);
    		} else {
    			throw new InvalidArgumentException('Titre trop long ou de type incorrect');
    		}
    		return $this;
    	}
    	public function setDescription($description) {
    		if (is_string($description) || is_null($description)) {
    			$this->description = html_entity_decode($description);
    		} else {
    			throw new InvalidArgumentException('Description de type incorrecte');
    		}
    		return $this;
    	}
     
     
    	/**
    	* Met la catégorie
    	*
    	* @access public
    	* @param Categorie $Categorie
    	* @return Categorie
    	*/
    	public function setCategorie($Categorie) {
    		if ($Categorie instanceof Categorie || is_null($Categorie)) {
    			$this->Categorie = $Categorie;
    		} else {
    			throw new InvalidArgumentException('La catégorie "'.(string) $Categorie.'" n\'existe pas');
    		}
    		return $this;
    	}
     
    	/**
    	* Donne le numéro d'identifiant
    	*
    	* @access public
    	* @return integer
    	*/
    	public function getId() {
    		return (int) $this->id;
    	}
     
    	/**
    	* Donne le nom
    	*
    	* @access public
    	* @return string
    	*/
    	public function getTitre() {
                    return (string) $this->titre;
    	}
     
     
    	/**
    	* Donne la description
    	*
    	* @access public
    	* @return string
    	*/
    	public function getDescription() {
    		return (string) $this->description;
    	}
     
     
     
    	/**
    	* @access public
    	* @return boolean
    	*/
    	public function estDansContact() {
    		return (bool) $this->estDansContact;
    	}
     
     
     
    	/**
    	* Donne la catégorie de niveau supérieur
    	*
    	* @access public
    	* @return Categorie
    	*/
    	public function getCategorie() {
    		return $this->Categorie;
    	}
     
     
    	/**
    	* Retourne l'URL de la page du produit
    	* @access public
    	* @result String
    	*/
    	public function getUrl() {
    		$result = str_replace(' ', '-', $this->titre);
     
    		return (String) $this->id.'-'.$result.'.php';
    	}
     
    	/***********Créer une catgeorie vide pour rentrer les champs*******/
    	public function Ajouter($id,$titre,$description,$estDansContact,$Categorie)
    	{
    		$query="INSERT INTO categorie VALUES ('$id','$titre,'$description','$estDansContact','$Categorie'')";
    		//echo $query
    		mysql_query($query);
    	}
     
    	public function Supprimer($id)
    	{
    		mysql_query("DELETE FROM categorie WHERE id='$id'");
     
    	}
     
    	public function Modifier($id,$titre,$description,$estDansContact,$Categorie)
    	{
    		$query=("UPDATE categorie SET ('$titre,'$description','$estDansContact','$Categorie'')
    	WHERE id='$id'");
    		//echo $query
    		mysql_query($query);
    	}
     
    	public function ExisteId($id){
    		$query=("SELECT * FROM 'categorie' WHERE 'id'='$id'");
    		//echo $query;
    		$result=mysql_query($query);
     
    		if(mysql_num_rows($result)==0){
    		return("Identifiant inexistant");
    			}
    			else
    			{
    				return("Identifiant existant");
     
    		}
    	}
    	public function CountId($id){
    		$req=("SELECT * FROM 'categorie' WHERE 'id' ='$id'");
    		$reponse = mysql_query($req);
    		$nbCategorie=mysql_num_rows($reponse);
    		return($nbCategorie);
    	}
     
     
    	/**********Recupere informations tous les categories**********/
     public static function findAllCategorie(){
    		$req ="SELECT * from ".self::TB_PREFIX."categorie where id_categorie is NULL";
    		$res = mysql_query($req) or die ('Erreur : '.mysql_error());
    		$ret = array();
     
    		while( $data = mysql_fetch_object($res) ) {
    			$ret[] = new self ( 
    						$data->id,
    						$data->titre,
    						$data->description,
    						$data->estDansContact
    					);
    		}
     
    		if ( !empty($ret) )
                            return $ret;
     
    		return null;
    	}
    		/**********Recupere informations tous les categories**********/
     public static function findAllSousCategorie(){
    		$req ="SELECT * from ".self::TB_PREFIX."categorie where id_categorie='1'";
    		$res = mysql_query($req) or die ('Erreur : '.mysql_error());
    		$ret = array();
     
    		while( $data = mysql_fetch_object($res) ) {
    			$ret[] = new self ( 
    						$data->id,
    						$data->titre,
    						$data->description,
    						$data->estDansContact
    					);
    		}
     
    		if ( !empty($ret) )
                            return $ret;
     
    		return null;
    	}
    		/**********Recupere informations tous les sous categories par id**********/
     
       	public static function findById($id){
    		$req ="SELECT * from ".self::TB_PREFIX."categorie where id=".$id."";
     
    		$res = mysql_query($req) or exit(mysl_error());
    	 		$ret = array();
     
    		while( $data = mysql_fetch_object($res) ) {
    			$ret[] = new self ( 
    						$data->id,
    						$data->titre,
    						$data->description,
    						$data->estDansContact
    					);
    		}
     
    		if ( !empty($ret) )
                            return $ret;
     
    		return null;
    	}
     
    		/**********Recupere informations tous les sous categories par id**********/
     public static function findSousCategorieById($id){
    		$req ="SELECT * from ".self::TB_PREFIX."categorie where id_categorie=".$id."";
    		$res = mysql_query($req) or die ('Erreur : '.mysql_error());
    		$ret = array();
     
    		while( $data = mysql_fetch_object($res) ) {
    			$ret[] = new self ( 
    						$data->id,
    						$data->titre,
    						$data->description,
    						$data->estDansContact
    					);
    		}
     
    		if ( !empty($ret) )
                            return $ret;
     
    		return null;
    	}
     
    	/**********Recupere informations d'une categorie par titre**********/
    	public static function findByTitre($titre){
    	$req ="SELECT * from ".self::TB_PREFIX."categorie where titre=".$titre."";
    	$res = mysql_query($req);
    	if($data = mysql_fetch_object($res))return new categorie(
    	$data->titre,
        $data->description,
     
                            $data->estDansContact,
     
                            $data->Categorie);
     
     
    						else return null;
    						}
       public function __toString()
        {
            return $this->titre."".$this->description;
        }
     
    }
     
    ?>
    merci.

  16. #16
    Membre confirmé Avatar de guigo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 612
    Points : 576
    Points
    576
    Par défaut
    categorie tu as mis une majuscule d'un cote mais pas de l'autre....!

    Modifie le nom de ta class ou ton appel!

  17. #17
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Points : 149
    Points
    149
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fatal error: Class 'categorie' not found
    meme erreur en modifiant le nom je suis perdu!

    je viens de mettre des exeption pour les erreurs voici ce qui apparait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    C:/wamp/www/AchatEnfolie2/include/class/class.categorie.php
    Warning: require_once(C:\wamp\www\AchatEnfolie2\include\class) [function.require-once]: failed to open stream: Permission denied in C:\wamp\www\AchatEnfolie2\include\autoload.php on line 26
     
    Fatal error: require_once() [function.require]: Failed opening required 'C:/wamp/www/AchatEnfolie2/include/class' (include_path='.;C:\php5\pear') in C:\wamp\www\AchatEnfolie2\include\autoload.php on line 26

    voici le nouveau code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    function __autoload($class_name) {
    $filename = ''.$_SERVER['DOCUMENT_ROOT'].'AchatEnfolie2/include/class/class.' . strtolower($class_name) . '.php';
    echo $filename;
        if (empty($class_name)) {
            trigger_error('ERREUR: Aucun nom de classe', E_USER_ERROR);
            exit();
        }
        elseif (file_exists($filename)) {
            require_once(dirname($filename));
        }
        else {
            trigger_error('ERREUR : Classe inexistante : '.$class_name, E_USER_ERROR);
            exit();
        }
    }

  18. #18
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Points : 149
    Points
    149
    Par défaut
    comprendant que c est difficile a explique je vous passe les pages principale et sa base sql si qqun peut m aider ca seriat geniale.
    j'uitlise wampserver.
    merci
    alors pour les fichiers voici leur structure:

    dossier : monsite.

    1 ) sous dossier:include
    fichier autoload.php
    fichier navigation.php

    2) sous dossier:class
    fichier class categorie

    merci.
    Fichiers attachés Fichiers attachés

  19. #19
    Membre confirmé Avatar de guigo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 612
    Points : 576
    Points
    576
    Par défaut
    tu as un probleme de droit sur ton fichier

    Warning: require_once(C:\wamp\www\AchatEnfolie2\include\class) [function.require-once]: failed to open stream: Permission denied in C:\wamp\www\AchatEnfolie2\include\autoload.php on line 26

    remplace ton require par un include.... On aura peut etre plus d'info sur le message d'erreur.
    Ensuite fait un chmod 777 sur les fichier qui sont include

  20. #20
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Points : 149
    Points
    149
    Par défaut
    chose tres etrange j ai enlever le contenu de autoload.php et pourtant il m'ecrit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fatal error: Class 'Categorie' not found in C:\wamp\www\AchatEnfolie2\AchatEnfolie2\pages\1-Accueil.php on line 20
    j es eteint et recharger plusieur fois la page et pourtant il ne devrai plus mettre cette erreur.non?

    PLUS de pb d'acces!

    je remarque de plus QUE l'appel sur ma page d'accueil qui se trouve achatenfolie et dans dossier page marche tres bien pk pas pour les autre.php

Discussions similaires

  1. [XHTML 1.0] Lien vers dossier partagé sur le reseau
    Par aiphes dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 09/11/2009, 17h25
  2. lien vers dossier avant la racine du site
    Par Alt157 dans le forum Apache
    Réponses: 9
    Dernier message: 26/07/2009, 13h36
  3. [Calendrier] Lien vers dossier client
    Par lodan dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 12/05/2007, 12h11
  4. liens hors dossier racine du site
    Par natjoker dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 13/09/2005, 03h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo