Création d'un espace membre



  • Bonjour,
    Je suis tout nouveau sur le net et je suis en train de construire mon site.

    Etant néofite en informatique, j'utilise ToWeb et j'en suis vraiment content. Cela me permet de construire mon site sans connaitre un mot des jargons php, html, mysql, etc…

    Mais comme tout logiciel pour les nuls, je commence à y voir de nombreuses limitations.

    Je souhaiterai faire une zône membres ou seuls les membres enregistrés puissent entrer dans la partie de mon site leur étant réservée, les autres ne pourraient pas y entrer => redirigé vers une page erreur ou d'enregistrement.

    Pour cela j'ai trouvé RVJ Espace membre 2.11, j'ai trouvé ce script super (pour ceux qui sont intéressés aller le télécharger à http://www.comscripts.com/scripts/php.r … .2080.html.

    La ou cela devient compliqué pour un néofite comme moi c'est l'intégration de ce script à mon site.

    A ce jour, j'ai effectué toute l'installation comme demandé et cela marche parfaitement bien et j'en suis très content. Ce que je n'arrive pas à faire c'est protéger les pages membres.
    J'ai mis la commande suivante comme demandé en début de chaque page :

    <?php
    session_start();
    $titre_page = 'Nom de la page'; //Définition du titre de la page
    include_once '../membre/recup_config.php';
    include_once '../membre/verifications.php';
    include_once '../membre/haut.php';
    include_once '../membre/bas.php';
    ?>

    Le script se trouve root/membre, et mon site se trouve à root/site.

    Cela fonctionne très bien quand un "non membre" souhaite entrer dans la zone membre de mon site, il est bien redirigé vers une page d'enregistrement.
    Par contre quand un membre, bien enregistré, veut entrer sur une page membre, j'obtiens les messages suivants :

    Warning: opendir(langues/) [function.opendir]: failed to open dir: No such file or directory in /home/sdidier/www/membre/recup_config.php on line 12

    Warning: readdir(): supplied argument is not a valid Directory resource in /home/sdidier/www/membre/recup_config.php on line 13

    Warning: opendir(connectes/) [function.opendir]: failed to open dir: No such file or directory in /home/sdidier/www/membre/recup_config.php on line 48

    Warning: readdir(): supplied argument is not a valid Directory resource in /home/sdidier/www/membre/recup_config.php on line 49

    Warning: Invalid argument supplied for foreach() in /home/sdidier/www/membre/recup_config.php on line 52

    Warning: touch() [function.touch]: Unable to create file connectes/sdidier.txt because No such file or directory in /home/sdidier/www/membre/verifications.php on line 56

    Warning: opendir(langues/) [function.opendir]: failed to open dir: No such file or directory in /home/sdidier/www/membre/bas.php on line 8

    Warning: readdir(): supplied argument is not a valid Directory resource in /home/sdidier/www/membre/bas.php on line 9

    // Information : le fait qu'un membre accède à une page prévue pour les non-membres ne le déconnecte pas. >
    <

    Est-ce que qq peut m'aider
    Merci d'avance


  • Administrateur

    Vraisemblablement, la page include_once '../membre/recup_config.php'; n'est pas trouvé par php.

    Il faut que tu fasse attention aux chemins des fichiers dans l'arboréscence de ton site, et vérifier que le fichier existe bien dans le répertoire www/membre/…



  • Jérémy

    J'ai en effet vérifié si je ne m'étais pas trompé de chemin, or dans le répertoire www/membre/, il y a bien tous les fichiers php appelés par le script.

    Est-ce que le chemin relatif est bon ?

    Si je place un page dans le répertoire www/membre (ou se trouve le script) et que j'inscris le code en début de page :

    <?php
    session_start();
    $titre_page = 'Nom de la page'; //Définition du titre de la page
    include_once 'recup_config.php';
    include_once 'verifications.php';
    include_once 'haut.php';
    include_once 'bas.php';
    ?>

    Dans ce cas tout fonctionne bien.

    Il y a donc pb qd la page à protéger se trouve dans un répertoire différent de la où se trouve le script.

    Merci pour ton aide.


  • Administrateur

    Ok, alors, en fait, il faut que toutes tes pages soit à un même niveau.

    En effet, le ../ signifie qu'il faut remonter le répertoire, on arrive donc dans www, et le /membre/ signifie qu'il faut aller dans le répertoire membre.

    Mais si tu met le code ../membre/ directement dans un fichier qui est dans www, s'il remonte un répertoire il va venir se paumer dans /login/.

    Il faut donc que tous les répertoires soit dans des dossiers comme nous avons fait chez freeheberg :

    /home/
    /membre/
    /include/
    /toto/
    /n…

    Ainsi, les fichiers situés dans chacuns de ces répertoires remontrons d'un répertoire => /www et irons dans le dossier correcpondant.



  • Jérémy

    Je ne suis pas sur d'avoir tout compris (novice en info oblige :) )

    Mon premier exemple :
    La page à protéger se trouve à www/site
    Le script se trouve à www/membre
    La protection page :
    <?php
    session_start();
    $titre_page = 'Nom de la page'; //Définition du titre de la page
    include_once '../membre/recup_config.php';
    include_once '../membre/verifications.php';
    include_once '../membre/haut.php';
    include_once '../membre/bas.php';
    ?>
    ==>Résultat : Les non membres sont bien redirigés vers la page de login, par contre les membres bien renregistrés n'arrivent pas à aller sur leur page => msg d'insultes que j'ai donné au début.

    Pourtant, le 1er ../ doit me faire descendre de www/site vers www et le /membre doit me faire aller à www/membre

    Il n'y a pas de descente en dessous sde www (j'y ai justement fait attention :) )

    Deuxième exemple :
    La page à protéger se trouve à www/membre
    Le script se trouve à www/membre
    La protection page :
    <?php
    session_start();
    $titre_page = 'Nom de la page'; //Définition du titre de la page
    include_once 'recup_config.php';
    include_once 'verifications.php';
    include_once 'haut.php';
    include_once 'bas.php';
    ?>
    ==>Résultat : Tout fonctionne bien

    Mon pb est que mon site va posséder une arborescence et donc il me sera impossible de mettre tous mes fichiers sous www/membre

    Dans mon 1er exemple je ne comprends pas ce qui cloche !

    Merci d'avance pour votre aide.



  • Salut.

    Tien voila, un sript d'éspace membre complet est très simple d'instalation (tu peu même l'intégrer au designe de ton site)

    http://decoupe-fr.net/forums/viewtopic.php?id=1356&p=1


  • Administrateur

    Remplace

    <?php
    session_start();
    $titre_page = 'Nom de la page'; //Définition du titre de la page
    include_once '../membre/recup_config.php';
    include_once '../membre/verifications.php';
    include_once '../membre/haut.php';
    include_once '../membre/bas.php';
    ?> 
    

    Par

    <?php
    session_start();
    $titre_page = 'Nom de la page'; //Définition du titre de la page
    include("../membre/recup_config.php");
    include("../membre/verifications.php");
    include("../membre/haut.php");
    include("../membre/bas.php");
    ?> 
    

    Si les pages ou tu insère ce tag sont toujours dans des dossiers du type /www/dossier/ ça doit forcément marcher.



  • Jérémy
    J'ai modifié mon fichier exemple2.php qui se trouve sous www/site avec ta proposition, cela ne change rien.
    Autre idée ? :)



  • Solution differente :

    Au lieu de créer un dossier "membres" à la racine de ton site, crée un dossier "membres" dans le "site" (pour avoir www/site/membres )

    La page à protéger se trouve à www/site
    Le script se trouve à www/site/membre

    puis après niveau codage :

    <?php
    session_start();
    $titre_page = 'Nom de la page'; //Définition du titre de la page
    include_once 'membre/recup_config.php';
    include_once 'membre/verifications.php';
    include_once 'membre/haut.php';
    include_once 'membre/bas.php';
    ?>
    
    

Se connecter pour répondre
 

Il semble que votre connexion ait été perdue, veuillez patienter pendant que nous vous re-connectons.