Scusa ecco il codice sia del form che sta nella pagina area_riservata.php e il codice della pagina aggiungi_record.php
mentre l'errore che mi da è questo
"Warning: mkdir(): Permission denied in D:\inetpub\webs\la-maglia-rosanerocom\aggiungi_record.php on line 18
Warning: move_uploaded_file(/fotomaglie/2022_2023/20230511_081301.jpg): failed to open stream: No such file or directory in D:\inetpub\webs\la-maglia-rosanerocom\aggiungi_record.php on line 29
Warning: move_uploaded_file(): Unable to move 'C:\PHPVersions\PHP74\uploadtemp\phpA009.tmp' to '/fotomaglie/2022_2023/20230511_081301.jpg' in D:\inetpub\webs\la-maglia-rosanerocom\aggiungi_record.php on line 29
Errore nel caricamento della foto 1.
<?php
// Includi il file di connessione al database
include 'db_connect.php';
// Funzione per verificare se il file è un'immagine
function isImageFile($file) {
$imageTypes = ['image/jpeg', 'image/png', 'image/gif'];
return in_array($file['type'], $imageTypes);
}
// Gestione del form di inserimento
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$stagione = $_POST["stagione"];
$anno = substr($stagione, 0, 4);
$targetDir = "/fotomaglie/" . $stagione . "/";
if (!is_dir($targetDir)) {
mkdir($targetDir, 0777, true);
}
$foto1 = "";
$foto2 = "";
$foto_prova = "";
$foto_prova2 = "";
if ($_FILES["foto1"]["name"] != "") {
if (isImageFile($_FILES["foto1"])) {
$foto1 = $targetDir . $_FILES["foto1"]["name"];
if (!move_uploaded_file($_FILES["foto1"]["tmp_name"], $foto1)) {
echo "Errore nel caricamento della foto 1.";
exit;
}
} else {
echo "Errore: il file 1 non è un'immagine.";
exit;
}
}
if ($_FILES["foto2"]["name"] != "") {
if (isImageFile($_FILES["foto2"])) {
$foto2 = $targetDir . $_FILES["foto2"]["name"];
if (!move_uploaded_file($_FILES["foto2"]["tmp_name"], $foto2)) {
echo "Errore nel caricamento della foto 2.";
exit;
}
} else {
echo "Errore: il file 2 non è un'immagine.";
exit;
}
}
if ($_FILES["foto_prova"]["name"] != "") {
if (isImageFile($_FILES["foto_prova"])) {
$foto_prova = $targetDir . $_FILES["foto_prova"]["name"];
if (!move_uploaded_file($_FILES["foto_prova"]["tmp_name"], $foto_prova)) {
echo "Errore nel caricamento della foto.";
exit;
}
} else {
echo "Errore: il file foto prova non è un'immagine.";
exit;
}
}
if ($_FILES["foto_prova2"]["name"] != "") {
if (isImageFile($_FILES["foto_prova2"])) {
$foto_prova2 = $targetDir . $_FILES["foto_prova2"]["name"];
if (!move_uploaded_file($_FILES["foto_prova2"]["tmp_name"], $foto_prova2)) {
echo "Errore nel caricamento della foto.";
exit;
}
} else {
echo "Errore: il file foto prova 2 non è un'immagine.";
exit;
}
}
// Preparazione dell'inserimento nel database
$giocatore = $_POST["giocatore"];
$societa = $_POST["societa"];
if (isset($_POST['maglia']) && is_array($_POST['maglia'])) {
$maglie_selezionate = $_POST['maglia'];
$maglia = '';
foreach ($maglie_selezionate as $maglia_selezionata) {
if ($maglia !== '') {
$maglia .= ', ';
}
$maglia .= $maglia_selezionata;
}
} else {
$maglia = ''; // Nessuna maglia selezionata
}
$numero_maglia = $_POST["numero_maglia"];
$campionato = $_POST["campionato"];
$match = $_POST["match"];
$tempo_di_gioco = $_POST["tempo_di_gioco"];
$particolarita = $_POST["particolarita"];
$descrizione = $_POST["descrizione"];
$Taglia = $_POST["Taglia"];
// Ottenere il valore per il campo "paginariferimento"
$paginariferimento = str_replace('/', '', $stagione) . '.php';
$memorabilia = isset($_POST['memorabilia']) ? 1 : 0;
$portiere = isset($_POST['portiere']) ? 1 : 0;
$invendita = isset($_POST['invendita']) ? 1 : 0;
// Inserimento dei dati nel database
$sql = "INSERT INTO maglie (anno, giocatore, societa, maglia, numero_maglia, stagione, campionato, `match`, tempo_di_gioco, particolarita, descrizione, foto1, foto2, Taglia, foto_prova, foto_prova2, invendita, memorabilia, paginariferimento, portiere)
VALUES ('$anno', '$giocatore', '$societa', '$maglia', '$numero_maglia', '$stagione', '$campionato', '$match', '$tempo_di_gioco', '$particolarita', '$descrizione', '$foto1', '$foto2', '$Taglia', '$foto_prova', '$foto_prova2', '$invendita', '$memorabilia', '$paginariferimento', '$portiere')";
// Dopo aver aggiunto il record, reindirizza l'utente alla pagina "area_riservata.php"
header("Location: area_riservata.php?message=Record%20Aggiunto%20con%20successo");
// Verifica se il file caricato non è un'immagine
$allowedTypes = array('image/jpeg', 'image/png', 'image/gif');
$fileType1 = $_FILES['foto1']['type'];
$fileType2 = $_FILES['foto2']['type'];
$fileTypeProva = $_FILES['foto_prova']['type'];
$fileTypeProva2 = $_FILES['foto_prova2']['type'];
if (!in_array($fileType1, $allowedTypes) && $fileType1 !== '') {
$errorMessage = 'Il file 1 deve essere un\'immagine JPEG, PNG o GIF.';
header("Location: aggiungi_record.php?message=" . urlencode($errorMessage));
exit;
}
if (!in_array($fileType2, $allowedTypes) && $fileType2 !== '') {
$errorMessage = 'Il file 2 deve essere un\'immagine JPEG, PNG o GIF.';
header("Location: aggiungi_record.php?message=" . urlencode($errorMessage));
exit;
}
if (!in_array($fileTypeProva, $allowedTypes) && $fileTypeProva !== '') {
$errorMessage = 'Il file di prova deve essere un\'immagine JPEG, PNG o GIF.';
header("Location: aggiungi_record.php?message=" . urlencode($errorMessage));
exit;
}
if (!in_array($fileTypeProva2, $allowedTypes) && $fileTypeProva2 !== '') {
$errorMessage = 'Il secondo file di prova deve essere un\'immagine JPEG, PNG o GIF.';
header("Location: aggiungi_record.php?message=" . urlencode($errorMessage));
exit;
}
if ($conn->query($sql) === TRUE) {
echo "Record inserito con successo.";
} else {
echo "Errore nell'inserimento del record: " . $conn->error;
}
}
$conn->close();
?>
<form action="aggiungi_record.php" method="post" enctype="multipart/form-data" target="_self">
<table align="center">
<tr>
<td><label for="stagione">Stagione:</label></td>
<td><input type="text" name="stagione" id="stagione"></td>
<td><label for="campionato">Campionato:</label></td>
<td>
<select name="campionato" id="campionato">
<option value="Champions League">Champions League</option>
<option value="Europa League">Europa League</option>
<option value="Serie A">Serie A</option>
<option value="Serie B">Serie B</option>
<option value="Serie C">Serie C</option>
<option value="Serie D">Serie D</option>
</select>
</td>
</tr>
<tr>
<td><label for="societa">Società:</label></td>
<td><input type="text" name="societa" id="societa"></td>
<td><label for="giocatore">Giocatore:</label></td>
<td><input type="text" name="giocatore" id="giocatore"></td>
</tr>
<tr>
<td><label for="match">Match:</label></td>
<td><input type="text" name="match" id="match"></td>
<td><label>Tempo di Gioco:</label></td>
<td>
<label for="tempo1"><input type="checkbox" name="tempo_di_gioco" id="tempo1" value="1" onclick="disableTempoCheckboxes(1)"> 1° T</label>
<label for="tempo2"><input type="checkbox" name="tempo_di_gioco" id="tempo2" value="2" onclick="disableTempoCheckboxes(2)"> 2° T</label>
</td>
</tr>
<tr>
<td><label>Maglia:</label></td>
<td>
<label for="maglia1"><input type="checkbox" name="maglia[]" id="maglia1" value="1" onclick="disableMaglieCheckboxes(1)"> 1°</label>
<label for="maglia2"><input type="checkbox" name="maglia[]" id="maglia2" value="2" onclick="disableMaglieCheckboxes(2)"> 2°</label>
<label for="maglia3"><input type="checkbox" name="maglia[]" id="maglia3" value="3" onclick="disableMaglieCheckboxes(3)"> 3°</label>
</td>
<td><label for="taglia">Taglia:</label></td>
<td><input type="text" name="Taglia" id="taglia"></td>
</tr>
<tr>
<td><label for="numero_maglia">Numero Maglia:</label></td>
<td><input type="text" name="numero_maglia" id="numero_maglia"></td>
<td><label for="portiere">Portiere:</label></td>
<td><input type="checkbox" name="portiere" id="portiere" value="1"></td>
</tr>
<tr>
<td><label for="descrizione">Descrizione:</label></td>
<td><input type="text" name="descrizione" id="descrizione" style="width: 200%;"></td>
</tr>
<tr>
<td><label for="particolarita">Particolarità:</label></td>
<td><input type="text" name="particolarita" id="particolarita" style="width: 200%;"></td>
</tr>
<tr>
<td><label for="foto1">Foto 1:</label></td>
<td><input type="file" name="foto1" id="foto1"></td>
<td><label for="foto_prova">Foto Prova:</label></td>
<td><input type="file" name="foto_prova" id="foto_prova"></td>
</tr>
<tr>
<td><label for="foto2">Foto 2:</label></td>
<td><input type="file" name="foto2" id="foto2"></td>
<td><label for="foto_prova2">Foto Prova 2:</label></td>
<td><input type="file" name="foto_prova2" id="foto_prova2"></td>
</tr>
<tr>
<td><label for="invendita">Maglia in vendita:</label></td>
<td>
<td><input type="checkbox" name="invendita" id="invendita" value="1"></td>
</td>
<td><label for="memorabilia">Memorabilia:</label></td>
<td><input type="checkbox" name="memorabilia" id="memorabilia"></td>
</tr>
</table>
<form id="aggiungiRecordForm" action="aggiungi_record.php" method="POST">
<div style="text-align: center;">
<button id="aggiungiRecordButton" type="submit">Aggiungi Record</button>
</div>
</form>
<?php
// Verifica se il parametro "message" è presente nell'URL
if (isset($_GET['message'])) {
$message = $_GET['message'];
echo '<div style="text-align: center; color: green; font-weight: bold;">' . $message . '</div>';
}
?>
</form>