Php envoi d'image via formulaire

Résolu/Fermé
Zocan - 26 juin 2013 à 09:39
 Zocan - 26 juin 2013 à 09:48
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>
<?php while (($livre = mysql_fetch_assoc($livres)) !== false) : ?>
<li>
<?php if (!empty($livre["couverture"])): ?>
	<img src="/images/<?php echo $livre["couverture"]; ?>" />
	<?php endif; ?>
<?php echo $livre["titre"]; ?> par
<em><?php echo $livre["auteur"]; ?> </em>
(<?php echo $livre["annee"]; ?>)
</li>
<?php endwhile; ?>
</ul>
</body>
</html>

<?php mysql_close($liaison); ?>


Si quelqu'un pouvait m'éclairer , ça serait génial !
Merci d'avance :)
A voir également:

2 réponses

ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
26 juin 2013 à 09:40
T'aurais pas déjà posé cette question hier ?
0
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 ;)
0