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 !
Source du fomulaire :
<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 !
Je tiens a signaler que je n'ai aucun message d'erreur (au contraire "ajout effectué"
et que le problème n'intervient pas si j'enlève les bout de code destiné a la photo de couverture.
Trouvez des réponses à vos questions sur les langages, les frameworks et les astuces de codage. Échangez avec d'autres développeurs passionnés pour améliorer vos compétences en programmation et rester au fait des dernières tendances du secteur.