Jump to content
Sign in to follow this  
wscreator91

Espace-Membre

Rate this topic

Recommended Posts

Bonjour,

Alors je viens de créer un espace-membre et j'en suis satisfait, les membres pourront ajouter leurs contenu et pourront aussi les modifier et/ou les supprimer,

mais j'ai un petit problème, j'aurais aimé que le membre qui a publié son contenu modifie que son contenu via une liste de contenu publié sur le site web.
Le problème est le suivant ... Il pourra modifier et supprimer n'importe quel contenu de n'importe quel membre et ce que je souhaites c'est privatisé tout sa en php.

Cordialement.

Share this post


Link to post
Share on other sites

Vérifie simplement que l'id du membre à qui appartient le contenu correspond à l'id du membre connecté, non ?


Share this post


Link to post
Share on other sites

Je n'ai pas réussi du coup voici mon script:

<?php				if (isset($_POST['auteur']) AND isset($_POST['page']) AND isset($_POST['contenu']) AND isset($_POST['categorie_id']))				{					$auteur = addslashes($_POST['auteur']);					$page = addslashes($_POST['page']);					$contenu = addslashes($_POST['contenu']);					$categorie_id = addslashes($_POST['categorie_id']);					if ($_POST['id_news'] == 0)					{						mysql_query("INSERT INTO citation VALUES('', 						'" . $auteur . "', 						'" . $page . "', 						'" . $contenu . "',						'" . $categorie_id . "',						'" . time() . "')");					}					else					{						$_POST['id_citation'] = addslashes($_POST['id_citation']);						mysql_query("UPDATE citation SET 						auteur='" . $auteur . "', 						page='" . $page . "',  						contenu='" . $contenu . "' 						WHERE id='" . $_POST['id_citation'] . "'");					}				}				 				if (isset($_GET['supprimer_citation']))				{					$_GET['supprimer_citation'] = addslashes($_GET['supprimer_citation']);					mysql_query('DELETE FROM citation WHERE id=\'' . $_GET['supprimer_citation'] . '\'');				}				$retour = mysql_query("SELECT * FROM citation WHERE id ORDER BY id DESC");				while ($donnees = mysql_fetch_array($retour))				{				// Affichage de la news				?>				<div align="center">				<table style=" border: 1px solid #bababa; width: 720px;">				<tr>				<td width="120" style="border-bottom: 1px dashed #bababa;border-right: 1px dashed #bababa;">				<div align="left">Modifier</div></td><td width="600" style="border-bottom: 1px dashed #bababa; background-color: #191919;">				<?php echo '<a href="ajouter_citation.php?modifier_citation=' . $donnees['id'] . '">'; ?>Modifier</a></td></tr>				<tr>				<td width="120" style="border-bottom: 1px dashed #bababa;border-right: 1px dashed #bababa;">				<div align="left">Supprimer</div></td><td width="600" style="border-bottom: 1px dashed #bababa; background-color: #191919;">				<?php echo '<a href="liste_articles.php?supprimer_citation=' . $donnees['id'] . '">'; ?>Supprimer</a></td></tr>				<tr>				<td width="120" style="border-bottom: 1px dashed #bababa;border-right: 1px dashed #bababa;">				<div align="left">Titre</div></td><td width="600" style="border-bottom: 1px dashed #bababa;">				<?php echo stripslashes($donnees['page']); ?></td></tr>				<tr>				<td width="120" style="border-bottom: 1px dashed #bababa;border-right: 1px dashed #bababa;">				<div align="left">Contenu</div></td><td width="600" style="border-bottom: 1px dashed #bababa;">				<?php echo stripslashes($donnees['contenu']);  echo substr($contenu, 0, 50).'...'; ?></td></tr>				<tr>				<td width="120" style="border-bottom: 1px dashed #bababa;border-right: 1px dashed #bababa;">				<div align="left">Catégorie</div></td><td width="600" style="border-bottom: 1px dashed #bababa;">				CITATION</td></tr>				</table>				<br>				<hr class="style_two" width="600" />				<br>				</div>								<?php } ?>

donc, comme l'a si bien expliqué Captain ce que je souhaiterais c'est:

Vérifier l'id du membre à qui appartient le contenu correspondant à l'id du membre connecté.

Merci de votre aide.

Share this post


Link to post
Share on other sites

Dans la table 'citation' est-ce que tu enregistres le pseudo de l'utilisateur ou son ID ?
Si tu enregistres l'ID (ce qui est plus sur car aucun risque de doublon), tu n'as qu'à le comparer à l'ID rattaché à la session de l'utilisateur.

if($session['user_id'] == $POST['user_id']){ // le visiteur est bien l'auteur de l'article, il peut le modifier / supprimer}else {// l'utilisateur n'est pas l'auteur}

Voila dans les grandes lignes ce que ça donnerait.

Share this post


Link to post
Share on other sites

Bonsoir, Merci tout de ta réponse alors malheureusement non ce n'est pas la même table car j'ai crée une table espace membre et une table de contenu.


J'ai essayé sa mais sa ne fonctionne pas :(



<?php
if($_SESSION['login'] == $_POST['login'])
{
[...]
}
else
{
// Vous n'êtes pas l'auteur de ce post
}
?>


Cordialement


Edited by wscreator91

Share this post


Link to post
Share on other sites

Désolé, je penses que je n'ai pas le droit de relancer le statut, mais je n'arrive toujours pas à faire fonctionné mon script normalement.

<a id="histoires"><H3>+ MES HISTOIRES</H3></a>				<BR>				<?php				if($_SESSION['user_id'] == $_POST['user_id'])			{						if (isset($_POST['login']) AND isset($_POST['titre']) AND isset($_POST['contenu']))				{					$login = addslashes($_POST['login']);					$titre = addslashes($_POST['titre']);					$contenu = addslashes($_POST['contenu']);					if ($_POST['id_histoire'] == 0)					{						mysql_query("INSERT INTO articles VALUES('', 						'" . $login . "', 						'" . $titre . "', 						'" . $contenu . "',						'" . time() . "')");					}					else					{						$_POST['id_histoire'] = addslashes($_POST['id_histoire']);						mysql_query("UPDATE articles SET 						login='" . $login . "', 						titre='" . $titre . "',  						contenu='" . $contenu . "' 						WHERE id='" . $_POST['id_histoire'] . "'");					}				}				 				if (isset($_GET['supprimer_histoire']))				{					$_GET['supprimer_histoire'] = addslashes($_GET['supprimer_histoire']);					mysql_query('DELETE FROM articles WHERE id=\'' . $_GET['supprimer_histoire'] . '\'');				}				$retour = mysql_query("SELECT * FROM articles WHERE id ORDER BY id DESC");				while ($donnees = mysql_fetch_array($retour))				{					// Affichage de la news				?>				<div align="center">				<table style=" border: 1px solid #bababa; width: 720px;">				<tr>				<td width="120" style="border-bottom: 1px dashed #bababa;border-right: 1px dashed #bababa;">				<div align="left">Modifier</div></td><td width="600" style="border-bottom: 1px dashed #bababa; background-color: #191919;">				<?php echo '<a href="ajouter_histoire.php?modifier_histoire=' . $donnees['id'] . '">'; ?>Modifier</a></td></tr>				<tr>				<td width="120" style="border-bottom: 1px dashed #bababa;border-right: 1px dashed #bababa;">				<div align="left">Supprimer</div></td><td width="600" style="border-bottom: 1px dashed #bababa; background-color: #191919;">				<?php echo '<a href="liste_articles.php?supprimer_histoire=' . $donnees['id'] . '">'; ?>Supprimer</a></td></tr>				<tr>				<td width="120" style="border-bottom: 1px dashed #bababa;border-right: 1px dashed #bababa;">				<div align="left">Titre</div></td><td width="600" style="border-bottom: 1px dashed #bababa;">				<?php echo stripslashes($donnees['titre']); ?></td></tr>				<tr>				<td width="120" style="border-bottom: 1px dashed #bababa;border-right: 1px dashed #bababa;">				<div align="left">Contenu</div></td><td width="600" style="border-bottom: 1px dashed #bababa;">				<?php echo stripslashes($donnees['contenu']);  echo substr($contenu, 0, 50).'...'; ?></td></tr>				<tr>				<td width="120" style="border-bottom: 1px dashed #bababa;border-right: 1px dashed #bababa;">				<div align="left">Catégorie</div></td><td width="600" style="border-bottom: 1px dashed #bababa;">				HISTOIRE</td></tr>				</table>				<br>				<hr class="style_two" width="600" />				<br>				</div>				<?php 					}			}					else					{					// NO POST					}				?>

S'il vous plait, sa fait 2 jours que je passes mes journées à régler se problème et je n'y arrives pas :( .....

Share this post


Link to post
Share on other sites

Bonjour,

J'ai un petit problème au niveau de mon espace membre et je souhaiterais avoir une petite aide de votre part s'il vous plait,
je vous expliques au faite j'ai crée un espace-membre qui celui-ci à sa propre table "membres" et le membre peut ajouter du contenu
sur le site web via une autre table "citation".

Donc, jusque là tout va bien ils peuvent ajouter, modifier et supprimer le contenu. Mais le problème c'est que ils peuvent même modifier et supprimer le contenu publier par un autre membre,
et sa c'est pas terrible, donc j'ai essayé de mettre ce code:

<?phpif($_SESSION['login'] == $_POST['login'])       {              [...]       }       else       {        // Vous n'êtes pas l'auteur de ce post ou du moins vous ne voyez pas la liste des contenus d'un autre membre.       }?>

Mais cela ne fonctionne pas :(

Si vous avez l'amabilité de m'aider sur ce problème qui dure depuis 3 jours....
Cordialement.

Share this post


Link to post
Share on other sites

wscreator91, j'ai l'impression (Et je ne dois pas être le seul sur ce forum) que tu es allé un peu trop rapidement dans ton apprentissage.


As-tu analysé le contenu de tes variables $_SESSION['login'] et $_POST['login'] ? Que valent-elles ? Au vu de ton script plus haut, je serais tenté de dire qu'elles sont toutes les deux vides, car inexistantes.



Il serait ensuite intéressant de voir comment tes membres se connectent : où sont stockés leurs informations de connexion ?


Share this post


Link to post
Share on other sites

$_SESSION['user'] au lieu login déjà je suis me suis trompé puisque quand un membre s'inscrit la variable est $user et le post $login vient d'une autre table ou il y a le contenu j'ai même traduire en php que $user = $login mais je n'ai pas réussi et désolé pour le nouveaut post :s.


Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...