Envoyer des fichiers
Posté : 11 avr. 2015, 21:39
Bonjour, je voudrais créer un formulaire d'ajout de pizza permettant d'ajouter une image et de l'enregistrer dans le dossier ”./images/pizzas/” mais ça ne marche pas, pouvez-vous m'aider ?
Voici le code source du fichier "ajout_pizza.php" :
Voici le code source du fichier "ajout_pizza.php" :
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="style.css">
<title>Administration</title>
</head>
<body>
<?php
include"connexion.php";
$bdd = Connect_db();
if(isset($_POST) AND count($_POST)>0)
{
if (isset($_POST['nom']) AND isset($_POST['prix']) AND isset($_POST['ingredients'])) //Si le formulaire a été envoyé
{
if ($_POST['nom'] == NULL) // Le nom n'est pas renseigné
{
echo 'Veuilez entrer un nom pour votre pizza';
}
else if ($_POST['ingredients'] == NULL) // Les ingrédients ne sont pas renseignés
{
echo 'Veuilez entrer des ingrédients pour votre pizza';
}
else if ($_POST['prix'] == NULL) // Le prix n'est pas renseigné
{
echo 'Veuilez entrer un prix pour votre pizza';
}
else //Tous les champs sont remplis
{
$id_nom = htmlspecialchars($_POST['nom']);
$id_ingr = htmlspecialchars($_POST['ingredients']);
$id_prix = htmlspecialchars($_POST['prix']);
$query = $bdd->prepare('SELECT nom_pizza FROM pizzas WHERE nom_pizza = ?');
$query->execute(array($id_nom));
$data=$query->fetch();
if($data!=NULL AND count($data)>0)
{
$query = $bdd->prepare('UPDATE pizzas SET ingredients_pizza= ?, prix_pizza=? WHERE nom_pizza=?');
$query->execute(array($id_ingr,$id_prix,$id_nom));
echo '<section class="message">
Cette pizza existe déjà et a été modifiée.
</section>';
}
else
{
$req = $bdd->exec("INSERT INTO pizzas (nom_pizza, ingredients_pizza, prix_pizza) VALUES(\"".$id_nom."\", \"".$id_ingr."\", $id_prix)");
echo '<section class="message">
La pizza a été ajoutée.
</section>';
}
if (isset($_FILES['fichier'])) // AND $_FILES['fichier']['error'] == 0 AND $_FILES['fichier']['size'] <= 2097152) // 2MO
{
$infosfichier = pathinfo($_FILES['fichier']['name']);
print $infosfichier;
$ext_upload = $infosfichier['extension'];
$ext_autorisees = array('jpg', 'jpeg', 'png');
$nom_fichier=strtolower($id_nom);
echo $nom_fichier;
if (in_array($ext_upload, $ext_autorisees))
{
move_uploaded_file($_FILES['fichier']['tmp_name'],'./images/pizzas/' . $nom_fichier.'.'.$ext_upload);
}
}
}
}
}
else
{
?>
<section id="ajout_pizza">
<h1>Ajouter une nouvelle pizza au menu</h1>
<form action="#" method="post" enctype="multipart/form-data">
<div><label for="nom">Nom</label><input type="text" id="nom" name="nom" placeholder="Le nom de notre futur best-seller"/></div>
<div><label for="ingredients">Ingrédients</label><textarea id="ingredients" name="ingredients" placeholder="La liste d'ingrédients secrets" /></textarea></div>
<div><label for="prix">Prix</label><input type="text" id="prix" name="prix" placeholder="Le prix unitaire en euros"/></div>
<div><label for="image">Image (optionnelle, d'extension jpg ou png et de taille < 2Mo)</label><input type="file" name="fichier" id="fichier" /></div>
<input type="hidden" name="MAX_FILE_SIZE" value="2097152" />
<div>
<button type="submit">Enregistrer</button>
</div>
</form>
</section>
<?php
} //fin else
?>
</body>
</html>