Visualizzazione Pulsanti postato il nel forum programmazione, gdrcd, grafica e open source
Buongiorno a tutti ^______^ Al solito i miei problemi mi perseguitano, dove ne risolvo uno né ritrovo un altro ma non demordo, voglio apprendere anche grazie a voi… Dunque chiedo a tutti una mano per risolvere quest’altro problema e aiutarmi a capire un po’ meglio le funzionalità del PHP 5 che noto sono abbastanza diverse dal PHP.
Vi spiego subito il problema, io ho una pagina chiamata ROSA (rosa.php) in questa pagina mi spunterà SEMPRE fisso un pulsante chiamato MAPPA e a seconda del luogo dei pulsanti di navigazione come Nord, Sud, Est e Ovest oppure direttamente il luogo dove il pulsante, una volta cliccato, mi porterà.Se io imposto però su Altervista PHP 4 attivo si vede TUTTO, ma se io attivo PHP 5 purtroppo i pulsanti non si vedono più….. Perché?
Vi posto ora qui sotto le pagine utilizzate che sono due:
ROSA (rosa.php) dove si dovrebbero vedere i pulsanti in PHP 5:
<?php
require_once(‘pagina di inclusione dati DB’);
require_once('include/controllo_sessione.php');
require_once('ora/image.php');
$row=mysql_fetch_array(mysql_query("SELECT * FROM user WHERE nome='".$_SESSION['nome']."'"));
$luogo=mysql_fetch_array(mysql_query("SELECT * FROM luoghi WHERE id='".$_GET['idluogo']."'")) or die (mysql_error()); //seleziono il luogo
$annook=date('Y')-2011; //calcolo l'anno e di seguito lo trasformo in numeri romani
if($annook=="1"){
$annook="I";
}
elseif($annook=="2"){
$annook="II";
}
elseif($annook=="3"){
$annook="III";
}
elseif($annook=="4"){
$annook="IV";
}
elseif($annook=="5"){
$annook="V";
}
elseif($annook=="6"){
$annook="VI";
}
elseif($annook=="7"){
$annook="VII";
}
elseif($annook=="8"){
$annook="VIII";
}
elseif($annook=="9"){
$annook="IX";
}
elseif($annook=="10"){
$annook="X";
}
$settimanaa=date('l'); //calcolo giorno della settimana e lo trasformo in italiano (chiedere se vogliamo dare dei nomi ai giorni della settimana)
if($settimanaa=="Monday"){$settimanaa2="Lunedì";}
if($settimanaa=="Tuesday"){$settimanaa2="Martedì";}
if($settimanaa=="Wednesday"){$settimanaa2="Mercoledì";}
if($settimanaa=="Thursday"){$settimanaa2="Giovedì";}
if($settimanaa=="Friday"){$settimanaa2="Venerdì";}
if($settimanaa=="Saturday"){$settimanaa2="Sabato";}
if($settimanaa=="Sunday"){$settimanaa2="Domenica";}
$mesee=date('F'); //calcolo mese e lo trasformo in numeri romani
if($mesee=="January"){$meseOK2="I";}
if($mesee=="February"){$meseOK2="II";}
if($mesee=="March"){$meseOK2="III";}
if($mesee=="April"){$meseOK2="IV";}
if($mesee=="May"){$meseOK2="V";}
if($mesee=="June"){$meseOK2="VI";}
if($mesee=="July"){$meseOK2="VII";}
if($mesee=="August"){$meseOK2="VIII";}
if($mesee=="September"){$meseOK2="IX";}
if($mesee=="October"){$meseOK2="X";}
if($mesee=="November"){$meseOK2="XI";}
if($mesee=="December"){$meseOK2="XII";}
$numeroo=date('j'); //recupero il numero del giorno.
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><?php echo $gioco_nome; ?></title>
<link rel="stylesheet" type="text/css" href="css/<?php echo $row['skin'];?>/rosa.css" />
<script language="JavaScript1.2" src="js/protezione.js"></script>
<script language="JavaScript" type="text/javascript">
<!-- calcolo l'ora -->
function sivamtime() {
now=new Date();
hour=now.getHours();
min=now.getMinutes();
sec=now.getSeconds();
if (min<=9) { min="0"+min; }
if (sec<=9) { sec="0"+sec; }
if (hour==12) { add="pm"; }
time = ((hour<=9) ? "0"+hour : hour) + ":" + min + ":" + sec;
if (document.getElementById) { document.getElementById('theTime').innerHTML = time; }
else if (document.layers) {
document.layers.theTime.document.write(time);
document.layers.theTime.document.close(); }
setTimeout("sivamtime()", 1000);
}
window.onload = sivamtime;
</script>
</head>
<body>
<center>
<table align="center">
<tr>
<td>
<font color="#FFFFFF"> Anno<strong> <?php echo $annook; ?> -</strong> Mese<strong> <?php echo $meseOK2; ?></strong> - Giorno<strong> <?php echo $numeroo; ?></strong><br />
<center><span id="theTime" style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:8px"></span></center></font>
</td>
</tr>
</table>
<br />
<a href="rosa.php?idluogo=1" target="_self">
<img src="ora/image.php?act=navigazione&nav=Mappa&s=1"> </a>
</center>
<center>
<?php
$n = "SELECT * FROM buttons_l WHERE idl=".$luogo['id']." AND nav=1 ORDER BY nameb";
$nsel = mysql_query($n) or die (mysql_error());
while($nrs = mysql_fetch_array($nsel)) {
$nnameb = $nrs['nameb'];
$nurlb = $nrs['urlb'];
$nid_arrivo = $nrs['id_arrivo'];
$n2 = "SELECT * FROM luoghi WHERE id=".$nid_arrivo;
$nsel2 = mysql_fetch_array(mysql_query($n2));
$arrdir=mysql_fetch_array(mysql_query("SELECT * FROM luoghi WHERE id='".$nid_arrivo."'"));
if($arrdir['riservata']=='0'){
?>
<a href="<?php echo $_GET['nurlb'];?>" target="_self"><img src="ora/image.php?act=navigazione&nav=<?php echo $_GET['nnameb'];?>&s=3" border="0" onMouseOver="return escape('<?php echo $nsel2['nome'];?>')"></a>
<?php
}else{
//vedo se l'utente ha l'accesso
$acc_nomedir=mysql_num_rows(mysql_query("SELECT id FROM luoghi_accessi WHERE idluogo='$arrdir[id]' AND nome='$row[nome]'"));
$acc_idmestieredir=mysql_num_rows(mysql_query("SELECT id FROM luoghi_accessi WHERE idluogo='$arrdir[id]' AND corp='$row[idmestiere]'"));
$acc_idgildadir=mysql_num_rows(mysql_query("SELECT id FROM luoghi_accessi WHERE idluogo='$arrdir[id]' AND corp='$row[idgilda]'"));
$acc_idammdir=mysql_num_rows(mysql_query("SELECT id FROM luoghi_accessi WHERE idluogo='$arrdir[id]' AND corp='$row[idamm]'"));
$acc_idcaricagildadir=mysql_num_rows(mysql_query("SELECT id FROM luoghi_accessi WHERE idluogo='$arrdir[id]' AND carica='$row[idcaricagilda]'"));
$acc_idcaricaammdir=mysql_num_rows(mysql_query("SELECT id FROM luoghi_accessi WHERE idluogo='$arrdir[id]' AND carica='$row[idcaricaamm]'"));
$acc_idcaricamestieredir=mysql_num_rows(mysql_query("SELECT id FROM luoghi_accessi WHERE idluogo='$arrdir[id]' AND carica='$row[idcaricamestiere]'"));
$acc_cmestieredir=mysql_num_rows(mysql_query("SELECT id FROM luoghi_accessi WHERE idluogo='$arrdir[id]' AND grado='$row[cmestiere]'"));
$acc_cgildadir=mysql_num_rows(mysql_query("SELECT id FROM luoghi_accessi WHERE idluogo='$arrdir[id]' AND grado='$row[cgilda]'"));
$acc_cammdir=mysql_num_rows(mysql_query("SELECT id FROM luoghi_accessi WHERE idluogo='$arrdir[id]' AND grado='$row[camm]'"));
$pos = strpos(($arrdir['invitati']), "!".$user."!,");
if($pos === false) {
$invitato="no";
} else {
$invitato="si";
}
if(($acc_nomedir!="0") OR ($acc_idmestieredir!="0") OR ($acc_idgildadir!="0") OR ($acc_idammdir!="0") OR ($acc_idcaricamestieredir!="0") OR ($acc_idcaricagildadir!="0") OR ($acc_idcaricaammdir!="0") OR ($acc_cmestieredir!="0") OR ($acc_cgildadir!="0") OR ($acc_cammdir!="0") OR ($row['gestore']== '1') OR ($row['gestore']== '2') OR ($invitato == "si")) {
echo"<a href="$nurlb" target="_self"><img src="ora/image.php?act=navigazione&nav=$nnameb&s=3" border="0" onMouseOver="return escape('$nsel2[nome]')"></a>";
}
}}
?>
</center>
<?php
$s = "SELECT * FROM buttons_l WHERE idl=".$luogo['id']." AND nav=0";
$sel = mysql_query($s) or die (mysql_error());
while($rs = mysql_fetch_array($sel)) {
$nameb = $rs['nameb'];
$urlb = $rs['urlb'];
$arr=mysql_fetch_array(mysql_query("SELECT id,riservata FROM luoghi WHERE id='".$rs['id_arrivo']."'"));
if($arr['riservata']=='0'){
?>
<center><a href="<?php echo $urlb;?>" target="_self"><img src="ora/image.php?act=navigazione&s=3&nav2=<?php echo $nameb;?>" border="0"></a></center>
<?php
}else{
//vedo se l'utente ha l'accesso
$acc_nome=mysql_num_rows(mysql_query("SELECT id FROM luoghi_accessi WHERE idluogo='".$arr['id']."' AND nome='".$row['nome']."'"));
$acc_idmestiere=mysql_num_rows(mysql_query("SELECT id FROM luoghi_accessi WHERE idluogo='".$arr['id']."' AND corp='".$row['idmestiere']."'"));
$acc_idgilda=mysql_num_rows(mysql_query("SELECT id FROM luoghi_accessi WHERE idluogo='".$arr['id']."' AND corp='".$row['idgilda']."'"));
$acc_idamm=mysql_num_rows(mysql_query("SELECT id FROM luoghi_accessi WHERE idluogo='".$arr['id']."' AND corp='".$row['idamm']."'"));
$acc_idcaricagilda=mysql_num_rows(mysql_query("SELECT id FROM luoghi_accessi WHERE idluogo='".$arr['id']."' AND carica='".$row['idcaricagilda']."'"));
$acc_idcaricaamm=mysql_num_rows(mysql_query("SELECT id FROM luoghi_accessi WHERE idluogo='".$arr['id']."' AND carica='".$row['idcaricaamm']."'"));
$acc_idcaricamestiere=mysql_num_rows(mysql_query("SELECT id FROM luoghi_accessi WHERE idluogo='".$arr['id']."' AND carica='".$row['idcaricamestiere']."'"));
$acc_cmestiere=mysql_num_rows(mysql_query("SELECT id FROM luoghi_accessi WHERE idluogo='".$arr['id']."' AND grado='".$row['cmestiere']."'"));
$acc_cgilda=mysql_num_rows(mysql_query("SELECT id FROM luoghi_accessi WHERE idluogo='".$arr['id']."' AND grado='".$row['cgilda']."'"));
$acc_camm=mysql_num_rows(mysql_query("SELECT id FROM luoghi_accessi WHERE idluogo='".$arr['id']."' AND grado='".$row['camm']."'"));
$pos = strpos(($arrdir['invitati']), "!".$user."!,");
if($pos === false) {
$invitato="no";
} else {
$invitato="si";
}
if(($acc_nomedir!="0") OR ($acc_idmestieredir!="0") OR ($acc_idgildadir!="0") OR ($acc_idammdir!="0") OR ($acc_idcaricamestieredir!="0") OR ($acc_idcaricagildadir!="0") OR ($acc_idcaricaammdir!="0") OR ($acc_cmestieredir!="0") OR ($acc_cgildadir!="0") OR ($acc_cammdir!="0") OR ($row['gestore']== '1') OR ($row['gestore']== '2') OR ($invitato == "si")) {
echo"<center><a href="$urlb" target="_self"><img src="ora/image.php?act=navigazione&s=3&nav2=$nameb" border="0"></a></center>";
}}}
$ggg= substr($luogo['tipo'], 0, 8);
if($ggg == "cantiere"){
$val=str_replace("cantiere","",$luogo['tipo']);
if(is_numeric($val)){
$nave=mysql_fetch_array(mysql_query("SELECT luogo FROM navi_cantiere WHERE id='".$val."'")) or die (mysql_error()); //seleziono la nave
$cant=mysql_fetch_array(mysql_query("SELECT id FROM luoghi WHERE tipo='cantiere".$nave['luogo']."'"));
echo"<center><a href="rosa.php?idluogo=$cant[id]" target="_self"><img src="ora/image.php?act=navigazione&s=3&nav2=Cantieri" border="0"></a></center>";
}
}
if ($luogo['pagina'] == "chat.php?id=".$luogo['id']){ }else{
}
?>
<script language="Javascript" type="text/javascript">javascript:parent.luogo.location='luogo.php?idluogo=<?php echo $luogo['id'];?>';javascript:parent.centrale.location='<?php echo $luogo['pagina'];?>';javascript:parent.pannello.location='pannello.php?idluogo=<?php echo $luogo['id'];?>';</script>
<script language="JavaScript" type="text/javascript" src="js/ws<?php echo $row['skin'];?>.js"></script>
</body>
</html>
<?php
if($act=="data" && $s!="") {
// calcolo l'anno e di seguito lo trasformo in numeri romani \
$annook=date('Y')-2011;
if($annook=="1"){
$annook="I";
}
elseif($annook=="2"){
$annook="II";
}
elseif($annook=="3"){
$annook="III";
}
elseif($annook=="4"){
$annook="IV";
}
elseif($annook=="5"){
$annook="V";
}
elseif($annook=="6"){
$annook="VI";
}
elseif($annook=="7"){
$annook="VII";
}
elseif($annook=="8"){
$annook="VIII";
}
elseif($annook=="9"){
$annook="IX";
}
elseif($annook=="10"){
$annook="X";
}
// calcolo giorno della settimana e lo trasformo in italiano (chiedere se vogliamo dare dei nomi ai giorni della settimana) \
$settimanaa=date('l');
if($settimanaa=="Monday"){$settimanaa2="Lunedì";}
if($settimanaa=="Tuesday"){$settimanaa2="Martedì";}
if($settimanaa=="Wednesday"){$settimanaa2="Mercoledì";}
if($settimanaa=="Thursday"){$settimanaa2="Giovedì";}
if($settimanaa=="Friday"){$settimanaa2="Venerdì";}
if($settimanaa=="Saturday"){$settimanaa2="Sabato";}
if($settimanaa=="Sunday"){$settimanaa2="Domenica";}
// calcolo mese e lo trasformo in numeri romani \
$mesee=date('F');
if($mesee=="January"){$meseOK2="I";}
if($mesee=="February"){$meseOK2="II";}
if($mesee=="March"){$meseOK2="III";}
if($mesee=="April"){$meseOK2="IV";}
if($mesee=="May"){$meseOK2="V";}
if($mesee=="June"){$meseOK2="VI";}
if($mesee=="July"){$meseOK2="VII";}
if($mesee=="August"){$meseOK2="VIII";}
if($mesee=="September"){$meseOK2="IX";}
if($mesee=="October"){$meseOK2="X";}
if($mesee=="November"){$meseOK2="XI";}
if($mesee=="December"){$meseOK2="XII";}
// recupero il numero del giorno. \
$numeroo=date('j');
// scritta dell'immagine \
$for_image = " Anno ".$annook." - Mese ".$meseOK2." - Giorno ".$numeroo;
// FIRMA -start \
header("Content-type: image/png");
$font = "kawoszeh.ttf";
$im = imagecreatefrompng('bg_'.$s.'.png');
$darkred = imagecolorallocate($im, 100,0,0);
imagettftext($im, 12, 0, 5, 23, $darkred, $font, $for_image);
imagepng($im);
imagedestroy($im);
// FIRMA -finish \
}
if($act=="nuovomessaggio" && $s!=""){
// FIRMA -start \
$nuovo = " Scrivi un Nuovo Rotolo ";
header("Content-type: image/png");
$font = "kawoszeh.ttf";
$im = imagecreatefrompng('bg_'.$s.'.png');
$darkred = imagecolorallocate($im, 100,0,0);
imagettftext($im, 12, 0, 17, 23, $darkred, $font, $nuovo);
imagepng($im);
imagedestroy($im);
// FIRMA -finish \
}
if($act=="navigazione" && $s!="" && $nav=="Mappa"){
// FIRMA -start \
$nuovo = "Mappa";
header("Content-type: image/png");
$font = "kawoszeh.ttf";
$im = imagecreatefrompng('bg_map_'.$s.'.png');
$darkred = imagecolorallocate($im, 100,0,0);
imagettftext($im, 14, 0, 9, 18, $darkred, $font, $nuovo);
imagepng($im);
imagedestroy($im);
// FIRMA -finish \
}
if($act=="navigazione" && $s!="" && $nav=="Nave"){
// FIRMA -start \
$nuovo = "Mappa";
header("Content-type: image/png");
$font = "kawoszeh.ttf";
$im = imagecreatefrompng('bg_map_'.$s.'.png');
$darkred = imagecolorallocate($im, 100,0,0);
imagettftext($im, 14, 0, 9, 18, $darkred, $font, $nuovo);
imagepng($im);
imagedestroy($im);
// FIRMA -finish \
}
if($act=="navigazione" && $s!="" && $nav!=""){
// FIRMA -start \
$nuovo = $nav;
header("Content-type: image/png");
$font = "kawoszeh.ttf";
$im = imagecreatefrompng('bg_nav_'.$s.'.png');
$darkred = imagecolorallocate($im, 100,0,0);
imagettftext($im, 15, 0, 6, 20, $darkred, $font, $nuovo);
imagepng($im);
imagedestroy($im);
// FIRMA -finish \
}
if($act=="navigazione" && $s!="" && $nav2!=""){
// FIRMA -start \
$nuovo = $nav2;
header("Content-type: image/png");
$font = "kawoszeh.ttf";
$im = imagecreatefrompng('bg_nav2_'.$s.'.png');
$darkred = imagecolorallocate($im, 100,0,0);
imagettftext($im, 10, 0, 8, 11, $darkred, $font, $nuovo);
imagepng($im);
imagedestroy($im);
// FIRMA -finish \
}
?>
Pagine → 1
22/08/2011 14:55:09
Holy Crap O_O.
Giusto una cosa che mi e' saltata all'occhio: Invece di fare una trafila di if, non ti converrebbe fare una funzioncina che, dato un numero, restituisce una stringa con l'equivalente romano? Son convinto che c'e' pure un'algoritmo di conversione piuttosto efficiente.
Homo Faber Fortunae Suae
22/08/2011 14:58:13
Ciau Faber ^_^ Piano piano sto modificando anche le date :P PErò per ora c'è questo problemuccio uccio uccio
22/08/2011 15:11:31
Ho provato a dare una lettura alla pagina. Francamente ho l'impressione che sia organizzata male a livello di progetto. Mi sembra un codice che manca completamente di modularita'. Prova a organizzarlo in un modo da avere una funzione che stampa un singolo tasto, che sia n, s, o, e, oppure mappa, a seconda dei parametri che passi. Assicurati che detta funzione produca una transizione efficente alla nuova location (anche quella passata come parametro), poi, a seconda della location dove ti trovi, richiama la funzione solo per le direzioni previste.
Homo Faber Fortunae Suae
22/08/2011 15:11:43 e modificato da leoblacksoul il 22/08/2011 15:12:53
Leggendo così non so dirti dove sia l'errore. Ma c'è una cosa che puoi fare per capire a che livello sta l'errore:
cerchiamo di capire se il problema sta nella prima o nella seconda pagina.
visita il tuo sito con il browser. Apri la pagina che ti da problemi, e visualizza il suo codice sorgente con l'opportuna opzione del browser. Osserva il codice HTML che ti fornisce il browser e cerca la parte dei tasti che non ti funziona.
Se il codice HTML c'è, ma il tasto non compare nella pagina allora è probabile che il problema sia l'immagine che cerchi di linkare (cioè image.php). Magari il tuo host non ha installato tutto quello che serve per usare le funzioni grafiche di PHP? Prova ad aprire la pagina image.php con gli opportuni parametri nel browser e vedi cosa ti viene fuori: se ti viene fuori l'immagine giusta ok, altrimenti se ti viene fuori del testo oppure un errore di PHP abbiamo trovato il problema.
Se invece manca proprio il codice HTML per i tuoi tasti, sappiamo che probabilmente c'è un problema nella prima pagina, probabilmente nelle query. Se il codice HTML c'è ma è incompleto allora può essere un problema di variabili di PHP, o una situazione che non avevi previsto.
Oppure c'è un problema nei dati che hai inserito nel database, magari non sono inseriti correttamente.
EDIT: concordo con mr_faber sull'organizzazione del codice
---
Non chiedetemi aiuto in privato per questioni di programmazione; chiedete sul forum e eventualmente vi risponderò lì.
http://gdrportal.eu - Hosting per GDR
22/08/2011 15:34:59
Provo un pò a far stampare singolarmente i luoghi vediamo cosa ne esce ^____^ come sempre siete gentilissimi, non so come rignraziarvi sul serio.
Pagine → 1
Discussione seguita da:
Non puoi scrivere in questo Forum
Aggiungi Discussione ai Preferiti
Inoltra Discussione
Forum Programmazione, GDRCD, Grafica e Open Source
Torna alla lista Forum
Seconda Era - Le Terre Libere: Rimpicciolire ad icona
✋😟
Abbiamo rilevato che stai usando un software per bloccare la pubblicità!
L'utilizzo di GDR-online.com è gratuito da oltre 17 anni ma è necessario coprire i costi per mantenerlo online... ti chiediamo di aiutarci disabilitando il blocco dei banner pubblicitari.
Togliere il blocco significa fare in modo che GDR-online.com possa continuare a far conoscere piccoli giochi amatoriali gratuitamente e offrire un servizio sempre migliore e adatto alle esigenze dei suoi giocatori!
Se questo avviso continua ad apparire nonostante tu abbia autorizzato il portale:
- Verifica nelle opzioni che venga disattivato AdBlock in tutto il dominio gdr-online.com e non solo in una pagina
- Controlla di non avere fra le estensioni installate altre analoghe ad AdBlock, come AdBlock Plusbr, ublock origin, ecc.
- Probabilmente sul tuo PC è installato un Antivirus che ha anche funzioni di blocco pubblicità
- Se usi Firefox impostare il "Blocco Contenuti" su "Normale" e non su "Restrittivo". Per farlo clicca sull'icona dello scudo vicino all'URL e clicca su "Disattiva Blocco per questo sito"
- Prova a premere CTRL + F5, riloggarti e vedi se il problema persiste