Aide à la création d'un espace dédié aux memebres

Fermé
oanto80 Messages postés 2 Date d'inscription mercredi 26 février 2014 Statut Membre Dernière intervention 11 novembre 2017 - 10 nov. 2017 à 22:51
jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 - 21 nov. 2017 à 23:02
Bonjour, je débute en php et j'ai quelques problèmes:

j'ai créer une page d’inscription php ainsi qu'une page de connexion qui fonctionnent avec une bdd MySql

seulement j'ai un problème:

lorsque un utilisateur se connecte j'aimerais qu'il arrive sur une page php que seul les utilisateurs peuvent avoir accès et non juste en rentrant l'url du fichier dans le navigateur

de plus le login de l'utilisateur et lié a une variable session (id), et chaque utilisateur accède a la page qui leur est destiné avec une redirection vers:

fichier.php?id=".$_SESSION['id']

cependant cela est problématique puisqu'en changeant la valeur id dans l'url on tombe sur l'espace membre de l'utilisateur assossié dans ma bdd...


ps; il s'agit d'un système de chat je peux fournir les codes si besoins

merci de votre temps !
A voir également:

2 réponses

jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705
10 nov. 2017 à 23:19
Bonjour,

Pour "bloquer" l'accès aux pages qui sont réservées aux utilisateurs connectés, il suffit de tester si la variable de session existe.. et si elle n'existe pas.. le rediriger vers la page de connexion par exemple :

en plaçant ce genre de code au début de ton fichier
$id= !empty($_SESSION['id']) ? $_SESSION['id']  : NULL;
if(!$id){
  header('location: url_page_de_connexion.php');
  exit();
}



De même... pour éviter qu'un utilisateur puisse aller le profil d'un autre.. il suffit de ne pas utiliser les variables GET (dans l'url) mais d'utiliser sa variable de session tout simplement...
Donc ton url devient :
fichier.php 

Et dans le fichier en question tu peux directement utiliser la variable $id (voir point précédent de ma réponse).


Pour finir, je t'invite à prendre connaissance de ceci avec attention avant de continuer :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code

puis : https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top

et éventuellement (si tu utilises ou passes à PDO ) :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
1
legameur6810 Messages postés 45 Date d'inscription mardi 21 novembre 2017 Statut Membre Dernière intervention 14 avril 2018
Modifié le 21 nov. 2017 à 22:07
Tu peut aussi le faire d'abord en faisant une page inscription et login voici les code html de la page d'inscription, pour le php je te laisse cherche et si tu est en grande calvaires je te le passerais. A et attention 127.0.0.1 signifie que je suis en local serveur pour le php. Et voici mon code a moi.

<html>
<head>
<title>Tchat Online</title>
<meta charset="utf-8">
<link rel="shortcut icon" href="favicon.ico" >
</head>
<body>
<div align="center">
<h2>Inscription</h2>
<br /><br />
<form method="POST" action="">
<table>
<tr>
<td align="right">
<label for="pseudo">Pseudo :</label>
</td>
<td>
<input type="text" placeholder="Votre Pseudo" id="pseudo" name="pseudo" />
</td>
</tr>
<tr>
<td align="right">
<label for="mail">Adresse Email :</label>
</td>
<td>
<input type="email" placeholder="Votre Adresse Email" id="mail" name="mail" />
</td>
</tr>
<tr>
<td align="right">
<label for="mail-confirme">Confirmation De L'Adresse Email :</label>
</td>
<td>
<input type="email" placeholder="Confirmation Adresse Email" id="mail-confirme" name="mail-confirme" />
</td>
<tr>
<td align="right">
<label for="mdp">Mot de passe : </label>
</td>
<td>
<input type="password" placeholder="Votre Mot De Passe" id="mdp" name="mdp" />
</td>
</tr>
<tr>
<td align="right">
<label for="mdp-confirmation">Confirmation Du Mot de passe : </label>
</td>
<td>
<input type="password" placeholder="Confirmation Mot De Passe" id="mdp-confirmation" name="mdp-confirmation" />
</td>
</tr>
<tr>
<td></td>
<td>
<br />
<input type="submit" name="forminscription" value="Je m'inscris*">
</td>
</tr>
</table>
<h4>*En cliquand sur je m'inscris vous acceder <a href="http://127.0.0.1/terme-et-condition-d-utilisation.php">les termes et condition.</a></h4>
</form>
</div>
</body>
</html>
-1
jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705
21 nov. 2017 à 23:02
Hello,
Tu dis :

Tu peut aussi le faire d'abord en faisant une page inscription et login

Mais bon.... Je pense qu'il est courant... puisqu'il à commencé sa question par :

j'ai créer une page d’inscription php ainsi qu'une page de connexion qui fonctionnent avec une bdd MySql


Sa question concernait la "limitation" à certaines pages de son site..
0