Modification d'un publication

Fermé
reverb94 Messages postés 106 Date d'inscription jeudi 7 mars 2013 Statut Membre Dernière intervention 7 janvier 2014 - 21 nov. 2013 à 12:43
reverb94 Messages postés 106 Date d'inscription jeudi 7 mars 2013 Statut Membre Dernière intervention 7 janvier 2014 - 4 déc. 2013 à 12:58
Bonjour à tous et à toutes,

Je suis actuellement sur la création d'une sorte de réseau social, permettant aux artistes, dessinateurs etc, de publier des oeuvres, dessins, graphes, etc, avec une description un titre une date, l'image ,etc..

Sachant que l'internaute passe obligatoirement par un formulaire d'inscription pour son profil, avec un id membre etc...

Lorsque l'artiste "x_id1" publie une dizaines d'oeuvre, il n'y a aucun système de modification de la publication.

J'aimerais donc créer ce système permettant à l'internaute de modifier ses publications.

Pour cela, j'ai ma petite idée de mise en page du système mais ne vois pas comment le réaliser.

Actuellement, j'ai ma page publication, dans laquelle j'y ai inséré 2 Switch case,

un switch case [publication] pour publier les oeuvre ^^ ( jusqu'à la tout fonctionne )
et une autre "case" du switch pour [modification] ( là ça ne marche pas encore x) )

Quand l'internaute sélectionnera la case "Modifier" je souhaiterai que dans un premier temps, une page de sélections de modification soit proposé en affichant toutes les oeuvres éditer jusqu'à la permettant à l'internaute de sélectionné l'oeuvre qu'il souhaite modifier parmi ses 10 publications. ( J'espère que mes explications vous sont compréhensible x) )

Si je ne me trompe pas, cela incite de rajouté un switch dans un switch.

Voici ma page actuelle publication.php :

<?php session_start(); ?>
<?php  require_once("connexioninscription.inc.php"); ?>
<!DOCTYPE HTML>
<html>
<head>
<link rel="shortcut icon" title="cmonsite" type="image/png" href="mafavicon.png" />
<link href="css1.css" rel="stylesheet" type="text/css">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="blablabla." />
<meta name="keywords" content="mot clef ( obsolete sur certain moteur de recherche)" />
<title>
Publication</title>
</head>

<body>
<div id="container">
<?php include("header.inc.php"); ?>
<?php include("menus.inc.php"); ?>
<div id="corpspublication">
<div id="retourselect">
<a href="publication.php" title="recharger la page publication"><h1 class="titre1">Publication</h1></a>
</div>
 <div id="souscorpspublication">
 <div id="encartpubl"><h3 class="textesimple">Publier une oeuvre</h3></div>
 <div id="soussouscorpspublication">
<?php
if (empty($_SESSION['membre_id']))
{
	echo '<p class="textewarning">'."vous devez vous connectez pour accéder à la publication oeuvre".'</p>';
}
else
{

 switch ($_GET['action']) {
	 
	 case "modifier":

$id=($_SESSION['membre_id']);
$id_oeuvre=($_SESSION['oeuvre_id']);	 
$query = $bdd->prepare('SELECT oeuvre_id, artiste_id, titre_oeuvre, description_oeuvre, image_oeuvre, oeuvre_categorie, oeuvre_style, date_crea FROM oeuvre_artiste WHERE artiste_id=:id');
$query->bindValue(':id', $id, PDO::PARAM_INT);
        $query->execute();
        $data = $query->fetch();
		?>
		<form id="oeuvre_id" method="post" action="publication.php?action=modifier" enctype="multipart/form-data">';
		
		<p class="textesimple"><label for="imageoeuvre">Changer l'image : </label><input type="file" name="imageoeuvre" id="imageoeuvre"/>
(max : 10 Mo)<br /><br /><label><input type="checkbox" name="delete" value="Delete"/>Supprimer l'oeuvre</label> actuel : <img src="./images/oeuvres/<?php echo $data['image_oeuvre'] ?>" class="imageoeuvre" alt="image"/></p>
		
		<p class="textesimple"><label for="titreoeuvre">Titre de l'oeuvre : </label><input type="text" name="titreoeuvre" id="titreoeuvre" value="<?php echo $data['titre_oeuvre'] ?>" /></p>
		
		<p class="textesimple"><label for="titreoeuvre">Description : </label><input type="text" name="descriptionoeuvre" id="descriptionoeuvre" value="<?php echo $data['description_oeuvre']?>"/></p>
		
		<div id="encpubldiv"><label for="categorie"><p class="textesimplesans">Catégorie : </label>
       <select name="oeuvre_categorie" id="categorie" value="<?php echo $data['oeuvre_categorie'] ?>">
	      
	 	   <option value="autre" <?php if("autre"==$data['oeuvre_categorie']){?> selected <?php } ?>>Autre...</option>
           <option value="bandedessine" <?php if("bandedessine"==$data['oeuvre_categorie']){?> selected <?php } ?>>Bande dessinée</option>
           <option value="peinture" <?php if("peinture"==$data['oeuvre_categorie']){?> selected <?php } ?>>Peinture</option>
           <option value="croquis" <?php if("croquis"==$data['oeuvre_categorie']){?> selected <?php } ?>>Croquis</option>
           <option value="dessin" <?php if("dessin"==$data['oeuvre_categorie']){?> selected <?php } ?>>Dessin</option>
		   <option value="graphe" <?php if("graphe"==$data['oeuvre_categorie']){?> selected <?php } ?>>Graphe</option>
           
       </select></p></div>
	   
	   <div id="encpubldiv"><label for="style"><p class="textesimplesans">Style : </label>
       <select name="oeuvre_style" id="style" value="<?php echo $data['oeuvre_style'] ?>">
		   <option value="autre" <?php if("autre"==$data['oeuvre_style']){?> selected <?php } ?>>Autre...</option>
           <option value="abstrait" <?php if("abstrait"==$data['oeuvre_style']){?> selected <?php } ?>>Abstrait</option>
		   <option value="arturbain" <?php if("arturbain"==$data['oeuvre_style']){?> selected <?php } ?>>Art urbain</option>
		   <option value="baroc" <?php if("baroc"==$data['oeuvre_style']){?> selected <?php } ?>>Baroc</option>
		   <option value="cubisme" <?php if("cubisme"==$data['oeuvre_style']){?> selected <?php } ?>>Cubisme</option>
		   <option value="dadaisme" <?php if("dadaisme"==$data['oeuvre_style']){?> selected <?php } ?>>Dadaisme</option>
		   <option value="expressionnisme" <?php if("expressionnisme"==$data['oeuvre_style']){?> selected <?php } ?>>Expressionnisme</option>
		   <option value="fauvisme" <?php if("fauvisme"==$data['oeuvre_style']){?> selected <?php } ?>>Fauvisme</option>
		   <option value="futurisme" <?php if("futurisme"==$data['oeuvre_style']){?> selected <?php } ?>>Futurisme</option>
		   <option value="gothisme" <?php if("gothique"==$data['oeuvre_style']){?> selected <?php } ?>>Gothisme</option>
		   <option value="hyperrealisme" <?php if("hyperrealisme"==$data['oeuvre_style']){?> selected <?php } ?>>Hyperrealisme</option>
		   <option value="impressionnisme" <?php if("impressionnisme"==$data['oeuvre_style']){?> selected <?php } ?>>Impressionnisme</option>
		   <option value="rococo" <?php if("rococo"==$data['oeuvre_style']){?> selected <?php } ?>>Rococo</option>
		   <option value="romantisme" <?php if("romantisme"==$data['oeuvre_style']){?> selected <?php } ?>>Romantisme</option>
		   <option value="lettrisme" <?php if("lettrisme"==$data['oeuvre_style']){?> selected <?php } ?>>Lettrisme</option>
		   <option value="modernisme" <?php if("modernisme"==$data['oeuvre_style']){?> selected <?php } ?>>Modernisme</option>
		   <option value="naturalisme" <?php if("naturalisme"==$data['oeuvre_style']){?> selected <?php } ?>>Naturalisme</option>
		   <option value="neoclassicisme" <?php if("neoclassicisme"==$data['oeuvre_style']){?> selected <?php } ?>>Néoclassicisme</option>
		   <option value="neogothique" <?php if("neogothique"==$data['oeuvre_style']){?> selected <?php } ?>>Néogothique</option>
           <option value="pointillisme" <?php if("pointillisme"==$data['oeuvre_style']){?> selected <?php } ?>>Pointillisme</option>
		   <option value="popart" <?php if("popart"==$data['oeuvre_style']){?> selected <?php } ?>>Popart</option>
		   <option value="photorealisme" <?php if("photorealisme"==$data['oeuvre_style']){?> selected <?php } ?>>Photoréalisme</option>
		   <option value="postimpressionnisme" <?php if("postimpressionnisme"==$data['oeuvre_style']){?> selected <?php } ?>>Postimpressionnisme</option>
		   <option value="punk" <?php if("punk"==$data['oeuvre_style']){?> selected <?php } ?>>Punk</option>
		   <option value="surrealisme" <?php if("surrealisme"==$data['oeuvre_style']){?> selected <?php } ?>>Surréalisme</option>
		   <option value="symbolisme" <?php if("symbolisme"==$data['oeuvre_style']){?> selected <?php } ?>>Symbolisme</option>
       </select></p></div>
	   
	    <p class="textesimple"><label for="datecreaoeuvre">Date de  création : </label><input type="text" name="datecreaoeuvre" id="descriptionoeuvre" value="<?php echo $data['date_crea'] ?>"/></p>
		
		<p class="classinscr"><input type="submit" value="Modifier une publication" />
        <input type="hidden" id="sent" name="sent" value="1" />
        </p></form>
        
        <?php
		
		$query->CloseCursor();
	 
	 echo '<p class="texteerror">'."La page de modification de publication est indisponible actuellement".'</p>';
	 
	  break;
	 
default;
?>
<form method="post" action="" enctype="multipart/form-data">

<legend><p class="textesimple"><b>Ajout d'une oeuvre</b></p></legend>
<div id="encartpubldiv"><div id="encpubldiv"><label for="titre"><p class="textesimple">Titre : </label><input type="text" name="titre_oeuvre" id="oeuvretitre" placeholder="Choisissez un titre"/></p></div>

<legend><p class="textesimple"><b>Sélectionnez une oeuvre</b></p></legend>

<div id="encpubldiv"><label for="oeuvre"><p class="textesimple">Image : </label><input type="file" name="image_oeuvre" class="inputenvoie"/></p></div>

<legend><p class="textesimple"><b>Décrivez votre oeuvre</b></p></legend>

<div id="encpubldiv"><label for="description"><p class="textesimple">Description : </label><textarea name="description_oeuvre" id="description" cols="40" rows="5" placeholder="Ecrivez une description de votre oeuvre ici !"></textarea></p></div>

<legend><p class="textesimple"><b>Classification</b></p></legend>

 <div id="encpubldiv"><label for="categorie"><p class="textesimplesans">Catégorie : </label>
       <select name="oeuvre_categorie" id="categorie">
       <option value="autre">Autre...</option>
           <option value="bandedessine">Bande dessinée</option>
           <option value="peinture">Peinture</option>
           <option value="croquis">Croquis</option>
           <option value="dessin">Dessin</option>
		   <option value="graphe">Graphe</option>
           
       </select></p></div>
	   
	  <div id="encpubldiv"><label for="style"><p class="textesimplesans">Style : </label>
       <select name="oeuvre_style" id="style">
		   <option value="autre">Autre...</option>
           <option value="abstrait">Abstrait</option>
		   <option value="arturbain">Art urbain</option>
		   <option value="baroc">Baroc</option>
		   <option value="cubisme">Cubisme</option>
		   <option value="dadaisme">Dadaisme</option>
		   <option value="expressionnisme">Expressionnisme</option>
		   <option value="fauvisme">Fauvisme</option>
		   <option value="futurisme">Futurisme</option>
		   <option value="gothisme">Gothisme</option>
		   <option value="hyperrealisme">Hyperrealisme</option>
		   <option value="impressionnisme">Impressionnisme</option>
		   <option value="rococo">Rococo</option>
		   <option value="romantisme">Romantisme</option>
		   <option value="lettrisme">Lettrisme</option>
		   <option value="modernisme">Modernisme</option>
		   <option value="naturalisme">Naturalisme</option>
		   <option value="neoclassicisme">Néoclassicisme</option>
		   <option value="neogothique">Néogothique</option>
           <option value="pointillisme">Pointillisme</option>
		   <option value="popart">Popart</option>
		   <option value="photorealisme">Photoréalisme</option>
		   <option value="postimpressionnisme">Postimpressionnisme</option>
		   <option value="punk">Punk</option>
		   <option value="surrealisme">Surréalisme</option>
		   <option value="symbolisme">Symbolisme</option>
       </select></p></div>

<legend><p class="textesimple"><b>Date de réalisation</b></p></legend>

<div id="encpubldiv"><label for="datecreaoeuvre"><p class="textesimple">Date de création : </label><input type="text" name="date_crea" id="datecreaoeuvre" placeholder="AAAA-MM-JJ"/></p></div>

<input type="submit" name="envoyer" value="envoyer" class="inputenvoie"/>
</div></form>

<?php

	 if (isset($_POST['envoyer'])) 
{ 
if (!empty($_FILES))
{
$imgpublication=$_FILES['image_oeuvre']['name'];
$ext = strtolower(pathinfo($imgpublication,PATHINFO_EXTENSION));
$allow_ext = array('jpg','png','gif','bmp','jpeg');
if (in_array($ext,$allow_ext))
{
	$destination ="./images/oeuvres/".$imgpublication;
move_uploaded_file($_FILES['image_oeuvre']['tmp_name'],$destination);

 $id=($_SESSION['membre_id']);
 $titre = ($_POST['titre_oeuvre']);
 $oeuvre_description = ($_POST['description_oeuvre']);
 $cat = ($_POST['oeuvre_categorie']);
 $styl = ($_POST['oeuvre_style']);
 $datecreaoeuvre = ($_POST['date_crea']);
 
 }
else
{
	$erreurpublication = '<p class="texteerror">'."Votre fichier contient une mauvaise extension, ou n'est pas une image.".'</p>';
}
 
 if(empty($id) OR empty($imgpublication) OR empty($titre) OR empty($cat) OR empty($styl) OR empty($oeuvre_description))
    {
    echo '<p class="textewarning">'."Vous devez remplir tous les champs".'</p>';
    }
 else
 {
try
{
 $req = $bdd->prepare('INSERT INTO oeuvre_artiste (artiste_id, titre_oeuvre, description_oeuvre, image_oeuvre, oeuvre_categorie, oeuvre_style, date_crea, date_edit) VALUES(:artiste_id,:titre_oeuvre,:description_oeuvre,:image_oeuvre,:oeuvre_categorie,:oeuvre_style,:date_crea, NOW())');
 
$req->bindValue(':artiste_id', $id, PDO::PARAM_INT);
$req->bindValue(':titre_oeuvre', $titre, PDO::PARAM_STR);
$req->bindValue(':description_oeuvre', $oeuvre_description, PDO::PARAM_STR);
$req->bindValue(':image_oeuvre', $imgpublication, PDO::PARAM_STR);
$req->bindValue(':oeuvre_categorie', $cat, PDO::PARAM_INT);
$req->bindValue(':oeuvre_style', $styl, PDO::PARAM_INT);
$req->bindValue(':date_crea', $datecreaoeuvre, PDO::PARAM_INT);

$req->execute();
 }
catch (Exception $e)
{
        die('Erreur : ' . $e->getMessage());
}
echo '<p class="textevalide">'."L'envoie à bien été effectué !".'</p>';
 }
}

 if (isset($erreurpublication))
 {
	 echo $erreurpublication;
 }

}
}

 }
?>
</div>
 </div>
</div>
<?php include("footer.inc.php"); ?>
</div>
</body>
</html>


Un grand merci à ce qui auront le courage de m'apporter un peu d'aide ^^
Sincèrement.

1 réponse

reverb94 Messages postés 106 Date d'inscription jeudi 7 mars 2013 Statut Membre Dernière intervention 7 janvier 2014 1
4 déc. 2013 à 12:58
Salut à tous,

j'ai réussi à avancer dans mon système :

$query = $bdd->prepare('SELECT oeuvre_id, artiste_id, titre_oeuvre, description_oeuvre, image_oeuvre, oeuvre_categorie, oeuvre_style, date_crea FROM oeuvre_artiste WHERE oeuvre_id=:oeuvre_id AND artiste_id=:artiste_id');
$query->bindValue(':oeuvre_id', $oeuvre_id, PDO: Smiley langue ARAM_INT);
$query->bindValue(':artiste_id', $artiste_id, PDO: Smiley langue ARAM_INT);

Grâce à ça, lorsqu'un membre cherche à modifier l'id d'oeuvre dans l'url avec de mauvaise attention pour modifier l'oeuvre d'une autre personne, une page avec le formulaire vide, s'affiche.

Maintenant j'aurais voulu savoir comment insérer une condition, pour interdire définitivement l'accès à ceux formulaire, si l'id oeuvre n'appartient pas à l'id artiste ^^.

Merci pour votre attention et votre aide.
0