Salve a tutti,
premetto che sono "nuovo" nel form. Qualche (forse anche molti) mese fa avevo caricato nello spazio dell'alter-sito una serie di pagine php che, tramite mysqli, facevano chiamate al database e funzionavano.
Ora, a distanza di molto tempo, ho pronto un "upgrade" per il sito e ho cancellato tramite filezilla i fine contenuti nel sito e tramite phpmyadmin ho cancellato tutte le tabelle del database. Dopo aver "pulito" lo spazio ho caricato tutti i file e il dump del database aggiornato sul sito web. Quando però accedo al sito l'index.php mi esce bianco.
Ho provato ad inserire dei print nel codice php per vedere se lo esegue e a quanto pare i print li esegue (solo quelli inseriti dall'editor di altervista).
Ho due script fondamentali: il primo che ritorna lo stato del sito (0=online, 1=offline, 2=messaggio) che riporto qua sotto:
Codice PHP:
<?php
$con = new mysqli($host, $user, $pswd, $db);
if ($con->connect_error)
header("location: error/mysql.php");
$sql = "SELECT val FROM siteInfo WHERE keyval='status'";
$rslt = $con->query($sql);
if($rslt->num_rows > 0) {
$rslt = $rslt->fetch_array(MYSQLI_ASSOC);
$val = $rslt["val"];
}
?>
ed il secondo che stampa il contenuto della pagina:
Codice PHP:
<?php
if($val == 2){
print('<div class="TITLE_ANNOUNCE">');
$con = new mysqli($host, $user, $pswd, $db);
if ($con->connect_error)
header("location: ../error/mysql.php");
$sql = 'SELECT val FROM siteinfo WHERE keyval="TITLE_ANNOUNCE" AND lang="'. $lang . '"';
$rslt = $con->query($sql);
if($rslt->num_rows > 0) {
$rslt = $rslt->fetch_array(MYSQLI_ASSOC);
$title_announce = $rslt["val"];
}
$con->close();
print($title_announce);
print('</div>');
print('<div class="PHOTO" style="left: -24.5vw">');
$con = new mysqli($host, $user, $pswd, $db);
if ($con->connect_error)
header("location: ../error/mysql.php");
$sql = 'SELECT val FROM siteinfo WHERE keyval="PHOTO"';
$rslt = $con->query($sql);
if($rslt->num_rows > 0) {
$rslt = $rslt->fetch_array(MYSQLI_ASSOC);
$PHOTO = $rslt["val"];
}
$con->close();
print('<img src="../img/'. $PHOTO .'" />');
print('</div>');
print('<div class="PARAGRAPH" style="top: 8.5vw; left: 35vw;">');
$con = new mysqli($host, $user, $pswd, $db);
if ($con->connect_error)
header("location: ../error/mysql.php");
$sql = 'SELECT val FROM siteinfo WHERE keyval="PARAGRAPH" AND lang="'. $lang . '"';
$rslt = $con->query($sql);
if($rslt->num_rows > 0) {
$rslt = $rslt->fetch_array(MYSQLI_ASSOC);
$Paragraph = $rslt["val"];
}
$con->close();
print($Paragraph);
print('</div>');
}
?>
mettendo come costante $val a 2 lo script php funziona ma stampa tutte quelle parti che non hanno a che fare con la chiama mysqli: il titolo della pagina dovrebbe stampare OASISWORLD - (qui la traduzione di attenzione nella lingua dell'utente e se la va a prendere dal database).
Non so più cosa fare
Il sito web funziona perché su xampp (programma per avere un web server con php e mysql senza doverli installare singolarmente)funziona ottenendo l'effetto desiderato mentre su Altervista no.