Bonjour,
Je suis assez novice en php , et j'ai décidé il y a peu de me replonger dans des bouquins (notamment Php 5 le guide complet de micro application)
J'ai suivi un de leur exercice qui consiste a crée un formulaire afin de crée une bibliothèque de livre . Tout se passe bien quand j'ajoute des livres dans ma base de donnée via le formulaire. Mais dès le moment ou je souhaite ajouter une photo en guise de couverture , plus aucun enregistrement (même dans phpmyadmin la table ne compte pas de nouvel enregistrement !) J'ai pourtant relu minutieusement mon code mais je ne vois pas ou est le problème !
ps : L'image de couverture s'upload bien par contre et si j'enlève les bout de codes concernant la photo de couverture tout fonctionne..
Source du formulaire :
<html><head><title>Biblio</title></head><body><h1> Ajout </h1><form action="ajoute.php" method="post"
enctype="multipart/form-data"><fieldset><legend> Nouveau livre </legend><label> Titre </label><input type="text" name="titre"/><br/><label> auteur </label><input type="text" name="auteur"/><br/><label> annee </label><input type="text" name="annee"/><br/><label> genre </label><select name="genre"><option value="Roman">Roman</option><option value="Poesie">Poésie</option></select><br/><label> Etat </label><input type="radio" name="etat" value="1"/> Neuf
<input type="radio" name="etat" value="0"/> Occasion
<br/><label> Couverture </label><input type="file" name="couverture"/><br/><input type="submit" value="Ajouter"/></fieldset><a href="Listing livre.php">Retour à la liste </a></body></html>
Source du script qui s'occupe d'ajouter ça a la BDD :
<?php$liaison=mysql_connect("localhost","root","");mysql_select_db("biblio");if(isset($_FILES['couverture'])){$source=$_FILES['couverture']['tmp_name'];$destination='c:\\wamp\\www\\images\\'.$_FILES['couverture']['name'];if($_FILES['couverture']['error']>0){die("erreur lors du telechargement du fichier");}if(!move_uploaded_file($source,$destination)){die("erreur lors du deplacement du fichier");}$couverture=$_FILES['couverture']['name'];}else{$couverture='';}$sql="insert into livre "."(titre, auteur, annee, genre, etat) VALUES "."('".mysql_real_escape_string($_REQUEST['titre'])."',"."'".mysql_real_escape_string($_REQUEST['auteur'])."',"."'".mysql_real_escape_string($_REQUEST['annee'])."',"."'".mysql_real_escape_string($_REQUEST['genre'])."',"."'".mysql_real_escape_string($_REQUEST['etat'])."',"."'".mysql_real_escape_string($couverture)."')";mysql_query($sql);mysql_close($liaison);?>
Ajout effectué !<a href="Listing livre.php">retour</a>
et enfin source du fichier qui s'occupe d'afficher la liste de film :
<?php$liaison=mysql_connect("localhost","root","");mysql_select_db("biblio");$sql="select * from livre";$livres=mysql_query($sql);?><html><head><title>Biblio</title></head><body><h1>Listes des livres </h1><ul><?phpwhile(($livre=mysql_fetch_assoc($livres))!== false):?><li><?phpif(!empty($livre["couverture"])):?><img src="/images/<?php echo $livre["couverture"]; ?>"/><?phpendif;?><?phpecho$livre["titre"];?> par
<em><?phpecho$livre["auteur"];?></em>(<?phpecho$livre["annee"];?>)</li><?phpendwhile;?></ul></body></html><?phpmysql_close($liaison);?>
Si quelqu'un pouvait m'éclairer , ça serait génial !
Merci d'avance :)
Si mais n'ayant eu aucune réponse et ayant posté un peu dans la mauvaise section (j'ai posté dans programmation en général , et la je viens de le reposter dans la sous section php) je me suis dis que j'obtiendrai peut être plus de réponse. Si cela pose un problème , j'efface celui ci ;)