Salve,
non è complicato fare il passaggio.
Ad ogni modo, se vuole imparare un po' di mysqli, si tenga una cipia da parte dei vecchi file rinominandoli ad esempio visualizzanumdownload25_old.php e download25_old.php. Così potra raffrontare il codice vecchio con quello aggiornato.
Questo è il codice aggiornato:
visualizzanumdownload25.php
Codice PHP:
<?php
// identificativo numerico della pagina word (prime 2 cifre sono l'anno)
$pagina = 251;
$db_host = "localhost";
$db_user = "paolin";
$db_pass = "";
$db_name = "my_paolin";
$db = mysqli_connect($db_host, $db_user, $db_pass, $db_name );
if ($db == FALSE) {
die ("Errore nella connessione.");
}
$res = mysqli_select_db($db, $db_name);
if ($res == FALSE) {
die ("Errore nella selezione del DB.");
}
// visualizzo il numero di visite
$res = mysqli_query($db, "SELECT visite FROM contatore WHERE pagina = $pagina");
$visite = mysqli_fetch_assoc($res);
echo "È stato scaricato ".$visite['visite']." volte";
?>
download25.php
Codice PHP:
<?php
// identificativo numerico della pagina word 2025
$pagina = 251;
$db_host = "localhost";
$db_user = "paolin";
$db_pass = "";
$db_name = "my_paolin";
$db = mysqli_connect($db_host, $db_user, $db_pass, $db_name);
if ($db->connect_errno) {
die("Errore nella connessione: " . $db->connect_error);
}
// aggiornare il contatore delle visite
$res = mysqli_query($db, "UPDATE contatore SET visite = visite + 1 WHERE pagina = $pagina");
$rows = mysqli_affected_rows($res);
if (rows === 0) {
// pagina non presente nel database
// aggiungo la pagina nella tabella
mysqli_query($db, "INSERT INTO contatore (pagina, visite) VALUES ($pagina, 1)");
}
// recuperare il numero di visite
$res_visite = mysqli_query($db, "SELECT visite FROM contatore WHERE pagina = $pagina");
$visite = mysqli_fetch_assoc($res_visite);
// Sanitizzare il parametro 'file'
if (isset($_GET['file'])) {
$_GET['file'] = trim(htmlentities($_GET['file'], ENT_QUOTES));
} else {
die("Parametro 'file' mancante.");
}
$path = './files/' . $_GET['file'];
// verificare se il file esiste
if (!file_exists($path)) {
die("File non trovato.");
}
$size = filesize($path);
if ($size === false || $size == 0) {
die("File vuoto o errore nel calcolo delle dimensioni.");
}
// verificare estensione file
$check = strtolower(substr($_GET['file'], -3));
if ($check != "rar" && $check != "zip") {
die('Stai tentando di scaricare un file non scaricabile');
}
// inviare gli header e il file
header("Content-Type: application/octet-stream");
header('Content-Disposition: attachment; filename=' . basename($_GET['file']));
header("Content-Length: " . $size);
readfile($path);
// visualizzare il numero di visite
echo "La pagina è stata visitata " . $visite['visite'] . " volte";
?>
Cordiali saluti.