8721 sujets

Développement web côté serveur, CMS

Bonjour à tous et à toutes,

Je suis actuellement sur la création d'un "galerie d'art".

J'ai précédemment réalisé un système permettant aux membres de publier des œuvres, avec un titre, une description un id image, un id membre, etc....

Voici le code de ma page publication (switch case : publier ) : ( qui fonctionne parfaitement ^^ )

<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: [langue]ARAM_INT);
$req->bindValue(':titre_oeuvre', $titre, PDO: [langue]ARAM_STR);
$req->bindValue(':description_oeuvre', $oeuvre_description, PDO: [langue]ARAM_STR);
$req->bindValue(':image_oeuvre', $imgpublication, PDO: [langue]ARAM_STR);
$req->bindValue(':oeuvre_categorie', $cat, PDO: [langue]ARAM_INT);
$req->bindValue(':oeuvre_style', $styl, PDO: [langue]ARAM_INT);
$req->bindValue(':date_crea', $datecreaoeuvre, PDO: [langue]ARAM_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;
 }

}
}


Ce que je souhaiterai effectuer maintenant et un système permettant la modification d'une publication effectuer par un membre.

Pour cela il faut effectuer une première page permettant la sélection d'une des œuvres du membre x, pour être ensuite modifier, mais je ne vois pas comment m'y prendre Smiley decu .

Voici mon début de code de la page publication ( switch case : modifier )

 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: [langue]ARAM_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;


Merci pour votre attention, et votre aide Smiley smile .
Modifié par Reverb (26 Nov 2013 - 12:06)
Bonjour à tous et à toutes,

Jusqu'à là j'ai réussi a instaurer un système qui permet au membre de sélectionner l'une de ses œuvres avant de la modifier.
Pour cela, j'ai rajouté un "case" dans mon switch,

case "selection":
	 
	 $artiste_id = $_SESSION['membre_id'];
	 echo '<h3 class="textesimple">'."Séléctionnez une oeuvres".'</h3>';
$reponse=$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= :artiste_id');
$reponse->bindValue(':artiste_id', $artiste_id, PDO: [langue]ARAM_INT);
$reponse->execute();
 while ($data=$reponse->fetch()) { 
 
 echo '<div id="ficheartistegal"><a href="./publication.php?s='.stripslashes(htmlspecialchars($data['oeuvre_id'])).'&amp;action=modifier"><figure><img src="./images/oeuvres/'.$data['image_oeuvre'].'" class="imgavatargal" alt="oeuvres artiste" /><figcaption><p class="boutonlien">'.htmlspecialchars($data['titre_oeuvre']).'</p></figcaption></figure></a></div>';
 }
 $reponse->closeCursor();
	 
	 break;


J'ai donc ensuite passer l'id de l'oeuvre dans l'url grace a GET.

J'aurais besoin d'aide pour le système de validation de modification de l'oeuvre ^^,
voici mon code actuelle de "case": modifier,

case "modifier":
$oeuvre_id = isset($_GET['s'])?(int) $_GET['s']:'';
$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');
$query->bindValue(':oeuvre_id', $oeuvre_id, PDO: [langue]ARAM_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();
	 
	  break;


Merci pour votre aide et votre attention.