[GDRCD 5.5] Assegnazione esperienza decimale [RISOLTO]
[GDRCD 5.5] Assegnazione esperienza decimale [RISOLTO] postato il 27/12/2021 23:16:58 nel forum programmazione, open source e hosting e modificato da dorian il 09/01/2022 03:45:39
Ciao a tutti.
Sono incappato in un altro pezzo di codice che da solo non riesco a sistemare.
Parto col dire che non sono affatto un esperto di programmazione, anzi. Mi sto arrabattando.
La mia necessità è che sia possibile assegnare un valore in decimali nella scheda del personaggio. Il codice, questo qui:
<?php /* Assegnamento PX*/
if ($_POST['op'] == "assegna")
{
if ((is_numeric($_POST['px']) === true) && ($_SESSION['permessi'] >= GAMEMASTER))
{
gdrcd_query("UPDATE personaggio SET esperienza = esperienza + " . gdrcd_filter('num',
$_POST['px']) . " WHERE nome = '" . gdrcd_filter('in', $_REQUEST['pg']) . "' LIMIT 1 ");
gdrcd_query("UPDATE personaggio SET esperienzacumulata = esperienzacumulata + " . gdrcd_filter('num',
$_POST['px']) . " WHERE nome = '" . gdrcd_filter('in', $_REQUEST['pg']) . "' LIMIT 1 ");
/*Registro l'operazione*/
gdrcd_query("INSERT INTO log (nome_interessato, autore, data_evento, codice_evento ,descrizione_evento) VALUES ('" . gdrcd_filter('in',
$_REQUEST['pg']) . "', '" . $_SESSION['login'] . "', NOW(), " . PX . ", '(" . gdrcd_filter('num',
$_POST['px']) . ' px) ' . gdrcd_filter('in', $_POST['causale']) . "')");
echo '<div class="warning">' . gdrcd_filter('out', $MESSAGE['warning']['done']) . '</div>';
} else
{
echo '<div class="warning">' . gdrcd_filter('out', $MESSAGE['warning']['camt_do']) . '</div>';
}
} ?>
che è quello di GdrCd 5.5 (con una piccola modifica mia per tenere conto dell'esperienza totale del personaggio accumulata), registra però solo i numeri interi.
Ho controllato nella tabella del DB e il parametro dell'esperienza è definito come Decimal, quindi non capisco come mai non mi prenda i decimali.
Qualcuno sa darmi qualche dritta?
Pagine → 1
28/12/2021 02:02:55
gdrcd_filter('num',$_POST['px'])
il filter 'num' converte l'input in un intero. se vuoi mantener ei decimali usa:
gdrcd_filter('in',$_POST['px'])
28/12/2021 10:26:07
exv_staff ha scritto:
gdrcd_filter('num',$_POST['px'])
il filter 'num' converte l'input in un intero. se vuoi mantener ei decimali usa:
gdrcd_filter('in',$_POST['px'])
Oh perfetto! Ha funzionato alla perfezione! Grazie mille!
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!
Seconda Era ↗
Project Entropy ↗
Enlisted ↗