Désolé je suis un débutant, je pense qu'il y a quelque chose de mal dans ce code, ou quelque chose qui peut être amélioré. Ce code a été conçu pour télécharger des fichiers à partir d'un plugin Flash Uploader javascript. Il ne me donne pas une erreur mais parfois il n'insère pas la requête mysql. P.s: toutes les variables affichées sont nettoyées via javascript (texte alphanumérique) Merci.Stupide php Question. Quel est le problème dans ce code?
<?php
include 'a/inc/db.php';
if (!empty($_FILES))
{
$tempFile = $_FILES['Filedata']['tmp_name'];
if (substr($_FILES['Filedata']['name'],-3)!='mp3')
{
echo 'ERROR: your file was not an mp3';
die();
}
$targetPath = $_SERVER['DOCUMENT_ROOT'] . $_POST['folder'] . '/';
$titlepost = $_POST['title'];
$tagspost = $_POST['tag'];
$artist= $_POST['artist'];
$i= $_POST['i'];
$targetFile = str_replace('//','/',$targetPath) .time().".mp3";
$targetFilea = $targetFile;
$targetFilea = substr($targetFilea , strrpos($targetFilea , 'music') -1);
move_uploaded_file($tempFile,$targetFile);
mysql_query('set names utf8');
$sql = mysql_query("INSERT INTO `Music` (`filename`, `title`, `tags`, `rating`, `click`, `rand`, `album`, `i`, `artist`)
VALUES ('".$targetFilea."', '".$titlepost."', '".$tagspost."', '0', '1', '".$ras."', '1', '".$i."', '".$artist."');")
or die(mysql_error());
$sqli = mysql_query("INSERT INTO `activity` (`from`, `what`, `text`)
VALUES ('".$i."', 'upload', '".$titlepost."');")
or die(mysql_error());
$click = mysql_query("SELECT *
FROM `Music`
WHERE `filename`='".$targetFilea."' ;");
while($row = mysql_fetch_array($click))
{
$mid=$row['id'];
echo "<id>".$row['id']."</id>";
}
mysql_close($connection);
}
echo "1";
?>
@Nicolo, vous ne pouvez jamais faire confiance à l'entrée de l'ordinateur du client. Toujours désinfecter sur le serveur. –
lequel des 2 n'est pas exécuté? – Natrium
Si vous devez vous assurer que plusieurs requêtes sont exécutées complètement ou pas du tout, vous devez utiliser des transactions, indépendamment des autres problèmes du code. –