[GDRCD 5.4.1] Testo invisibile...?
[GDRCD 5.4.1] Testo invisibile...? postato il 02/04/2017 23:55:31 nel forum programmazione, open source e hosting e modificato da lamartine il 02/04/2017 23:56:06
Salve a tutti :-) ho fatto una piccola modifica alla pagina dei presenti, unendo in un solo codice anche la parte dell'ora-data e della chat dove si è. Ho mantenuto un refresh ogni 60 secondi, in quanto per aggiornare sia i presenti che l'orologio è una cosa necessaria. Il problema è che, ogni tanto, resta solo l'immagine di sfondo. So che il testo c'è, perché se vado a selezionare mi seleziona qualcosa, ma semplicemente sparisce. A cosa può essere dovuto?
Il codice:
<meta http-equiv="refresh" content="60">
<style>
.pagina_info_location{background:url("imgs/roba.png");background-repeat:no-repeat;background-color:transparent !important;border:none !important;color:white !important}.innertube{vertical-align:top !important}.titolo{z-index:100;position:relative;top:-220px;font-size:12px;font-family:'Dosis';color:#a6a5a5}.data{z-index:97;position:relative;top:-215px;font-size:12px;font-family:'Dosis';color:#97670f}#time{z-index:97;position:relative;top:-215px;font-size:12px;font-family:'Dosis';color:#646363}.user{color:#6a6a6a;font-family:'Dosis';position:relative;top:-175px}li{list-style:none;color:#646363;font-family:'Dosis';font-size:12px;}li>a{list-style:none;color:#646363 !important;font-family:'Dosis' !important;font-size:12px;}.elenco_presenti{position:relative;top:-90px;left:35px;}
</style><div class="pagina_info_location">
<?php /* HELP: Il box delle informazioni carica l'immagine del luogo corrente, lo stato e la descrizione. Genera, inoltre, il meteo */
$result = gdrcd_query("SELECT mappa.nome, mappa.descrizione, mappa.stato, mappa.immagine, mappa.stanza_apparente, mappa.scadenza, mappa_click.meteo FROM mappa_click LEFT JOIN mappa ON mappa_click.id_click = mappa.id_mappa WHERE id = ".$_SESSION['luogo']."", 'result');
$record_exists = gdrcd_query($result, 'num_rows');
$record = gdrcd_query($result, 'fetch');
/** * Fix: quando non si è in una mappa visualizza il nome della chat
* Quando si è in una mappa si visualizza il nome della mappa
* @author Blancks
*/
if (empty($record['nome']))
{
$nome_mappa = gdrcd_query("SELECT nome FROM mappa_click WHERE id_click = ". (int)$_SESSION['mappa']);
$nome_luogo = $nome_mappa['nome'];
}else
{
$nome_luogo = $record['nome'];
}
?>
<center>
<img src="imgs/Throne_copia.png" style="position: relative; top:-10px; visibility: hidden;"/>
<img src="imgs/Cerchio_Gold_Luogo_copia.png" style="position: relative; top: -140px; left: 2px;"/><center>
<span align="center" class="titolo">
<?php echo strtoupper(gdrcd_filter('out', $nome_luogo)); ?>
</span><br/>
<script>
window.setInterval(function(){var a=(new Date).getDate()+"/"+((new Date).getMonth()+1)+"/"+(new Date).getFullYear();span=document.getElementById("data");txt=document.createTextNode(a);span.innerText=txt.textContent},1E3);
</script>
<span align="center" class="data" id="data"><script>
var a = (new Date).getDate()+"/"+((new Date).getMonth()+1)+"/"+(new Date).getFullYear();
span=document.getElementById("data");
txt=document.createTextNode(a);
span.innerText=txt.textContent;
</script></span><br/>
<script>
function addZero(i) {
if (i < 10) {
i = "0" + i;
}
return i;
}
window.setInterval(function(){var a=(new Date).getHours()+":"+addZero((new Date).getMinutes());span=document.getElementById("time");txt=document.createTextNode(a);span.innerText=txt.textContent},1E3);
</script>
<span id="time"><script>
function addZero(i) {
if (i < 10) {
i = "0" + i;
}
return i;
}
var a=(new Date).getHours()+":"+addZero((new Date).getMinutes());span=document.getElementById("time");txt=document.createTextNode(a);span.innerText=txt.textContent;
</script>
</span>
<p class="user"><?php echo strtoupper($_SESSION['login']);?></p>
<br/></center></center>
<!-- Box presenti-->
<div style="height: 243px;">
<?php
$query = "SELECT personaggio.nome, personaggio.cognome, personaggio.permessi, personaggio.sesso, personaggio.id_razza, razza.sing_m, razza.sing_f, razza.icon, personaggio.disponibile, personaggio.online_status, personaggio.is_invisible, personaggio.ultima_mappa, personaggio.ultimo_luogo, personaggio.posizione, personaggio.ora_entrata, personaggio.ora_uscita, personaggio.ultimo_refresh, mappa.stanza_apparente, mappa.nome as luogo, mappa_click.nome as mappa FROM personaggio LEFT JOIN mappa ON personaggio.ultimo_luogo = mappa.id LEFT JOIN mappa_click ON personaggio.ultima_mappa = mappa_click.id_click LEFT JOIN razza ON personaggio.id_razza = razza.id_razza WHERE personaggio.ora_entrata > personaggio.ora_uscita AND DATE_ADD(personaggio.ultimo_refresh, INTERVAL 4 MINUTE) > NOW() ORDER BY personaggio.nome";
$result = gdrcd_query($query, 'result');
echo '<ul class="elenco_presenti">';
while ($record = gdrcd_query($result, 'fetch'))
{
//Stampo il PG
echo '<li class="presente">';
//Entrata, uscita PG
//Controllo da quanto il pg e' loggato
$activity = gdrcd_check_time ($record['ora_entrata']);
//Se e' loggato da meno di 2 minuti
if ($activity <= 2){
//Lo segnalo come appena entrato
echo '<img class="presenti_ico" src="imgs/icons/enter.gif" alt="'.gdrcd_filter('out',$MESSAGE['status_pg']['enter']).'" title="'.gdrcd_filter('out',$MESSAGE['status_pg']['enter']).'" />';
} else {
//Altrimenti, se si e' sloggato da piu' di 2 minuti lo segnalo come uscito
$activity = gdrcd_check_time ($record['ultimo_refresh']);
if ($activity > 3){
echo '<img class="presenti_ico" src="imgs/icons/exit.gif" alt="'.gdrcd_filter('out',$MESSAGE['status_pg']['exit']).'" title="'.gdrcd_filter('out',$MESSAGE['status_pg']['exit']).'" />';
} else {
//Altrimenti e' semplicemente loggato
echo '<img class="presenti_ico" src="imgs/icons/blank.png" alt="'.gdrcd_filter('out',$MESSAGE['status_pg']['logged']).'" title="'.gdrcd_filter('out',$MESSAGE['status_pg']['logged']).'" />';
}//else
}//else
switch ($record['permessi']){
case USER: $alt_permessi = ''; break;
case GUILDMODERATOR: $alt_permessi = $PARAMETERS['names']['guild_name']['lead']; break;
case GAMEMASTER: $alt_permessi = $PARAMETERS['names']['master']['sing']; break;
case MODERATOR: $alt_permessi = $PARAMETERS['names']['moderators']['sing']; break;
case SUPERUSER: $alt_permessi = $PARAMETERS['names']['administrator']['sing']; break;
}//else
//Livello di accesso del PG (utente, master, admin, superuser)
//echo '<img class="presenti_ico" src="imgs/icons/permessi'.$record['permessi'].'.gif" alt="'.gdrcd_filter('out',$alt_permessi).'" title="'.gdrcd_filter('out',$alt_permessi).'" />';
//Icona stato di disponibilità. E' sensibile se la riga che sto stampando corrisponde all'utente loggato.
/*$change_disp=($record['disponibile']+1)%3;
echo '<img class="presenti_ico" src="imgs/icons/disponibile'.$record['disponibile'].'.png" alt="'.gdrcd_filter('out',$MESSAGE['status_pg']['availability'][$record['disponibile']]).'" title="'.gdrcd_filter('out',$MESSAGE['status_pg']['availability'][$record['disponibile']]).'" />';*/
//Icona della razza pg
/*if($record['icon']==''){$record['icon']='standard_razza.png';}
echo '<img class="presenti_ico" src="themes/'.$PARAMETERS['themes']['current_theme'].'/imgs/races/'.$record['icon'].'" alt="'.gdrcd_filter('out',$record['sing_'.$record['sesso']]).'" title="'.gdrcd_filter('out',$record['sing_'.$record['sesso']]).'" />';
//Icona del genere del pg
echo '<img class="presenti_ico" src="imgs/icons/testamini'.$record['sesso'].'.png" alt="'.gdrcd_filter('out',$MESSAGE['status_pg']['gender'][$record['sesso']]).'" title="'.gdrcd_filter('out',$MESSAGE['status_pg']['gender'][$record['sesso']]).'" />';*/
//Nome pg e link alla sua scheda
/*echo '<a href="main.php?page=messages_center&newmessage=yes&reply_dest='.$record['nome'].'" class="link_sheet">MP</a> ';*/
//Nome pg e link alla sua scheda
echo ' <a href="main.php?page=scheda&pg='.$record['nome'].'" class="link_sheet gender_'.$record['sesso'].'">'.gdrcd_filter('out',$record['nome']);
/*if (empty($record['cognome'])===FALSE){echo ' '.gdrcd_filter('out',$record['cognome']);}*/
echo '</a> ';
echo '</li>';
}//while
gdrcd_query($result, 'free');
echo '</ul>';
?>
</div>
<center><a href="logout.php"><img src="imgs/Esci_Icon.png" style="position:relative;top:-105px;left:3px;"/></a></center>
<?php
if($record_exists>0 || $_SESSION['luogo']==-1){
gdrcd_query($result, 'free');
?>
<!--Nome luogo-->
<?php
if (empty($record['nome'])===FALSE) { $nome_luogo=$record['nome']; }
elseif ($_SESSION['mappa']>=0) { $nome_luogo=$PARAMETERS['names']['maps_location']; }
else { $nome_luogo=$PARAMETERS['names']['base_location']; }
?>
<?php
if($PARAMETERS['mode']['auto_meteo']=='ON'){
/* Meteo */
$ore=strftime("%H");
$minuti=strftime("%M");
$mese=strftime("%m");
$giorno=strftime("%j");
$caso=((floor($giorno/3))%2)+1;
/** * Bug FIX: corretta l'assegnazione della $minima
* @author Blancks
*/
switch ($mese)
{
case 1: $minima = $PARAMETERS['date']['base_temperature']+0; break;
case 2: $minima = $PARAMETERS['date']['base_temperature']+4; break;
case 3: $minima = $PARAMETERS['date']['base_temperature']+8; break;
case 4: $minima = $PARAMETERS['date']['base_temperature']+14; break;
case 5: $minima = $PARAMETERS['date']['base_temperature']+20; break;
case 6: $minima = $PARAMETERS['date']['base_temperature']+28; break;
case 7: $minima = $PARAMETERS['date']['base_temperature']+30; break;
case 8: $minima = $PARAMETERS['date']['base_temperature']+28; break;
case 9: $minima = $PARAMETERS['date']['base_temperature']+20; break;
case 10: $minima = $PARAMETERS['date']['base_temperature']+14; break;
case 11: $minima = $PARAMETERS['date']['base_temperature']+8; break;
case 12: $minima = $PARAMETERS['date']['base_temperature']+0; break;
}
/** * Fine fix */
if($ore<14){$gradi=$minima+(floor($ore/3)*$caso);}
else{ $gradi=$minima+(4*$caso)-((floor($ore/3)*$caso))+(3*$caso);}
$caso=($giorno+($ora/4))%12;
switch ($caso)
{
case 0: $meteo_cond=$MESSAGE['interface']['meteo']['status'][0]; break;
case 1: $meteo_cond=$MESSAGE['interface']['meteo']['status'][0]; break;
case 2: $meteo_cond=$MESSAGE['interface']['meteo']['status'][1]; break;
case 3: $meteo_cond=$MESSAGE['interface']['meteo']['status'][2]; break;
case 4: if($minima<4){$meteo_cond=$MESSAGE['interface']['meteo']['status'][4];} else {$meteo_cond=$MESSAGE['interface']['meteo']['status'][3];} break;
case 5: $meteo_cond=$MESSAGE['interface']['meteo']['status'][1]; break;
case 6: $meteo_cond=$MESSAGE['interface']['meteo']['status'][0]; break;
case 7: $meteo_cond=$MESSAGE['interface']['meteo']['status'][1]; break;
case 8: if($minima<4){$meteo_cond=$MESSAGE['interface']['meteo']['status'][4];} else {$meteo_cond=$MESSAGE['interface']['meteo']['status'][3];} break;
case 9: $meteo_cond=$MESSAGE['interface']['meteo']['status'][2]; break;
case 10: $meteo_cond=$MESSAGE['interface']['meteo']['status'][0]; break;
case 11: $meteo_cond=$MESSAGE['interface']['meteo']['status'][0]; break;
}
$meteo=$meteo_cond." - ". $gradi."°C "; //.Tempo();
} else { $meteo=gdrcd_filter('out',$record['meteo']); }
}
?>
<!--div class="meteo">
<?php/* echo $meteo;*/?>
</div-->
</div><!-- page_body -->
</div><!-- Pagina -->
Pagine → 1
04/04/2017 12:57:19
In che senso "sparisce"? Se riesci a selezionarlo il php lo mostra a video. Non è che le scritte sono nere su sfondo nero? O bianche su sfondo bianco?
04/04/2017 13:08:50 e modificato da soizora il 04/04/2017 13:13:52
<script>
window.setInterval(function(){var a=(new Date).getDate()+"/"+((new Date).getMonth()+1)+"/"+(new Date).getFullYear();span=document.getElementById("data");txt=document.createTextNode(a);span.innerText=txt.textContent},1E3);
</script>
<span align="center" class="data" id="data"><script>
var a = (new Date).getDate()+"/"+((new Date).getMonth()+1)+"/"+(new Date).getFullYear();
span=document.getElementById("data");
txt=document.createTextNode(a);
span.innerText=txt.textContent;
</script></span><br/>
<script>
function addZero(i) {
if (i < 10) {
i = "0" + i;
}
return i;
}
window.setInterval(function(){var a=(new Date).getHours()+":"+addZero((new Date).getMinutes());span=document.getElementById("time");txt=document.createTextNode(a);span.innerText=txt.textContent},1E3);
</script>
<span id="time"><script>
function addZero(i) {
if (i < 10) {
i = "0" + i;
}
return i;
}
var a=(new Date).getHours()+":"+addZero((new Date).getMinutes());span=document.getElementById("time");txt=document.createTextNode(a);span.innerText=txt.textContent;
</script>
una domanda: perchè hai messo tre setinterval che praticamente fanno la stessa cosa?
edit: no spe ho riletto meglio il testo e mi pare di capire che il set interval ti serva per aggiornare il testo appena caricato dal refresh ogni settanta secondi.
Pagine → 1
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!
State of Survival ↗
War Thunder ↗
The Coven ↗