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 :

Problème lorsque je créais de module.


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 9
    Par défaut Problème lorsque je créais de module.
    Salut,

    Voilà, je suis en train de finaliser la partie administration pour créer mes sites.

    A l'origine, j'ai créer et développer tous mes fichiers à la racine de mon répertoire administrationcomme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Administration 
          |-> configuration.php
          |-> index.php
          |-> hautacces.php
          |-> basaccess.php
          |-> verification.php
          |-> actualite.php
          |-> utilisateur.php
    Voici le début des fichiers actualite.php et utilisateur.php qui seront déplacé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    <?
    session_start();
    switch ($mod) 
    	{
    		case 'Ajouter':
    			 // Vérification de la session
    			if ($_SESSION['auth'] == 1) // Si session = 1
    			{	
                                                       require("hautacces.php");
    Je me suis dis que même si cela fonctionne c'est un peu bordelique et puis pour rajouter des modules c'est moins simple. Donc, j'ai décidé de classer mes différents modules dans des répertoires comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Administration 
          |-> configuration.php
          |-> index.php
          |-> hautacces.php
          |-> basaccess.php
          |-> modules.php
                      |-> actualite               
                                |-> actualite.php
                                |-> verification.php
                      |-> utilisateur               
                                |-> utilisateur.php
                                |-> verification.php
    Voici une partie des modifications effectués sur les fichiers déplacer:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    <?
    session_start();
    switch ($mod) 
    	{
    		case 'Ajouter':
    			 // Vérification de la session
    			if ($_SESSION['auth'] == 1) // Si session = 1
    			{	
    				require("../../hautacces.php");
    Malheureusement, une fois le rangement fait et la modification des liens effectué, j'ai les messages suivants qui s'affichent:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    Notice: A session had already been started - ignoring session_start() in c:\utilitaires\developpement\easyphp1-8\www\nomdusite\admin\administration\modules\actualite\actualite.php on line 2
     
    Warning: main(../../hautacces.php): failed to open stream: No such file or directory in c:\utilitaires\developpement\easyphp1-8www\nomdusite\admin\administration\modules\actualite\actualite.php  on line 9
     
    Fatal error: main(): Failed opening required '../../hautacces.php' (include_path='.;C:/Utilitaires/developpement/EasyPHP1-8\php\pear\') in c:\utilitaires\developpement\easyphp1-8www\nomdusite\admin\administration\modules\actualite\actualite.php  on line 9
    Comment puis-je éviter ces erreurs? Dois-je utiliser les liens en dur et au lieu de liens relatifs que j'ai mis?

  2. #2
    Membre Expert Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Par défaut
    ton probleme vient du fait que tu fais surement un session_start dans hautacces.php et c'est cela qui provoque l'erreur. Car tu dois en avoir qu'un seul dans une page. Soit tu otes celui de hautacces.php soit tu otes ceux des autres pages qui appelle hautacces.php

    Sinon si ton arborescence est correcte, logiquement tes includes devraient etre corrects.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 9
    Par défaut
    Merci pour cette réponse rapide.

    je vérifie cela mais il me semble que je n'ai qu'un hautacces.php. mais celui-ci ne contient aucun session_start()

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 9
    Par défaut
    Pour le session_start() c'est effectivement cela mais il ne se trouvait pas dans hautacces.php, mais dans administration.php après la suppression tout est ok.

    Par contre le chemin relatif ne fonctionne pas, ce me gave un peu car si je doit tout mettre à la racine, cela ne va pas me facilité les mise à jour.

  5. #5
    Membre Expert Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Par défaut
    La page ou tu as le probleme, tu l'appelle directement ou tu l'inclues dans une autre page?

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 9
    Par défaut
    Voici le code de la page administrateur.php qui appelle les autre page:

    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
     
    <?
    session_start();
    // Récupération des valeurs transmises
    $pg = (isset($_GET['pg']))?$_GET['pg']:"" ;
    $droit = (isset($_GET['droit']))?$_GET['droit']:"" ;
    $log = (isset($_GET['log']))?$_GET['log']:"" ; 
    $er = (isset($_GET['er']))?$_GET['er']:"" ;
    $nblog = (isset($_GET['nblog']))?$_GET['nblog']:"" ; 
    $ident = (isset($_GET['ident']))?$_GET['ident']:"" ;
    $pwd = (isset($_GET['pwd']))?$_GET['pwd']:"" ;
    $mod = (isset($_GET['mod']))?$_GET['mod']:"" ;
    $ti = (isset($_GET['title']))?$_GET['title']:"" ;
    $n = (isset($_GET['n']))?$_GET['n']:"" ;
    $id = (isset($_GET['id']))?$_GET['id']:"" ;
     
    $er=preg_replace("/[^a-z0-9_ ]/i", "", $er);
     
    require ("configuration.php");
    require ("error.php");
     
    switch ($pg) 
    {
    	case 'Actualité':
    		$type=1;
    		require ("modules/actualite/actualite.php");
    	break;
    	case 'Utilisateur':
    		require ("modules/utilisateur/utilisateur.php");
    	break;	
    	default:
    		require ("modules/log.php");
    	break;	
    } 
    ?>
    Si je mets require ("actualite.php"); et que les pages appelé sont dans le même répertoire que administration.php j'ai n'ai aucun problème.

Discussions similaires

  1. [Oracle] Problème dans l'installation du module OCI8
    Par guidav dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 19/07/2006, 11h44
  2. Problème d'installation d'un module CPAN
    Par craquinette dans le forum Modules
    Réponses: 2
    Dernier message: 17/05/2006, 13h56
  3. Probléme lorsqu'une fenétre passe par dessus l'autre...
    Par hostile dans le forum Interfaces Graphiques en Java
    Réponses: 4
    Dernier message: 03/01/2006, 19h20
  4. erreur lorsque j'utilise le module session
    Par vbcasimir dans le forum Modules
    Réponses: 13
    Dernier message: 14/10/2005, 13h41
  5. [DirectShow] problème lorsque je détruit mon graphe
    Par juldjin2 dans le forum DirectX
    Réponses: 1
    Dernier message: 04/02/2004, 21h30

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