ho questa funzione per effettuare l'inserimento dati nel db:
codice:
function insertImg($nome, $didascalia, $art_titolo) {
global $config;
try {
$prepare = $config->getPdo()->prepare("INSERT gallerie_articoli (galleria_art_nome, galleria_art_didascalia, articolo_titolo_FK) VALUES (?,?,?)");
$prepare->execute(array(
$nome,
$didascalia,
$art_id
));
} catch (Exception $e) {
die($e->getMessage());
}
}
ho un form per l'upload piu inserimento di una didascalia:
codice:
<form action="<?php $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data" name="form_upload">
<table>
<tr>
<td>
<input type="file" name="file[]"/>
<input type="file" name="file[]"/>
<input type="file" name="file[]"/>
<input type="file" name="file[]"/>
<input type="file" name="file[]"/>
</td>
<td>
<input type="text" name="didascalia[]" value="" />
<input type="text" name="didascalia[]" value="" />
<input type="text" name="didascalia[]" value="" />
<input type="text" name="didascalia[]" value="" />
<input type="text" name="didascalia[]" value="" />
</td>
</tr>
<tr>
<td>Articolo:</td>
<td>
<select name="articolo">
<option value="*">*</option>
<?php
foreach (selectArticolo() as $row) {
echo "<option value='" . $row['articolo_titolo'] . "'>" . $row['articolo_titolo'] . "</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td>
<input type="submit" value="Upload" name="upload_img" />
</td>
<td></td>
</tr>
</table>
</form>
al submit del form dovrei uplodare le immagini e salvare nome e didascalia sul db:
codice:
if ($_SERVER['REQUEST_METHOD'] == "POST" && isset($_POST['upload_img'])) {
if ($_POST['articolo'] == "*") {
echo "Seleziona un articolo";
} else {
$maxSize = 512000; //byte => 550KB
$acceptType = array(
'jpeg' => 'image/jpeg',
'jpg' => 'image/jpg',
);
$cartella = "../img_articoli/" . $_POST['articolo'] . "/";
for ($i = 0; $i < count($_FILES['file']['name']); $i++) {
if ($_FILES['file']['name'][$i] != "") {
createDir($_POST['articolo']);
$nome_upload = uniqid($_POST['articolo'] . "-", true) . strrchr($_FILES['file']['name'][$i], '.');
$destinazione = $cartella . $nome_upload;
if ($_FILES['file']['size'][$i] <= $maxSize) {
if (in_array($_FILES['file']['type'][$i], $acceptType)) {
if (move_uploaded_file($_FILES['file']['tmp_name'][$i], $destinazione)) {
insertImg($nome_upload, $_POST['didascalia'], $_POST['articolo']);
echo "File " . $i . " inserito
";
} else {
echo "Errore nell'upload
";
}
} else {
echo 'Tipo file non valido
';
}
} else {
echo 'File troppo grande
';
}
} elseif ($_POST['upload_img']) {
echo 'Non ci sono file da inserire
';
}
}
}
}
il problema è l'inserimento nel db.
in pratica nn viene salvato nulla.
penso che l'errore sia proprio nella didascalia.
se provo a farne l'echo mi esce fuori array.