Salut les gars je travail avec des amis sur un projet et nous rencontrons un petit problème sur une des options de l'espace admin du projet et en effet grâce a un formulaire nous aimerons par exemple que l'on puisse Upload une image, un titre de musique, le nom de l'artiste et aussi le poids du fichiers ";
Voila je rencontre un petit problème avec mon code.
Décrivez ici votre code ou ce que vous cherchez à faire
Entourez votre code pour bien le mettre en f<?php
session_start();
include '../functions/connect.func.php';
$ajouter_pays=$bdd->query("SELECT * FROM ajouter_pays ORDER BY id DESC");
if(isset($_SESSION['login']))
{
?>
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
<meta name="language" content="fr">
<link rel="stylesheet" type="text/css" href="css/style.css">
<link rel="icon" type="image/png" href="../img/twitter.png"/>
<link rel='stylesheet' href='font/css/font-awesome.css' type='text/css' media='all'/>
<link rel="stylesheet" type="text/css" href="css/ministrap.css">
<script src="js/jquery-1.7.2.min.js"></script>
</head>
<body class="with-top-bar">
<div class="top-bar">
<div class="container-full">
<div class="row">
<ul class="menu">
<li class="active"><a href="choisir_pays.php">Choisir un pays</a></li>
<li><a href="">Mettre le vidèo ou l'images d'intro</a></li>
<li><a href="">Ajouter des pub</a></li>
<li><a href="ajouter_pays.php">Ajouter un pays</a></li>
<li><a href="deconnexion.php">Se deconnecter</a></li>
</ul>
</div>
</div>
</div>
<h1 style="text-align:center; margin-top:-10px;">Le pays choisi est: </h1>
<?php
if(isset($_POST['submit'],$_POST['titre_chanson'],$_POST['nom_artiste'],$_POST['nom_page'],$_POST['poid']))
{
$nom_page=htmlspecialchars($_POST['nom_page']);
$titre_chanson=htmlspecialchars($_POST['titre_chanson']);
$nom_artiste=htmlspecialchars($_POST['nom_artiste']);
$poid=(int) $_POST['poid'];
if(!empty($titre_chanson) && !empty($nom_artiste) && !empty($nom_page) && !empty($poid))
{
$file_name= $_FILES['image_post']['name'];
$file_extension= strrchr($file_name, ".");
$file_tmp_name= $_FILES['image_post']['tmp_name'];
$file_dest= '../img/'.$file_name;
$extensions_autorisees= array('.jpg', '.jpeg','.png','.PNG');
if(in_array($file_extension, $extensions_autorisees))
{
if(move_uploaded_file($file_tmp_name, $file_dest))
{
// deuxieme partie pour insere une musique dans le site web
$file_name2= $_FILES['musique_post']['name'];
$file_extension2= strrchr($file_name2, ".");
$file_tmp_name2= $_FILES['musique_post']['tmp_name'];
$emplacement_du_fichier= '../download/'.$file_name2;
$extensions_autorisees2= array('.mp3', '.MP3');
if(in_array($file_extension2, $extensions_autorisees2))
{
if(move_uploaded_file($file_tmp_name2, $emplacement_du_fichier))
{
$ins=$bdd->prepare("INSERT INTO cameroun(titre_chanson,nom_artiste,nom_page,date_pubication,nom_image, image_url,filename,chemin_download,poid)VALUES(?,?,?,NOW(),?,?,?,?,?)");
$ins->execute(array($titre_chanson,$nom_artiste,$nom_page,$file_name,$file_dest,$file_name2,$emplacement_du_fichier,$poid));
$message="La musique a ete bien poster";
}
else
{
$message="Une erreur est survenue lors de l'envoi du fichier audio";
}
}
else
{
$message='Votre fichier doit être de format .mp3 ou .MP3';
}
}
else
{
$message="Une erreur est survenue lors de l'envoi du fichier image";
}
}
else
{
$message="Votre fichier doit être de format .jpg ou .jpeg";
}
}
else
{
$message="Veuillez remplir tout les champs";
}
}
?>
<div class="container">
<div class="row">
<div class="formulaire">
<form method="post" action="" enctype="multipart/form-data">
<input type="text" name="nom_page" placeholder="Le nom de la page" id="nom_page"><br>
<input type="file" name="image_post" id="image_upload" value="ajouter l'image"><br>
<input type="file" name="musique_post" id="image_upload" value="ajouter l'audio"><br>
<input type="text" name="titre_chanson" placeholder="titre de la chanson" id="nom_page"><br>
<input type="text" name="nom_artiste" placeholder="le nom de l'artiste" id="nom_page"><br>
<input type="text" name="poid" placeholder="poid du morceau" id="nom_page"><br>
<button type='submit' class='uploader_fichier' name="submit"><i class="fa fa-cloud-upload fa-2x" aria-hidden="true"></i> Uploader le fichier.</button>
</form>
<br>
<?php
if(isset($message))
{
echo '<p class="message">'.$message.'</p>';
}
?>
</div>
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){
$(".message").fadeOut(5000);
});
</script>
</body>
</html>
<?php
}
else
{
header("location:index.php");
}
?>orme
uploader plusieurs fichiers un fichier audio un une image et du texte
dans notre code on a une erreur un niveau de la ligne 74 $message="Une erreur est survenue lors de l'envoi du fichier audio
Salut,
est-ce que tu as essayé de mettre un chemin "absolu" au lieu de "relatif" pour la variable $emplacement_du_fichier
?
Pour moi il y a un problème dans l'insert
de ta requête !
<?php
$date_actu = date('Y-m-d H:i:s'); //La date 2016-10-24 18:32:46
$ins=$bdd->prepare("INSERT INTO cameroun(titre_chanson, nom_artiste, nom_page, date_publication, nom_image, image_url, filename, chemin_download, poid)VALUES(:titre_chanson, :nom_artiste, :nom_page, :date_publication, :nom_image, :image_url, :filename, :chemin_download, :poid)");
$ins->execute(array('titre_chanson' => $titre_chanson,
'nom_artiste' => $nom_artiste,
'nom_page' => $nom_page,
'date_publication' => $date_actu,
'nom_image' => $nom_image,
'image_url' => $img_url,
'filename' => $nom_chanson,
'chemin_download' => $chemin_download,
'poid' => $poid));
?>
@JeremieMeunier non, tu n'est pas obligé de nommer les paramètres
le pb doit venir de l'upload
il faut vérifier les erreurs comme ceci
if ($_FILES['musique_post']['error']) {
switch ($_FILES['musique_post']['error']){
case 1: // UPLOAD_ERR_INI_SIZE
$error = "444: Le fichier dépasse la limite autorisée par le serveur (fichier php.ini) !";
break;
case 2: // UPLOAD_ERR_FORM_SIZE
$error = "555: Le fichier dépasse la limite autorisée dans le formulaire HTML !";
break;
case 3: // UPLOAD_ERR_PARTIAL
$error = "L'envoi du fichier a été interrompu durant le transfert !";
break;
case 4: // UPLOAD_ERR_NO_FILE
$error = "666: Le fichier que vous avez envoyé a une taille nulle !";
break;
}
}
Voici un truc semblable au tien (avec des bonus), j'espere que sa t'aidera
require_once('necessaires/db.php');
//si l'utilisateur clique sur uploader
if(isset($_POST['submit']))
{
$fileSize = $_FILES["file"]["size"];
if ($fileSize < 20074449)
{
if(isset($_GET['am'])){
$detail = $bdd->prepare("SELECT * FROM albums_mixtapes WHERE artiste = ? AND titre = ?");
$detail->execute(array($_GET['artiste'],$_GET['am']));
$verif = $detail->rowCount();
if($verif === 1){
$info = $detail->fetch();
$nom_artiste = $info->artiste;
$titre_single = htmlspecialchars(trim(addslashes($_POST['titre'])));
$image_single = $info->cover;
$image_artiste = $info->cover;
$en_feat = htmlspecialchars(trim($_POST['feat']));
$titre_single = htmlspecialchars(trim($_POST['titre']));
$genre_single = htmlspecialchars(trim($_POST['genre']));
$duree_single = htmlspecialchars(trim($_POST['duree']));
$production_beat = htmlspecialchars(trim($_POST['prod']));
$facebook = $info->fb;
$mixtape = $info->titre;
$pays = $info->pays;
$mode_promo = $info->mode;
}else{
echo 'Cette mixtape ou album n\'existe pas';
exit();
}
}else{
//reconnaissances et sécurisisation des variables renvoyées
$nom_artiste = htmlspecialchars(trim($_POST['artiste']));
$titre_single = htmlspecialchars(trim($_POST['titre']));
$en_feat = htmlspecialchars(trim($_POST['feat']));
$genre_single = htmlspecialchars(trim($_POST['genre']));
$duree_single = htmlspecialchars(trim($_POST['duree']));
$mode_promo = htmlspecialchars(trim($_POST['mode']));
$production_beat = htmlspecialchars(trim($_POST['prod']));
$pays = htmlspecialchars(trim($_POST['pays']));
$facebook = htmlspecialchars(trim($_POST['fb']));
$offres = htmlspecialchars(trim($_POST['offres']));
$mixtape = htmlspecialchars(trim($_POST['mixtape']));
//images uploader
//img single
// on attribut un nom aléatoire
$strf = "";
$str = "abcdefghijklmnpqrstuvwxy0123456789_";
srand((double)microtime()*1000000);
for($i=0; $i<40; $i++)
{
$strf .= $str[rand()%strlen($str)];
}
$image_single = str_replace(' ','-',str_replace('é','-',strtolower($nom_artiste.' '.$strf.' '.$_FILES['cover']['name'])));
$image_single_tmp = $_FILES['cover']['tmp_name'];
if (!empty($image_single))
{
move_uploaded_file($image_single_tmp,'images/cover/'.$image_single);
}else{
$image_single = 'cover.jpg';
}
$image_artiste = $_FILES['img_artiste']['name'];
$image_artiste_tmp = $_FILES['img_artiste']['tmp_name'];
if (!empty($image_artiste))
{
move_uploaded_file($image_artiste_tmp,'images/artistes/'.$image_artiste);
}else{
$image_single = 'cover.jpg';
}
}
// extencions permises
$allowedExts = array("mp3","MP3");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
if ($extension == 'mp3' || $extension == 'MP3')
{
if ((($_FILES["file"]["type"] == "audio/mp3") || ($_FILES["file"]["type"] == "audio/MP3")) && in_array($extension, $allowedExts))
{
if ($_FILES["file"]["error"] > 0) {
echo "0";
} else {
$fileName = $_FILES["file"]["name"];
$fileType = $_FILES["file"]["type"];
$urlid = rand(10000,90000);
$urlid2 = rand(10000000000000000,900000000000000000);
//dossier ou le single sera envoyé
$dossier = "singles/";
move_uploaded_file($_FILES["file"]["tmp_name"], $dossier. $urlid2. ".mp3" );
$url = "$urlid2.mp3";
//requete sql
//requête d'insertion des info sur le fichier dans le mp3
$query = $bdd->prepare("INSERT INTO singles(id,artiste,titre,taille,genre,mode,cover,album_mixtape,lien,date_ajout,pays,prod,source,duree,feat,ecoutes,vote_pour,vote_contre,telechargements,vues)
VALUES (?,?,?,?,?,?,?,?,?,NOW(),?,?,?,?,?,0,0,0,0,0) ");
$query->execute(array($urlid,$nom_artiste,$titre_single,$fileSize,$genre_single,$mode_promo,$image_single,$mixtape,$urlid2,$pays,$production_beat,$fileName,$duree_single,$en_feat));
//pour ajouter des donnée a la table artistes
$artiste = $bdd->prepare("SELECT id FROM artistes WHERE nom = ?");
$artiste->execute(array($nom_artiste));
$conteA = $artiste->rowCount();
if($conteA === 0){
$new_artiste = $bdd->prepare("INSERT INTO artistes(nom,facebook,img,pays) VALUES (?,?,?,?)");
$new_artiste->execute(array($nom_artiste,$facebook,$image_artiste,$pays));
}
/*if($offres == 'platine' || $offres == 'or' || $offres == 'argent')
{
$req1 = $bdd->query("INSERT INTO offres_pris(id,offres,date_debut,id_source) VALUES ('','$offres',NOW(),'$urlid')");
}
//augmenter le nmbre de singles concernat la mixtape en question
if(!empty($mixtape))
{
$sqlQ = $bdd->prepare("UPDATE albums_mixtapes SET nbr_mp3 = nbr_mp3+1 WHERE team = ? AND mixtape = ? ");
$sqlQ->execute(array($nom_artiste, $mixtape));
}
//on vérifie sil'artiste n'est pas déjà inscrit
$requete = $bdd->query("SELECT id FROM teams_artistes WHERE nom = '$nom_artiste'");
$conte = $requete->rowCount();
if($conte === 0)
{
if(empty($image_artiste))
{
$image_artiste = 'cover.jpg';
}
$q = $bdd->query("INSERT INTO teams_artistes VALUES ('','$nom_artiste',0,0,0,0,0,'$envoyeur',0,0,0,1,0,'$pays',NOW(),'$image_artiste','$label_team') ");
}else{
$q = $bdd->query("UPDATE teams_artistes SET singles = singles+1 WHERE nom = '$nom_artiste'");
}
//requete pour mettre le nombre de single de la mixtape a jour au cas ou sa l'est
if(!empty($mixtape))
{
$sqlREQ = $bdd->prepare("UPDATE albums_mixtapes SET nbr_mp3 = nbr_mp3 WHERE team = ? AND mixtape = ?");
$sqlREQ->execute(array($nom_artiste, $mixtape));
}*/
echo "Le fichier ".$fileName ." a été bien uploadé <br> <a href='zik.php?id=$urlid' target='_blank'>Voir le single</a>";
}
}
}else{
echo "Veiller sélectionner un fichier audio mp3";
}
}else{
echo "Votre fichier mp3 ne doit pas dépasser 20 MB";
}
}