Salut tout le monde,
j'ai une nouvelle fois un problème,
je cherche à uploadé un fichier MP3 via php sur mon serveur.
Je cherche également à insérer le fichier dans une table "media" et la description dans une autre table "chronique".
Le problème que je rencontre est qu’apparemment les données que je passe en POST via mon formulaire ne sont pas reconnues dans mon fichier "ajouter.php" (script d'upload).
voici le code de mon formulaire :
Voici le code de mon script d'upload :
Avez vous une idée , svp?
Merci.
Nota: Meme si cela n'a rien avoir j'ai bien pensé à regarder et modifier mon php.ini pour les taille de post et d'upload.
j'ai une nouvelle fois un problème,
je cherche à uploadé un fichier MP3 via php sur mon serveur.
Je cherche également à insérer le fichier dans une table "media" et la description dans une autre table "chronique".
Le problème que je rencontre est qu’apparemment les données que je passe en POST via mon formulaire ne sont pas reconnues dans mon fichier "ajouter.php" (script d'upload).
voici le code de mon formulaire :
if ((isset ($_SESSION['type_utilisateur'])) AND $_SESSION['type_utilisateur']=="3"){
include ('config.cfg.php');
echo ('');
echo ('<form method="post" action="?p=offres/ajouter_chronique" enctype="multipart/form-data">
<fieldset>
<legend><h3>Gestion des chroniques >> Ajouter une chronique</h3></legend>
<input type="hidden" name="MAX_FILE_SIZE" value="10000000000000000000000" /> <!-- Taille maximum du fichier en octet -->
<table>
<tr>
<td><b>Nom de la chronique :</b></td>
<td><input class="validate[required,length[0,100]] text-input" type="text" name="nom_chronique" /></td>
</tr>
<tr>
<td><b>Durée :</b></td>
<td><input class="validate[required,length[0,100]] text-input" type="text" name="duree" /></td>
</tr>
<tr>
<td><b>Fichier:</b></td>
<td><input type="file" name="fich" size="10000000000000000000000" /></td>
</tr>
<tr>
<td><b>Horaire Mise à Jour :</b></td>
<td><input type="text" name="maj"/></td>
</tr>
<tr>
<td><b>Prix :</b></td>
<td><input class="validate[required,custom[telephone]] text-input" type="text" name="prix" /></td>
</tr>
<tr>
<td></td>
<td><input class="submit" type="submit" value="Ajouter chronique" /></td>
</tr>
</table>
</fieldset>
</form>
</div>
<script type="text/javascript">
$(document).ready(function() {
$("#formID").validationEngine()
})
</script>');
mysql_close($connexion);
}
else{
echo("<div class='annonce1'><h3>Erreur : Vous n'êtes pas authorisé(e) à accèder à cette page</h3>");
echo '<meta http-equiv="refresh" content="3;URL=./index.php"></div>';
}
Voici le code de mon script d'upload :
if ((isset ($_SESSION['type_utilisateur'])) AND $_SESSION['type_utilisateur']=="3"){
include('config.cfg.php');
$nom=$_POST['nom_chronique'];
$duree=$_POST['duree'];
$prix=$_POST['prix'];
$maj=$_POST['maj'];
$media_url=$path.$_FILES["fich"]["name"];
//echo $media_url; permet de tester l'url finale.
$dossier = 'audios/';
$fichier = basename($_FILES['fich']['name']);
$taille_maxi = 10000000000000000000000;
$taille = filesize($_FILES['fich']['tmp_name']);
$extensions = array('.mp3', '.wma', '.aac', '.flac');
$extension = strrchr($_FILES['fich']['name'], '.');
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
$erreur = 'Vous devez uploader un fichier de type mp3, wma, aac,flac...';
echo "<div class='annonce1' >".$erreur."<h3/></div>";
}
if($taille>$taille_maxi)
{
$erreur = 'Le fichier est trop gros...';
echo "<div class='annonce1' >".$erreur."<h3/></div>";
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
//On formate le nom du fichier ici...
$fichier = strtr($fichier,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
if(move_uploaded_file($_FILES['fich']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
{
$sql="INSERT INTO offres_chroniques VALUES('NULL', '".$nom."','".$duree."', '".$maj."','".$prix."');";
// $_FILES["fich"]["type"] ---> images/jpg $_FILES["fich"]["name"] ---> nom.jpg
echo ($sql);
mysql_query($sql);
$sql2="INSERT INTO medias VALUES('NULL', '11','".$fichier."', '".$fichier."','".$media_url."','".$_SESSION['pseudo_utilisateur']."',NOW());";
// $_FILES["fich"]["type"] ---> images/jpg $_FILES["fich"]["name"] ---> nom.jpg
echo ($sql2);
mysql_query($sql2);
echo 'Upload effectué avec succès !';
}
else //Sinon (la fonction renvoie FALSE).
{
echo 'Echec de l\'upload !';
}
}
else
{
echo $erreur;
}
//fermeture connexion
mysql_close($connexion);
}
Avez vous une idée , svp?
Merci.
Nota: Meme si cela n'a rien avoir j'ai bien pensé à regarder et modifier mon php.ini pour les taille de post et d'upload.