Hallo alle,
ich habe heute bisschen mit einem jQuery Datei Upload beschäftigt. Leider hänge ich jetzt am PHP INSERT in meine MySQL Datenbank.
error_reporting(E_ALL);
ini_set('display_errors', 1);
if (isset($_FILES['attachments'])) {
$msg = "";
$targetFile = "upload/" . basename($_FILES['attachments']['name'][0]);
// Eintrag in die Datenbank
if ($stmt = $mysqli->prepare("INSERT INTO upload (referenzNr, datei) VALUES (?, ?)"))
{
$referenzNr = $_POST["code"];
$dateit = $_FILES['attachments']['name'][0];
$stmt->bind_param("ss", $referenzNr, $datei);
$stmt->execute();
}
else {
echo $mysqli -> error;
}
// Eintrag Ende
if (move_uploaded_file($_FILES['attachments']['tmp_name'][0], $targetFile)) {
$msg = array(
"status" => 1,
"msg" => "Datei wurde hochgeladen!",
"path" => $targetFile,
"Datei" => $_FILES['attachments']['name'][0]
);
}
exit(json_encode($msg));
}
Es kommt keine Fehlermeldung. In den Entwicklertools erhalte ich folgendes
<b>Notice</b>: Undefined index: code in <b>/upload.php</b> on line <b>24</b><br />
{"status":1,"msg":"Datei wurde hochgeladen!","path":"upload/2.png","Datei":"2.png"}
Die Datei befindet sich auf dem Server. Fehlermeldung erhalte ich keine.
<div id="dropZone">
<h1> Drag & Drop Files ... </h1>
<input type="file" id="fileupload" name="attachments[]" multiple ">
<input type="hidden" id="code" name="code" value="2587">
</div>
Kann ich bei einem jQuery Upload gar kein hidden-Feld mitgeben? Sollte es noch wichtig sein, hier mein jQuery Script
$(function () {
var files = $("#files");
$("#fileupload").fileupload ({
url: 'upload.php',
dropZone: '#dropZone',
dataType:'json',
autoUpload: false
}).on('fileuploadadd', function (e, data) {
var fileTypeAllowed = /.\.(gif|jpg|png|jpeg)$/i;
var fileName = data.originalFiles[0]['name'];
var fileSize = data.originalFiles[0]['size'];
if (!fileTypeAllowed.test(fileName)) {
$("#error").html('Nur Bilder erlaubt!');
} else {
$("#error").html("");
data.submit();
}
}).on('fileuploaddone', function (e, data) {
var status = data.jqXHR.responseJSON.status;
var msg = data.jqXHR.responseJSON.msg;
if (status == 1) {
console.log(data);
var datei = data.jqXHR.responseJSON.Datei;
$("#files").fadeIn().append('<p>'+datei+'</p>');
//var path = data.jqXHR.responseJSON.path;
//$("#files").fadeIn().append('<p><img class="files" src="'+path+'" alt=""></p>');
} else {
$("#error").html(msg);
}
}).on('fileuploadprogressall', function (e, data) {
var progress = parseInt(data.loaded / data.total * 100, 10);
$('#progress').html("Vollständig:" + progress + "%");
});
});
Bis bald!
Meowsalot (Bernd)