Espace membres avec acces restreint

Répondre
sebing
le 03/11/2008 à 14:44
sebing
Bonjour,

Que faut il rajouter pour restreindre un aces à certaine page.
J'ai lu le tutoriel, il dit juste comment créer un espace membre, mais après comment peut on dire que tel membre peut aller sur tel page...
Merci
seb
LupusMic
le 03/11/2008 à 15:09
LupusMic
Il faut réfléchir. Le tutoriel donne des pistes pour mettre le pied à l'étrier, mais il ne peut pas te dire comment tout faire. Sinon, ce n'est plus un tutoriel, mais un commentaire décrivant la genèse d'un projet complet.

Maintenant que tu as des espaces membres, tu peux y associer des autorisations. Il y a de nombreuses méthodes, de la plus basique à la plus sophistiquée, mais à chaque fois c'est globalement le même algorithme :

si utilisateur est autorisé à voir la page
alors la montrer
sinon l'envoyer balader

smiley
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
raphlight
le 03/11/2008 à 23:22
raphlight
Si tu as suivi le "comment faire" proposé sur lephpfacile et que tu souhaite empêcher l'accès à une page à un ou quelques membres précis (par exemple des membres ayant frauder les règles de ton site), tu n'as qu'a mettre un code de ce type dans ta page :

<?php

//Admettons que le membre гαρħłιģħŧ ne soit pas autorisé à voir la page. Si il est dessus ...
if( $_SESSION['login'] == гαρħłιģħŧ )

//...alors on le redirige vers une autre page
{
header ('Location: index.php');
}

?>


Après tu va pas faire ça si y'a des centaines ou milliers de membres à restreindre, tu peux par exemple mettre dans ta base de données SQL un nouveau champ "permission"; mettre "oui" si le membre est autorisé, ou "non" si il ne l'est pas. Par exemple à l'inscription tu met par défaut "oui" et tu modifie manuellement en "non" si tu souhaite restreindre un membre.

Une petite recherche SQL du $_SESSION['login'] actuellement sur la page pour trouver sa permission.

Ainsi tu aura :

<?php

$base = mysql_connect ('ftp://*******', 'identifiant', '*****');
mysql_select_db ('ma_base', $base) ;

$sql = 'SELECT permission FROM Le-nom-de-la-table-ou-ya-les-membres WHERE login = "'.$_SESSION['login'].'"';

$data = mysql_fetch_array($req);

if( $data['permission'] == non )

{
header ('Location: index.php');
}

mysql_free_result ($req);
mysql_close ();

?>
http://raphlight.free.fr/trad.php
sebing
le 04/11/2008 à 16:01
sebing
Merci,pour les méthodes, surtout celle avec la permission
.
Bonne journée

Seb
seb
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours