Per far funzionare il codice che hai fornito, ci sono diversi problemi e correzioni da apportare. Di seguito è riportata una versione corretta e migliorata del codice:
### 1. Corretti problemi di sintassi e HTML
1. **Quote nei tag HTML**: Gli attributi degli elementi HTML devono essere racchiusi tra doppi apici.
2. **Chiusura di tag PHP**: Utilizza la concatenazione corretta in PHP per includere variabili dentro stringhe HTML.
3. **Includi il tag `<script>` alla fine della pagina**: Per essere sicuri che l'elemento con l'id specificato esista nel DOM.
### 2. Rimozione di variabili non utilizzate e miglioramento della logica
Codice PHP:
<!DOCTYPE html>
<html lang="it">
<head>
<meta charset="UTF-8">
<title>Carosello Animali</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
<div style="scrollbar-border-radius:5px;margin-left:405px;width:520px;margin-top:-120px;height:560px;background-color:;position:fixed;overflow:scroll;">
<?php
error_reporting(-1);
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$servername = "localhost";
$username = "noncecapisco";
$password = "";
$dbname = "my_noncecapisco";
$conn = new mysqli($servername, $username, $password, $dbname);
$sql = "SELECT * FROM sito_animali_carosello ORDER BY id DESC";
$result = $conn->query($sql);
$array_estensioni_poster = array('webm');
$array_estensioni_video = array('mp4');
$array_estensioni_immagini = array('jpg', 'jpeg', 'gif', 'tiff', 'png');
while ($row = $result->fetch_assoc()) {
$estensione = pathinfo($row["file"], PATHINFO_EXTENSION);
if (in_array($estensione, $array_estensioni_immagini)) {
include "carosello.php";
} elseif (in_array($estensione, $array_estensioni_video)) {
echo '<form id="frm' . $row['id'] . '">
<input type="hidden" id="val' . $row['id'] . '" value="' . (isset($_POST["contaclick"]) ? $_POST["contaclick"] : 0) . '">
<input type="image" src="download.png">
<span id="clickid' . $row['id'] . '">' . (isset($_POST["contaclick"]) ? $_POST["contaclick"] : 0) . '</span>
</form>
<video preload="auto" src="' . $row["file"] . '" controls="true" style="width:465px;height:auto;margin-left:13px;margin-top:-15px;border-radius:15px;"></video>' . PHP_EOL;
} elseif (in_array($estensione, $array_estensioni_poster)) {
echo '
<iframe src="https://noncecapisco.altervista.org/animali/click-video-webm.php?id=' . $row['id'] . '" width="100" height="50" border="0" frameborder="0" overflow="hidden"></iframe>
<video preload="auto" poster="/animali/video-google-drive1.jpg" src="' . $row["file"] . '" controls="true" style="border:0.1px solid #C0C0C0; width:465px;height:auto;margin-left:13px;margin-top:-15px;border-radius:15px;"></video>' . PHP_EOL;
}
echo '<div style="margin-left:20px;width:450px;word-wrap:break-word;color:#666666;margin-top:5px;margin-bottom:80px;font-size:25px;">' . $row["testo"] . '</div><br>' . PHP_EOL;
}
?>
</div>
<script>
$(document).ready(function() {
<?php
$result->data_seek(0); // Reset result pointer to the beginning
while ($row = $result->fetch_assoc()) { ?>
$('#frm<?php echo $row['id'] ?>').submit(function(e) {
e.preventDefault();
$.ajax({
type: 'POST',
url: 'upload-click-video-mp4.php',
data: { contaclickajax: $("#val<?php echo $row['id'] ?>").val() },
success: function(data) {
$('#clickid<?php echo $row['id'] ?>').html(data);
}
});
});
<?php } ?>
});
</script>
</body>
</html>
### Note Importanti:
1. **Sicurezza**: Assicurati che i dati provenienti dall'utente siano opportunamente sanitizzati per prevenire attacchi di tipo SQL injection o XSS.
2. **Stile e layout**: Per migliorare il layout, potresti considerare l'uso di CSS esterno piuttosto che stile inline.
3. **Database**: Assicurati che le credenziali del database siano corrette e che il database `my_noncecapisco` esista con la tabella `sito_animali_carosello`.
4. **File inclusi**: Assicurati che il file `carosello.php` e `upload-click-video-mp4.php` esistano e funzionino correttamente.
Con queste correzioni, il tuo codice dovrebbe funzionare meglio e senza errori di sintassi.