Accès protégé php vers page unique
Fermé
Troturier51
-
16 août 2008 à 13:17
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 - 14 nov. 2010 à 17:41
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 - 14 nov. 2010 à 17:41
A voir également:
- Accès protégé php vers page unique
- Supprimer une page word - Guide
- Acces rapide - Guide
- Windows 7 vers windows 10 - Guide
- Traduire une page - Guide
3 réponses
La solution de redirection vers telle ou telle page en fonction de l'identifiant est discutable ... Il faudrait entre autres s'assurer que l'utilisateur Salade ne puisse pas accèder à carotte.php ... Et qu'il faudrait donc qu'il existe une page spécfique à chaque utilisateur (comment est créée cette page ?)
Mais il y a peut-être des raisons justifiées à ce besoin, donc voici une solution possible :
$nouvelle_page = 'orange.php';
if($isUtilisateurEnregistre)
{
header('Location :'.$nouvelle_page);
}
La valeur de cette "nouvelle page" peut venir de la base de données, ou construite à partir du login ( avec éventuel appel à rawurlencode ou urlencode )
Mais il y a peut-être des raisons justifiées à ce besoin, donc voici une solution possible :
$nouvelle_page = 'orange.php';
if($isUtilisateurEnregistre)
{
header('Location :'.$nouvelle_page);
}
La valeur de cette "nouvelle page" peut venir de la base de données, ou construite à partir du login ( avec éventuel appel à rawurlencode ou urlencode )
de nouvelles questions qui me turlupine
serais t'il possible dans cette parti
if ($data[0] == 1) {
session_start();
$_SESSION['login'] = $_POST['login'];
header('Location: membre.php');
exit();
d'utiliser une variable pour remplacer "membre.php", c'est variable utiliserais le login et un .php a la fin se qui dirigerais automatiquement le client vers sa page..
ensuite autre question dans cette parti sur la page perso sur lequel le client arriverais
session_start();
if (!isset($_SESSION['login'])) {
header ('Location: index.php');
exit();
Est t'il possible de remplacer "login" de $_SESSION['login'] par un variable qui utiliserais ce fameux login ainsi si un des client essai d'atteindre une autre page qui ne lui est pas consacrer il ne peu pas!
car le système de session php de base une fois authentifier permet d'accéder a toute les pages qui utilise ce système.
voila encore des questions, toujours des questions merci d'avance si l'on peu me renseigner.
serais t'il possible dans cette parti
if ($data[0] == 1) {
session_start();
$_SESSION['login'] = $_POST['login'];
header('Location: membre.php');
exit();
d'utiliser une variable pour remplacer "membre.php", c'est variable utiliserais le login et un .php a la fin se qui dirigerais automatiquement le client vers sa page..
ensuite autre question dans cette parti sur la page perso sur lequel le client arriverais
session_start();
if (!isset($_SESSION['login'])) {
header ('Location: index.php');
exit();
Est t'il possible de remplacer "login" de $_SESSION['login'] par un variable qui utiliserais ce fameux login ainsi si un des client essai d'atteindre une autre page qui ne lui est pas consacrer il ne peu pas!
car le système de session php de base une fois authentifier permet d'accéder a toute les pages qui utilise ce système.
voila encore des questions, toujours des questions merci d'avance si l'on peu me renseigner.
Salut,
J'ai exactement le meme besoin. Pareil je prefere creer physiquement la page client .. donc ca devrait etre plutot simple a realiser .. juste des identifiants pointant vers une page unique...
As- tu reussi a faire ce que tu voulais ?
Des idées?
J'ai exactement le meme besoin. Pareil je prefere creer physiquement la page client .. donc ca devrait etre plutot simple a realiser .. juste des identifiants pointant vers une page unique...
As- tu reussi a faire ce que tu voulais ?
Des idées?
Bonjour,
Page identification du membre :
Dans la page physique du membre (pour l'exemple Twinpics.php) :
Page identification du membre :
<?php // Pour l'exemple $_POST['login'] contient la valeur 'Twinpics' // Requête pour chercher dans la table membre // si le login et le mot de passe associé existent $query = mysql_query("SELECT login FROM membre WHERE login={$_POST['login']} AND password={$_POST['motdepasse']}"); if(mysql_num_rows($query) != 0) { // Si la requête contient 1 résultat session_start(); $_SESSION['login'] = $_POST['login']; // Redirection vers la page perso du membre 'Twinpics.php' header("Location: " .$_SESSION['login']. ".php"); } else { // Redirection page accueil site web header("Location: index.php"); } ?>
Dans la page physique du membre (pour l'exemple Twinpics.php) :
<?php session_start(); // Renseigner cette variable dans chaque page perso // en fonction du login du membre $page_perso = 'Twinpics'; if($_SESSION['login'] != $page_perso) { // Redirection page accueil site web header("Location: index.php"); } ?> <html> <!-- Ici le code HTML de la page Twinpics.php --> </html>
arthezius
Messages postés
3538
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
11 septembre 2016
475
Modifié par arthezius le 14/11/2010 à 16:14
Modifié par arthezius le 14/11/2010 à 16:14
Ce serai plus simple de faire une page unique qui changerai en fonction du login ou d'une variable dans l'url (voire une combinaison des deux).
Exemple:
Une fois identifié avec une variable de session/cookie, il est facile de faire varier le contenu d'une page.
Supposons que les données client soit contenu dans une table "membres".
Le nom du membre est contenu dans une varaible de session.
On peu donc créer une page membre qui commencera comme ça:
Page: membre.php
La variable $data est un tableau contenant tout les données de la table "membres" concernant le membre actuellement identifié.
Autrement dit, cette même page unique variera pour chaque membre.
Autre solution, suivant le même principe, plutôt que d'utiliser la variable de session directement dans la requete SQL, on peux utiliser une variable contenu dans l'url de la page.
Page: membre.php?login=arthezius
Avec un url rewriting, tu peux aussi réécrire l'url en arthezius.html par exemple
Exemple:
Une fois identifié avec une variable de session/cookie, il est facile de faire varier le contenu d'une page.
Supposons que les données client soit contenu dans une table "membres".
Le nom du membre est contenu dans une varaible de session.
On peu donc créer une page membre qui commencera comme ça:
Page: membre.php
<?php $sql = 'SELECT * FROM tr_client WHERE login="'.mysql_real_escape_string($_SESSION['login']).'"'; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $data = mysql_fetch_array($req); echo'<h1>Membre: '.$data['login'].'</h1>'; //Reste de la page ?>
La variable $data est un tableau contenant tout les données de la table "membres" concernant le membre actuellement identifié.
Autrement dit, cette même page unique variera pour chaque membre.
Autre solution, suivant le même principe, plutôt que d'utiliser la variable de session directement dans la requete SQL, on peux utiliser une variable contenu dans l'url de la page.
Page: membre.php?login=arthezius
<?php if(isset($_SESSION['login']) && isset($_GET['login'])) { $sql = 'SELECT * FROM tr_client WHERE login="'.mysql_real_escape_string($_GET['login']).'"'; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $data = mysql_fetch_array($req); echo'<h1>Membre: '.$data['login'].'</h1>'; //Reste de la page } else{ header("Location: index.php"); exit(); } ?>
Avec un url rewriting, tu peux aussi réécrire l'url en arthezius.html par exemple
16 août 2008 à 14:54
Et qu'il faudrait donc qu'il existe une page spécfique à chaque utilisateur (comment est créée cette page ?)
justement il y aurait une pages pour chaque client (nous ne somme pas une succursale internationale donc cela ne pose pas de problème de créer une page pour chaque client, certes un gros boulot pour la réalisation mais une fois cela fait il n'y a plus qu'a créer une nouvelle page lors de l'arrivée d'un nouveau client)
moi je sais faire les accès de base du style une page membre contenant
session_start();
if (!isset($_SESSION['login'])) {
header ('Location: index.php');
exit();
donc cela ne serais pas le problème suffirais de modifier cette parti sur chaque page pour que seul l'utilisateur authentifié y est accès (du moins j'imagine..)
le problème viendrai plus de la page de login.
donc le but serais si un client par exemple s'appellait "Thomas Hurtier" sont login serais "thomashurtier" et en fonction de ce login pointerais vers la page thomashurtier.php cette page en question contiendrais une valeur session_start propre.
c'est donc pour la page ou se trouve le login ou je ne sai pas comment faire pour appelé une page précise en fonction du login donc en jouant sur cette parti... (ou en replacent cette parti)
if ($data[0] == 1) {
session_start();
$_SESSION['login'] = $_POST['login'];
header('Location: membre.php');
exit();
enfin voila j'ai pas mal de notion dans le php mais ne suis pas non plus un pro..
c'est pour sa que je ne m'en sort pas! et ne sais pas comment faire...