Aller au contenu
wscreator91

Espace-Membre

Noter ce sujet :

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.

Partager ce message


Lien à poster
Partager sur d’autres sites

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


Partager ce message


Lien à poster
Partager sur d’autres 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.

Partager ce message


Lien à poster
Partager sur d’autres 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.

Partager ce message


Lien à poster
Partager sur d’autres 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


Modifié par wscreator91

Partager ce message


Lien à poster
Partager sur d’autres 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 :( .....

Partager ce message


Lien à poster
Partager sur d’autres 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.

Partager ce message


Lien à poster
Partager sur d’autres 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 ?


Partager ce message


Lien à poster
Partager sur d’autres 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.


Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

×