[Gdrcd 5.4.1] Tasto modifica assente in scheda pg
[Gdrcd 5.4.1] Tasto modifica assente in scheda pg postato il 31/08/2017 17:26:50 nel forum programmazione, open source e hosting
Buon pomeriggio. Sono in fase di pre-Alpha con un gioco basato sull'OS del titolo e mi sono trovato davanti ad un problema: Alcuni player appena iscritti non visualizzano in scheda il tasto di modifica, nè il tasto esperienza. Nello specifico vedono la propria scheda come se in realtà fosse quella di un altro pg su cui non possono intervenire.
Ho provato a fare diversi test, incluso registrare io stesso 3 pg diversi e non ho in nessun caso riscontrato questo problema, quindi mi viene da pensare che non sia un problema legato strettamente al codice ma a qualche valore inserito o qualche controllo che viene mancato al login.
Se cambio al pg che ha il problema il livello di permesso passandolo da Utente a Caporazza, ad esempio, il problema scompare e visualizza correttamente tutte le icone; provando a ripristinare il ruolo Utente torniamo punto e a capo.
Sono profano e non so dove mettere le mani, se serve che posti il codice di qualche pagina per effettuare dei controlli fatemi sapere e provvedo.
Grazie in anticipo a chi potrà/saprà aiutarmi
Pagine → 1
31/08/2017 17:33:23
Sarebbe utile se postassi il codice di scheda.inc.php
31/08/2017 17:35:45
Eccolo qua
<div class="pagina_scheda">
<?php /*HELP: E' possibile modificare la scheda agendo su scheda.css nel tema scelto, oppure sostituendo il codice che segue la voce "Scheda del personaggio"*/ ?>
<?php
/********* CARICAMENTO PERSONAGGIO ***********/
//Se non e' stato specificato il nome del pg
if (isset($_REQUEST['pg'])===FALSE){
echo '<div class="error">'.gdrcd_filter('out',$MESSAGE['error']['unknown_character_sheet']).'</div>';
} else {
$query = "SELECT personaggio.*, razza.sing_m, razza.sing_f, razza.id_razza, razza.bonus_car0, razza.bonus_car1, razza.bonus_car2, razza.bonus_car3, razza.bonus_car4, razza.bonus_car5
FROM personaggio
LEFT JOIN razza ON personaggio.id_razza=razza.id_razza
WHERE personaggio.nome = '".gdrcd_filter('in',$_REQUEST['pg'])."'";
$result = gdrcd_query($query, 'result');
//Se non esiste il pg
if (gdrcd_query($result, 'num_rows')==0){echo '<div class="error">'.gdrcd_filter('out',$MESSAGE['error']['unknown_character_sheet']).'</div>';}
else {
$record = gdrcd_query($result, 'fetch');
gdrcd_query($result, 'free');
$bonus_oggetti = gdrcd_query("SELECT SUM(oggetto.bonus_car0) AS BO0, SUM(oggetto.bonus_car1) AS BO1, SUM(oggetto.bonus_car2) AS BO2, SUM(oggetto.bonus_car3) AS BO3, SUM(oggetto.bonus_car4) AS BO4, SUM(oggetto.bonus_car5) AS BO5 FROM oggetto JOIN clgpersonaggiooggetto ON oggetto.id_oggetto = clgpersonaggiooggetto.id_oggetto WHERE clgpersonaggiooggetto.nome = '".gdrcd_filter('in',$_REQUEST['pg'])."' AND clgpersonaggiooggetto.posizione > ".ZAINO."");
/*Controllo esilio, se esiliato non visualizzo la scheda*/
if($record['esilio']>strftime('%Y-%m-%d')){
echo '<div class="warning">'.gdrcd_filter('out',$record['nome']).' '.gdrcd_filter('out',$record['cognome']).' '.gdrcd_filter('out',$MESSAGE['warning']['character_exiled']).' '.gdrcd_format_date($record['esilio']).' ('.$record['motivo_esilio'].' - '.$record['autore_esilio'].')</div>';
if ($_SESSION['permessi']>=GAMEMASTER){?>
<div class="panels_box"><div class="form_gioco">
<form action="popup.php?page=scheda_modifica&pg=<?php echo gdrcd_filter('url',$_REQUEST['pg']) ?>" method="post">
<input type="hidden" value="<?php echo strftime('%Y'); ?>" name="year" />
<input type="hidden" value="<?php echo strftime('%m'); ?>" name="month" />
<input type="hidden" value="<?php echo strftime('%d'); ?>" name="day" />
<input type="hidden" value="<?php gdrcd_filter('out',$MESSAGE['interface']['sheet']['modify_form']['unexile']); ?>" name="causale" />
<input type="hidden" value="exile" name="op" />
<div class="form_label">
<?php echo gdrcd_filter('out',$MESSAGE['interface']['sheet']['modify_form']['unexile']); ?>
</div>
<div class="form_submit">
<input type="submit"
value="<?php echo gdrcd_filter('out',$MESSAGE['interface']['forms']['submit']); ?>" />
</div>
</form>
</div></div>
<?php }
} else {
$px_totali_pg=$record['esperienza'];
//carico le sole abilità del pg
$result=gdrcd_query("SELECT id_abilita, grado FROM clgpersonaggioabilita WHERE nome='".gdrcd_filter('in',$_REQUEST['pg'])."'", 'result');
$px_spesi=0;
while ($row=gdrcd_query($result, 'fetch')){
/*Costo in px della singola abilità*/
$px_abi=$PARAMETERS['settings']['px_x_rank']*(($row['grado']*($row['grado']+1))/2);
/*Costo totale*/
$px_spesi+=$px_abi;
$ranks[$row['id_abilita']]=$row['grado'];
}
gdrcd_query($result, 'free');
/*Incremento skill*/
if((gdrcd_filter('get',$_REQUEST['op'])=='addskill') && (($_SESSION['login']==gdrcd_filter('out',$_REQUEST['pg']))||($_SESSION['permessi']>=MODERATOR))){
$px_necessari=$PARAMETERS['settings']['px_x_rank']*($ranks[$_REQUEST['what']]+1);
if(($px_totali_pg-$px_spesi)>=$px_necessari){
$px_spesi+=$px_necessari;
if ($px_necessari==$PARAMETERS['settings']['px_x_rank']){
$query="INSERT INTO clgpersonaggioabilita (id_abilita, nome, grado) VALUES (".gdrcd_filter('num',$_REQUEST['what']).", '".gdrcd_filter('in',$_REQUEST['pg'])."', 1)";
$ranks[$_REQUEST['what']]=1;
#echo $query;
} else {
$ranks[$_REQUEST['what']]++;
$query="UPDATE clgpersonaggioabilita SET grado = ".$ranks[$_REQUEST['what']]." WHERE id_abilita = ".gdrcd_filter('num',$_REQUEST['what'])." AND nome = '".gdrcd_filter('in',$_REQUEST['pg'])."'";
}//else
gdrcd_query($query);
echo '<div class="warning">'.gdrcd_filter('out',$MESSAGE['warning']['modified']).'</div>';
}//if
}//if
/*Decremento skill*/
if((gdrcd_filter('get',$_REQUEST['op'])=='subskill') && ($_SESSION['permessi']>=MODERATOR)){
if ($ranks[$_REQUEST['what']]==1){
$query="DELETE FROM clgpersonaggioabilita WHERE id_abilita = ".$_REQUEST['what']." AND nome = '".gdrcd_filter('in',$_REQUEST['pg'])."' LIMIT 1";
$ranks[$_REQUEST['what']]=0;
} else {
$ranks[$_REQUEST['what']]--;
$query="UPDATE clgpersonaggioabilita SET grado = ".$ranks[$_REQUEST['what']]." WHERE id_abilita = ".$_REQUEST['what']." AND nome = '".gdrcd_filter('in',$_REQUEST['pg'])."'";
}//else
gdrcd_query($query);
echo '<div class="warning">'.gdrcd_filter('out',$MESSAGE['warning']['modified']).'</div>';
}//if
if (isset($_REQUEST['op'])===FALSE){
?>
<!--- SCHEDA DEL PERSONAGGIO --->
<div class="page_title">
<h2><?php echo gdrcd_filter('out',$MESSAGE['interface']['sheet']['page_name']); ?></h2>
</div>
<div class="page_body">
<?php
/** * Controllo e avviso che è ora di cambiare password
* @author Blancks
*/
if ($PARAMETERS['mode']['alert_password_change']=='ON')
{
$six_months = 15552000;
$ts_signup = strtotime($record['data_iscrizione']);
$ts_lastpass = (int)strtotime($record['ultimo_cambiopass']);
if ($ts_lastpass+$six_months < time() && $record['nome'] == $_SESSION['login'])
{
echo '<div class="warning">';
if ($ts_signup+$six_months < time())
echo $MESSAGE['warning']['changepass'];
else
echo $MESSAGE['warning']['changepass_signup'];
echo '</div>';
}
}
?>
<div class="ritratto"><!-- nome, ritratto, ultimo ingresso -->
<div class="ritratto_nome">
<span class="ritratto_nome_nome">
<?php echo gdrcd_filter('out',$record['nome']); ?>
</span>
<span class="ritratto_nome_cognome">
<?php echo gdrcd_filter('out',$record['cognome']); ?>
</span>
</div>
<div class="ritratto_avatar">
<img src="<?php echo gdrcd_filter('fullurl',$record['url_img']); ?>" class="ritratto_avatar_immagine" />
</div>
<div class="ritratto_invia_messaggio"><!-- Link invia messaggio -->
<a href="popup.php?page=messages_center&newmessage=yes&reply_dest=<?php echo gdrcd_filter('url',$record['nome']); ?>" class="link_invia_messaggio">
<?php if (empty($PARAMETERS['names']['private_message']['image_file'])===FALSE){ ?>
<img src="<?php echo $PARAMETERS['names']['private_message']['image_file']; ?>"
alt="<?php echo gdrcd_filter('out',$MESSAGE['interface']['sheet']['send_message_to']['send']).'
'. gdrcd_filter('out',$PARAMETERS['names']['private_message']['sing']).'
'.gdrcd_filter('out',$MESSAGE['interface']['sheet']['send_message_to']['to']).' '.gdrcd_filter('out',$record['nome']); ?>"
title="<?php echo gdrcd_filter('out',$MESSAGE['interface']['sheet']['send_message_to']['send']).' '. gdrcd_filter('out',$PARAMETERS['names']['private_message']['sing']).' '.gdrcd_filter('out',$MESSAGE['interface']['sheet']['send_message_to']['to']).' '.gdrcd_filter('out',$record['nome']); ?>"
class="link_messaggio_forum">
<?php } else {
echo gdrcd_filter('out',$MESSAGE['interface']['sheet']['send_message_to']['send']).' '.gdrcd_filter('out', strtolower($PARAMETERS['names']['private_message']['sing'])).' '.gdrcd_filter('out',$MESSAGE['interface']['sheet']['send_message_to']['to']).' '.gdrcd_filter('out',$record['nome']);
} ?>
</a>
</div><!-- Link invia messaggio -->
</div><!-- nome, ritratto, ultimo ingresso, abiti portati -->
<!-- Punteggi, salute, status, classe, razza. -->
<?php } ?>
<TABLE>
<TBODY>
<TR>
<td>
<a href="/popup.php?page=scheda_profilo&pg=<?php echo $record['nome']; ?>"><img src="http://witchesofsalem.altervista.org/imgs/pulsantischeda/prof.png"></a>
</td>
<td>
<a href="/popup.php?page=scheda_storia&pg=<?php echo $record['nome']; ?>"><img src="http://witchesofsalem.altervista.org/imgs/pulsantischeda/bg.png"></a>
</td>
<td ><a href="popup.php?page=scheda_status&pg=<?php echo $record['nome']; ?>"><img src="http://witchesofsalem.altervista.org/imgs/pulsantischeda/note.png"></a>
</td>
<td ><a href="popup.php?page=scheda_oggetti&pg=<?php echo $record['nome']; ?>"><img src="http://witchesofsalem.altervista.org/imgs/pulsantischeda/inv.png"></a>
</td>
<td>
<a href="popup.php?page=scheda_equip&pg=<?php echo $record['nome']; ?>"><img src="http://witchesofsalem.altervista.org/imgs/pulsantischeda/equip.png"></a>
</td>
<td ><?php if($_REQUEST['pg']==$_SESSION['login'] || $_SESSION['permessi']>=GUILDMODERATOR){ ?>
<a href="popup.php?page=scheda_skill&pg=<?php echo gdrcd_filter('url',$_REQUEST['pg']); ?>"><img src="http://witchesofsalem.altervista.org/imgs/pulsantischeda/skill.png"></a>
</td><?php } ?>
<td><?php if($_REQUEST['pg']==$_SESSION['login'] || $_SESSION['permessi']>=GUILDMODERATOR){ ?>
<a href="popup.php?page=scheda_trans&pg=<?php echo $record['nome']; ?>"><img src="http://witchesofsalem.altervista.org/imgs/pulsantischeda/trans.png"></a>
</td>
<?php } ?>
<td>
<?php if($_REQUEST['pg']==$_SESSION['login'] || $_SESSION['permessi']>=GUILDMODERATOR){ ?>
<a href="popup.php?page=scheda_modifica&pg=<?php echo $record['nome']; ?>"><img src="http://witchesofsalem.altervista.org/imgs/pulsantischeda/mod.png"></a>
</td>
<?php } ?>
<?php if($_REQUEST['pg']==$_SESSION['login'] || $_SESSION['permessi']>=GUILDMODERATOR){ ?>
<td >
<a href="popup.php?page=scheda_px&pg=<?php echo gdrcd_filter('url',$_REQUEST['pg']); ?>"><img src="http://witchesofsalem.altervista.org/imgs/pulsantischeda/exp.png"></a>
</td>
<?php } ?>
<?php if($_SESSION['permessi']>=MODERATOR){ ?>
<td >
<a href="popup.php?page=scheda_log&pg=<?php echo gdrcd_filter('url',$_REQUEST['pg']); ?>"><img src="http://witchesofsalem.altervista.org/imgs/pulsantischeda/log.png"></a>
</td>
<td >
<a href="popup.php?page=scheda_gst&pg=<?php echo gdrcd_filter('url',$_REQUEST['pg']); ?>"><img src="http://witchesofsalem.altervista.org/imgs/pulsantischeda/adm.png"></a>
</td></TR>
<?php } ?>
</TBODY></TABLE>
<!-- fine codice che fa aprire la pagina affetti -->
<!--- AREA ADMIN --->
<?php if($_SESSION['permessi']>=MODERATOR){ ?>
<div class="log_report">
<?php /*report*/ ?>
</div>
<?php } ?>
<!-- Link a piè di pagina -->
<?php }//else
}//else
/********* CHIUSURA SCHEDA **********/
}//else
?>
<?php //else?>
<!-- embed src="<?php //echo gdrcd_bbcoder(gdrcd_filter('out',$record['url_media'])); ?>" height="0" width="0"-->
<?php
if ($PARAMETERS['mode']['allow_audio'] == 'ON' && !$_SESSION['blocca_media'] && !empty($record['url_media']))
{
?>
<object data="<?php echo $record['url_media']; ?>" type="<?php echo $PARAMETERS['settings']['audiotype']['.'.strtolower(end(explode('.', $record['url_media'])))]; ?>" autostart="true">
<embed src="<?php echo $record['url_media']; ?>" autostart="true" hidden="true" />
</object>
<!--[if IE9]>
<embed src="<?php echo $record['url_media']; ?>" autostart="true" hidden="true" />
<![endif]-->
<?php
}
?>
</div><!-- Pagina -->
31/08/2017 17:47:24
Anche io la prima volta ho risolto facendo reiscrivere la player. Ma questa seconda volta il problema non si risolve. Provo a fare il secondo procedimento da te suggerito e grazie :)
Se poi intanto qualcuno capisce cosa va storto, lascio qui al buon cuore di chi è più preparato di me :)
Pagine → 1
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!
World of Warship ↗
Fallen Gods ↗
Sea of Conquest ↗
Foundation Galactic Frontier ↗