Problème avec envoi de fichiers php

Fermé
aneantisseur Messages postés 384 Date d'inscription dimanche 8 mars 2009 Statut Membre Dernière intervention 13 juillet 2018 - 23 mars 2010 à 19:44
aneantisseur Messages postés 384 Date d'inscription dimanche 8 mars 2009 Statut Membre Dernière intervention 13 juillet 2018 - 24 mars 2010 à 19:50
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 dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
23 mars 2010 à 19:58


$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 384 Date d'inscription dimanche 8 mars 2009 Statut Membre Dernière intervention 13 juillet 2018 18
23 mars 2010 à 20:10
Non, ca donne exactement le même résultat.
0
aneantisseur Messages postés 384 Date d'inscription dimanche 8 mars 2009 Statut Membre Dernière intervention 13 juillet 2018 18
23 mars 2010 à 20:30
Quelqu'un peut m'aider ?
0
aneantisseur Messages postés 384 Date d'inscription dimanche 8 mars 2009 Statut Membre Dernière intervention 13 juillet 2018 18
23 mars 2010 à 21:17
Up
0

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

Posez votre question
aneantisseur Messages postés 384 Date d'inscription dimanche 8 mars 2009 Statut Membre Dernière intervention 13 juillet 2018 18
24 mars 2010 à 09:22
Quelqu'un peut m'aider ?
0
aneantisseur Messages postés 384 Date d'inscription dimanche 8 mars 2009 Statut Membre Dernière intervention 13 juillet 2018 18
24 mars 2010 à 09:49
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 dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
24 mars 2010 à 10:26
<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 384 Date d'inscription dimanche 8 mars 2009 Statut Membre Dernière intervention 13 juillet 2018 18
24 mars 2010 à 10:36
ca change rien
0
aneantisseur Messages postés 384 Date d'inscription dimanche 8 mars 2009 Statut Membre Dernière intervention 13 juillet 2018 18
24 mars 2010 à 11:20
Quelqu'un peut m'aider s'il vous plait ? Le problème vient surement du formulaire.
0
aneantisseur Messages postés 384 Date d'inscription dimanche 8 mars 2009 Statut Membre Dernière intervention 13 juillet 2018 18
24 mars 2010 à 12:49
Up
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
24 mars 2010 à 13:54
donnes le code complet de ton formulaire, et le nom du script appelé, celui qui traite de l'enregistrement
0
aneantisseur Messages postés 384 Date d'inscription dimanche 8 mars 2009 Statut Membre Dernière intervention 13 juillet 2018 18
24 mars 2010 à 18:34
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 dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
24 mars 2010 à 19:38
<?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 384 Date d'inscription dimanche 8 mars 2009 Statut Membre Dernière intervention 13 juillet 2018 18
Modifié par aneantisseur le 24/03/2010 à 19:51
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