8722 sujets

Développement web côté serveur, CMS

Bonjour à tous et à toutes,

Je créer actuellement une galerie d'art, pour cela,
J'ai précédemment réalisé un espace publication permettant d'insérer, un titre, une oeuvre, une description, classification etc...

Tout fonctionne parfaitement, Mais,

Je souhaiterai maintenant réaliser une page permettant à l'utilisateur la modification d'une de ses œuvres publié.

J'avoue avoir encore beaucoup de mal à bien structuré mes pages.

Voici le code de ma page publication.php :

<?php session_start(); ?>
<?php  require_once("connexioninscription.inc.php"); ?>
<!DOCTYPE HTML>
<html>
<head>
<link rel="shortcut icon" title="crobara2bal" 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="éditez, partagez vos oeuvres, dessins, publication de vos oeuvres." />
<meta name="keywords" content="galerie, art, oeuvres, édition, éditer, publication, publier, artistes" />
<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
{
?>
<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;
 }

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


est-il préférable d'ajouter un Switch dans ma page publication avec case "publier" case "modifier"
ou de créer une nouvelle page "modificationpublication.php"

Merci à tous pour votre attention Smiley smile .