Problème avec envoi de fichiers php
aneantisseur
Messages postés
377
Date d'inscription
Statut
Membre
Dernière intervention
-
aneantisseur Messages postés 377 Date d'inscription Statut Membre Dernière intervention -
aneantisseur Messages postés 377 Date d'inscription Statut Membre Dernière intervention -
Bonjour, j'ai un petit problème avec un formulaire où l'utilisateur envoi des champs text mais aussi deux champs fichier. Donc j'ai codé normalement, mais apparement ca bug, puisque rien ne s'ajoute à ma BDD. Voici mon code :
Merci.
if(isset($_POST['ajout_video']))
{
$query_ajout_video_final = mysql_query("INSERT INTO videos VALUES('', '".$_SESSION['pseudo']."', '".$_POST['name_video']."', '".$_POST['descr_video']."', '', '". 0 ."', '', '".time()."')") or die(mysql_error());
if (isset($_FILES['img_video']) AND $_FILES['img_video']['error'] == 0)
{
$infosfichier = pathinfo($_FILES['img_video']['name']);
$extension_upload = $infosfichier['extension'];
$extensions_autorisees = array('jpg');
if (in_array($extension_upload, $extensions_autorisees))
{
$nom = "videos/{$_POST[name_video]}.{$extension_upload}";
move_uploaded_file($_FILES['img_video']['tmp_name'],$nom);
mysql_query("UPDATE videos SET image='".$nom."' WHERE nom='".$_POST['name_video']."'");
echo 'L\'ajout de l\'image a bien été effectuée !';
}
else
{
echo '<p>Le format de l\'image n\'est pas bon. Veuillez le changer.</p>';
}
}
if (isset($_FILES['video']) AND $_FILES['video']['error'] == 0)
{
$infosfichier = pathinfo($_FILES['video']['name']);
$extension_upload = $infosfichier['extension'];
$extensions_autorisees = array('avi, wmv');
if (in_array($extension_upload, $extensions_autorisees))
{
$nom = "videos/{$_POST[name_video]}.{$extension_upload}";
move_uploaded_file($_FILES['video']['tmp_name'],$nom);
mysql_query("UPDATE videos SET chemin='".$nom."' WHERE nom='".$_POST['name_video']."'");
echo 'L\'ajout de la vidéo a bien été effectuée !';
}
else
{
echo '<p>Le format de la vidéo n\'est pas bon. Veuillez le changer.</p>';
}
}
}
Merci.
14 réponses
-
$nom = "videos/{$_POST[name_video]}.{$extension_upload}";
Cette ligne me parait bizarre mets plutot:
$nom = "videos/".$_POST[name_video].".".$extension_upload;
idem qq lignes plus bas -
Non, ca donne exactement le même résultat.
-
Quelqu'un peut m'aider ?
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Quelqu'un peut m'aider ?
-
Voilà le code de mon formulaire, car je viens de remarquer qu'en fait, la partie qui traite l'envoi des fichiers n'est pas du tout appelée :
<div style="float: left"><form action="" method="post" enctype="multipart/form-data"> Nom : <input type="text" name="name_video" id="name_video" /> Description : <textarea name="descr_video" id="descr_video"></textarea> Image (50Ko, 200px*200px) : <input type="file" name="img_video" id="img_video" /> Vidéo : <input type="file" name="video" id="video" /> <input type="submit" name="ajout_video_episode" id="ajout_video_episode" /></form></div>
Merci. -
<form action="" method="post" enctype="multipart/form-data">
il faut preciser par action="...." la page appelée, c a d le script qui traite l'upload -
ca change rien
-
Quelqu'un peut m'aider s'il vous plait ? Le problème vient surement du formulaire.
-
-
donnes le code complet de ton formulaire, et le nom du script appelé, celui qui traite de l'enregistrement
-
if(isset($_POST['ajout_video_episode'])) { echo'Page ajout'; $query_ajout_video_final = mysql_query("INSERT INTO videos VALUES('', '".$_SESSION['pseudo']."', '".$_POST['name_video']."', '".$_POST['descr_video']."', '', '". 0 ."', '', '".time()."')") or die(mysql_error()); if (isset($_FILES['img_video']) AND $_FILES['img_video']['error'] == 0) { $infosfichier = pathinfo($_FILES['img_video']['name']); $extension_upload = $infosfichier['extension']; $extensions_autorisees = array('jpg'); if (in_array($extension_upload, $extensions_autorisees)) { $nom = "videos/{$_POST[name_video]}.{$extension_upload}"; move_uploaded_file($_FILES['img_video']['tmp_name'],$nom); mysql_query("UPDATE videos SET image='".$nom."' WHERE nom='".$_POST['name_video']."'"); echo 'L\'ajout de l\'image a bien été effectuée !'; } else { echo '<p>Le format de l\'image n\'est pas bon. Veuillez le changer.</p>'; } } if (isset($_FILES['video']) AND $_FILES['video']['error'] == 0) { $infosfichier = pathinfo($_FILES['video']['name']); $extension_upload = $infosfichier['extension']; $extensions_autorisees = array('avi, wmv'); if (in_array($extension_upload, $extensions_autorisees)) { $nom = "videos/{$_POST[name_video]}.{$extension_upload}"; move_uploaded_file($_FILES['video']['tmp_name'],$nom); mysql_query("UPDATE videos SET chemin='".$nom."' WHERE nom='".$_POST['name_video']."'"); echo 'L\'ajout de la vidéo a bien été effectuée !'; } else { echo '<p>Le format de la vidéo n\'est pas bon. Veuillez le changer.</p>'; } } } else { echo'<div style="float: left"><form action="ajout_episode.php" method="post" enctype="multipart/form-data"><table><tr><td width="150px"> Nom : </td><td width="200px"><input type="text" name="name_video" id="name_video" /></td></tr> <tr><td width="150px">Description : </td><td width="200px"><textarea name="descr_video" id="descr_video"></textarea></td></tr> <tr><td width="150px">Image (50Ko, 200px*200px) : </td><td width="200px"><input type="file" name="img_video" id="img_video" /></td></tr> <tr><td width="150px">Vidéo : </td><td width="200px"><input type="file" name="video" id="video" /></td></tr> <tr><td width="150px"><input type="submit" name="ajout_video_episode" id="ajout_video_episode" /></td></tr></table></form></div>'; }
Merci. -
<?php //je supose qu'il y a qd même qq chose avant ce if //sinon il manque session_start(); puisque tu utilises $_SESSION['pseudo'] if(isset($_POST['ajout_video_episode'])) { echo'Page ajout'; $query_ajout_video_final = mysql_query("INSERT INTO videos VALUES('', '".$_SESSION['pseudo']."', '".$_POST['name_video']."', '".$_POST['descr_video']."', '', '". 0 ."', '', '".time()."')") or die(mysql_error()); if (isset($_FILES['img_video']) AND $_FILES['img_video']['error'] == 0) { $infosfichier = pathinfo($_FILES['img_video']['name']); $extension_upload = $infosfichier['extension']; $extensions_autorisees = array('jpg'); if (in_array($extension_upload, $extensions_autorisees)) { $nom = "videos/{$_POST[name_video]}.{$extension_upload}"; //la j'ai des doutes, // essayes avec: $nom = "videos/".$_POST[name_video].".".$extension_upload"; echo 'Nom: '.$nom; ///TEST move_uploaded_file($_FILES['img_video']['tmp_name'],$nom); mysql_query("UPDATE videos SET image='".$nom."' WHERE nom='".$_POST['name_video']."'"); echo 'L\'ajout de l\'image a bien été effectuée !'; } else { echo '<p>Le format de l\'image n\'est pas bon. Veuillez le changer.</p>'; } } if (isset($_FILES['video']) AND $_FILES['video']['error'] == 0) { $infosfichier = pathinfo($_FILES['video']['name']); $extension_upload = $infosfichier['extension']; $extensions_autorisees = array('avi, wmv'); if (in_array($extension_upload, $extensions_autorisees)) { $nom = "videos/{$_POST[name_video]}.{$extension_upload}"; move_uploaded_file($_FILES['video']['tmp_name'],$nom); mysql_query("UPDATE videos SET chemin='".$nom."' WHERE nom='".$_POST['name_video']."'"); echo 'L\'ajout de la vidéo a bien été effectuée !'; } else { echo '<p>Le format de la vidéo n\'est pas bon. Veuillez le changer.</p>'; } } } else { ?> <!-- c'est plus parlant en code html ensuite dans une table il faut avoir pour chaque ligne tr le mêm nombre de td ou mettre un colspan= pour compenser il suffit de fixer la largeur sur la première ligne les autre seront identiques mets une value au bouton submit = ce qui sera affiché dans le bouton --> <div style="float: left"> <form name="form1" method="post" action="ajout_episode.php" enctype="multipart/form-data"> <table> <tr> <td width="150px">Nom : </td> <td width="200px"><input type="text" name="name_video" id="name_video" /></td> </tr> <tr> <td>Description : </td> <td><textarea name="descr_video" id="descr_video"></textarea></td> </tr> <tr> <td>Image (50Ko, 200px*200px) : </td> <td><input type="file" name="img_video" id="img_video" /></td> </tr> <tr> <td>Vidéo : </td> <td><input type="file" name="video" id="video" /></td> </tr> <tr> <td colspan="2"><input type="submit" name="ajout_video_episode" id="ajout_video_episode" value=" ?"/></td> </tr> </table> </form> </div> <?php } ?> -
Apparement ca viendrait de mon include, puisque, retirée, le script marche.
Etant donné la longueur de l'include, je ne la posterai pas.
Merci à tous ceux qui m'ont apporté leur aide.