Problème avec envoi de fichiers php

aneantisseur Messages postés 385 Date d'inscription   Statut Membre Dernière intervention   -  
aneantisseur Messages postés 385 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 :
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.

A voir également:

14 réponses

Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 


$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
0
aneantisseur Messages postés 385 Date d'inscription   Statut Membre Dernière intervention   18
 
Non, ca donne exactement le même résultat.
0
aneantisseur Messages postés 385 Date d'inscription   Statut Membre Dernière intervention   18
 
Quelqu'un peut m'aider ?
0
aneantisseur Messages postés 385 Date d'inscription   Statut Membre Dernière intervention   18
 
Up
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
aneantisseur Messages postés 385 Date d'inscription   Statut Membre Dernière intervention   18
 
Quelqu'un peut m'aider ?
0
aneantisseur Messages postés 385 Date d'inscription   Statut Membre Dernière intervention   18
 
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.
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
<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
0
aneantisseur Messages postés 385 Date d'inscription   Statut Membre Dernière intervention   18
 
ca change rien
0
aneantisseur Messages postés 385 Date d'inscription   Statut Membre Dernière intervention   18
 
Quelqu'un peut m'aider s'il vous plait ? Le problème vient surement du formulaire.
0
aneantisseur Messages postés 385 Date d'inscription   Statut Membre Dernière intervention   18
 
Up
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
donnes le code complet de ton formulaire, et le nom du script appelé, celui qui traite de l'enregistrement
0
aneantisseur Messages postés 385 Date d'inscription   Statut Membre Dernière intervention   18
 
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.
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
<?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
}
?>
0
aneantisseur Messages postés 385 Date d'inscription   Statut Membre Dernière intervention   18
 
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.
0