Php formulaire et envoi d'image

Résolu/Fermé
Zocan - 25 juin 2013 à 11:35
 Zocan - 25 juin 2013 à 11:40
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 !

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>
<?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:

1 réponse

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.
0