Bonjour à tous et à toutes,
Je suis actuellement entrain d'essayer de confectionner une "galerie d'art" dynamique, liant les informations de l'oeuvre (image) publié au membre qui la posté.
J'aurais besoin d'aide pour la mise en forme du code php :/,
Voici mon code actuelle de ma page publication.php
<?php session_start(); ?>
<?php require_once("connexioninscription.inc.php"); ?>
<?php
$query=$bdd->prepare('SELECT artiste_id, titre_oeuvre, description_oeuvre, image_oeuvre, oeuvre_categorie, oeuvre_style, oeuvre_id, date_crea, date_edit FROM oeuvre_artiste');
if (empty($_SESSION'membre_id']))
{
echo '<p class="textewarning">'."vous devez vous connectez pour accéder à la publication oeuvre".'</p>';
}
else
{
echo '<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" id="oeuvretitre" /></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="imgpublication"/></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="oeuvredescription" 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="categorie" id="categorie">
<option value="peinture">Peinture</option>
<option value="croquis">Croquis</option>
<option value="dessin">Dessin</option>
<option value="autre">Autre...</option>
</select></p></div>
<div id="encpubldiv"><label for="style"><p class="textesimplesans">Style : </label>
<select name="style" id="style">
<option value="abstrait">Abstrait</option>
<option value="pointillisme">Pointillisme</option>
<option value="cubisme">Cubisme</option>
<option value="autre">Autre...</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="datecreaoeuvre" id="datecreaoeuvre" /></p></div>
<input type="submit" name="envoyer" value="envoyer"/>
</div></form>';
if (isset($_POST'envoyer']))
{
if (!empty($_FILES))
{
$imgpublication=$_FILES'image_oeuvre']'imgpublication'];
$ext = strtolower(pathinfo($imgpublication'image_oeuvre']'name'],PATHINFO_EXTENSION));
$allow_ext = array('jpg','png','gif','bmp','jpeg');
if (in_array($ext,$allow_ext))
{
move_uploaded_file($imgpublication'image_oeuvre']'tmp_name'],"images/oeuvres/".$imgpublication'image_oeuvre']'name']);
$id=($_SESSION'membre_id']);
$query1 = $bdd->prepare('UPDATE membres SET image_oeuvre=:oeuvre, oeuvre_id=:oid WHERE artiste_id=:id');
$query1->bindValue(':oeuvre',$imgpublication,PDO::PARAM_STR);
$query1->bindValue(':id',$id,PDO::PARAM_INT);
$query1->execute();
$query1->CloseCursor();
}
}
else
{
$erreurpublication = "Votre fichier contient une mauvaise extension, ou n'est pas une image.";
}
if (isset($erreurpublication))
{
echo $erreurpublication;
}
$titre = ($_POST'titre']);
$oeuvredescription = ($_POST'oeuvredescription']);
$style = ($_POST'style']);
$datecreaoeuvre = ($_POST'datecreaoeuvre']);
}
}
?>
voici ma table oeuvre_artiste, qui récupère les informations de l'upload d'une image.
-- Structure de la table `oeuvre_artiste`
--
CREATE TABLE IF NOT EXISTS `oeuvre_artiste` (
`artiste_id` int(11) NOT NULL,
`titre_oeuvre` varchar(100) NOT NULL,
`description_oeuvre` text NOT NULL,
`image_oeuvre` varchar(100) NOT NULL DEFAULT 'défaut.jpg',
`oeuvre_categorie` int(11) NOT NULL,
`oeuvre_style` int(11) NOT NULL,
`oeuvre_id` int(11) NOT NULL AUTO_INCREMENT,
`date_crea` date NOT NULL,
`date_edit` date NOT NULL,
PRIMARY KEY (`oeuvre_id`),
KEY `titre_oeuvre` (`titre_oeuvre`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Stockage oeuvre' AUTO_INCREMENT=1 ;
précédemment, le système que j'avais mis en place permettait de télécharger l'image a partir du formulaire directement dans un dossier "oeuvres", j'ai donc tenté d'insérer le nom de l'image uploader dans ma table (bdd) mais ça ne fonctionne pas :/ et aucun message d'erreur de s'affiche après l'envoie du formulaire d'upload qui ne fonctionne pas ^^'.
Merci pour votre attention et votre aide :).