Problema Modifica Scheda [GDRCD]
Problema Modifica Scheda [GDRCD] postato il 13/06/2009 18:36:08 nel forum programmazione, open source e hosting
Ebbene, oggi i problemi non finiscono mai.
Infatti, ho appena notato, adoperando un personaggio di prova, che la funzione di modifica in scheda non funziona. O meglio, rimanda indietro, dicendoti che ha modificato, ma non cambia nulla nella sezione "Dice di sè", "Affetti" e così via. Pensavo potessi aver introdotto qualche modifica errata, ma così non è stato. Quando ho rimesso online il file non modificato ho avuto il medesimo problema. Deduco, quindi, che sia proprio un Bug del pacchetto GDRCD. A scanso di equivoci vi posto il codice.
<? session_start();
include ('inc/parametri.inc.php');
include ('inc/controllo.php');
include ('inc/open2.php');
$pg=$_REQUEST['pg'];
$Login=$_SESSION["Login"];
$pg = trim($pg);
$Modifica = trim($Login);
$upd = ((strtoupper($pg) == strtoupper($Login)) and (trim($pg) != "") and (strtoupper($Modifica) == strtoupper($pg)));
function barra($valore, $maxvalore)
{
$colore = "5A7150";
$colore1 = "646763";
$bar = '<table cellpadding=0 cellspacing=0 border=0 width="'.$valore.'" height=10>';
$bar .= '<tr><td align=right bgcolor="'.$colore.'" width=';
if ($valore > 100) {
$bar .= '100><font color=black>+</font>';
}
else
{
$bar .= $valore.'><img src='img/spacer.gif' width='.$valore.' height=1>';
};
$bar .= "</td>";
if (($maxvalore - $valore) > 0) {
$bar .= '<td align=right bgcolor="'.$colore1.'" width=';
$bar .= ($maxvalore - $valore).'><img src='img/spacer.gif' width='.($maxvalore-$valore).' height=1>';
$bar .= "</td>";
};
$bar .= "</tr>";
$bar .= "</table>
";
return $bar;
};
$MySql = "SELECT Personaggio.*, Razza.Razza, Razza.URLImg AS URLImgRazza, Gilda.Gilda, Gilda.URLImg AS URLImgGilda
FROM Personaggio
LEFT JOIN Razza
ON Personaggio.IDRazza = Razza.IDRazza
LEFT JOIN Gilda
ON Personaggio.IDGilda = Gilda.IDGilda
WHERE Nome = '".pars($pg)."'";
$result = mysql_query($MySql);
$rs = mysql_fetch_array($result);
if ((trim($pg) == "") or !($rs)) {
$rs->close;
mysql_close;
echo("<script><!--
history.back();
//-->
</script>");
exit();
};
#########################################
# Il Recordset non è vuoto #
#########################################
$UrlImg = trim($rs["URLImg"]);
If ($UrlImg == "")
$UrlImg = "img/sagoma".$rs["Sesso"].".gif";
$UrlImgRazza = trim($rs["URLImgRazza"]);
If ($UrlImgRazza == "")
$UrlImgRazza = "spacer.gif";
$UrlImgGilda = trim($rs["URLImgGilda"]);
If ($UrlImgGilda == "")
$UrlImgGilda = "nessuno.gif";
$Gilda = trim($rs["Gilda"]);
if ($Gilda == "") {
if (strtolower($rs["Sesso"]) == "f") {
$Gilda = "Cittadina delle Libere Terre";
} else {
$Gilda = "Cittadino delle Libere Terre";
}
}
include ('inc/header.html.inc.php');
?>
<title>Modifica Scheda <?= $pg ?></title>
</head>
<body style="background-image: url(img/scheda.jpg); color: black;">
<br><br><br><br><br><center>
<div align=center style="width:650; height: 450; overflow: auto;">
<center>
<!--table border=0 cellpadding=2 cellspacing=2 class=tScuro>
<tr>
<td bgcolor=black><a href="scheda.php?pg=<?= urlencode($pg) ?>">Scheda Personaggio</a></td>
<td bgcolor=black><a href="scheda2.php?pg=<?= urlencode($pg) ?>">Oggetti</a></td>
<? if (strtoupper($pg) == strtoupper($Login)) { ?>
<td>Modifica</td>
<td bgcolor=black><a href="scheda4.php?pg=<?= urlencode($pg) ?>">Movimenti</a></td>
<td bgcolor=black><a href="scheda5.php?pg=<?= urlencode($pg) ?>">Punti</a></td>
<? } ?>
</tr></table><br><br-->
<!--? if (!($upd)) {exit();} ?--><!-- controllo identita'-->
<table border="0" bordercolor="#F8E9AA" cellspacing="0" cellpadding="2" width="620">
<tr class=tScuro>
<td align=center colspan=3><font class=Titolo><img src="img/testamini<?= strtolower($rs["Sesso"]) ?>.gif"> <?= htmlspecialchars($rs["Nome"]) ?></font></td>
</tr>
<!--? if ($upd || $master==1) { ?-->
<form action="scheda.php?pg=<?= urlencode($pg) ?>" method="POST">
<!--input type="hidden" name="pg" value=""-->
<?if($upd) { ?>
<tr>
<td align=center>Cognome<br> <input type="text" name="cognome" maxlength="40" value="<?= htmlspecialchars($rs["Cognome"]) ?>"></td>
<td align=center>data di nascita (gg/mm/aaaa):<br><input Name="gg" size=2 maxlength=2><input Name="mm" size=2 maxlength=2><input Name="aaaa" size=4 maxlength=4></td>
<td align=center colspan=2>Password<br><input type="password" name="pass" maxlength="50" value="<?= htmlspecialchars($rs["Pass"]) ?>"></td>
</tr>
<?
if (($rs["DataNascita"] == "") || ($rs["DataNascita"] == "0000-00-00")) {
?>
<? } } ?>
<?if ($upd) {
echo "<tr> <td align=center colspan=3>Profilo<br>";
if ($upd) {
echo "<textarea cols=100 rows=5 name="descrizione">".htmlspecialchars($rs["Descrizione"])."</textarea>";
} else {
echo htmlspecialchars($rs["Descrizione"]);
}
echo "</td></tr>";
}?>
<? if ($upd) {
echo "<tr><td align=center colspan=3>Affetti<br>";
echo "<textarea cols=100 rows=5 name="affetti">".htmlspecialchars($rs["Affetti"])."</textarea>";
echo "</td></tr>";
} ?>
<? if ($_SESSION['Master'] == '1') { ?>
<tr>
<td align=center colspan=3>Status<br> <?
if ($rs["Capacita"]==""){$rs["Capacita"]="Nella norma";}
echo "<textarea cols=100 rows=3 name="capacita">".htmlspecialchars($rs["Capacita"])."</textarea>";
echo "Punti Ferita Attuali: <input Name='PF' size=3 maxlength=3 value=".htmlspecialchars($rs["MaxMente"]).">"; echo "/".htmlspecialchars($rs["MaxForza"]);
?></td>
</tr>
<? } ?>
<? if ($upd) { ?>
<tr>
<td align=center colspan=3>URL Immagine/URL MIDI<br> <input type="text" name="urlimg" maxlength="255" value="<?= htmlspecialchars($rs["URLImg"]) ?>" size=50><input type="text" name="midi" maxlength="100" value="<?= htmlspecialchars($rs["Midi"]) ?>" size=50></td>
</tr>
<? } ?>
<? if ($upd||$_SESSION['Master'] == '1') { ?>
<tr>
<td align=center colspan=3><input type="Submit" value="Modifica <?= $pg ?>"></td>
</tr>
</form>
<? } ?></table>
<? $rs->close;
?>
</div><a href="scheda.php?pg=<?= urlencode($pg) ?>">torna al diario</a></center>
</body>
</html>
Please aiutatemi... Se non si riescono a modificare le schede è un problema non irrilevante!
Pagine → 1
14/06/2009 10:49:36
I pg si iscrivono e riesco anche a modificarli dal pannello gestione... Ho fatto diverse prove! La tabella del database non l'ho modificata...
Come posso risolvere questo problema? Stavo per aprire il GDR quando se n'è accorto un tester...
Please, aiuto! :-(
14/06/2009 10:59:03
Nella pagina di cui hai postato il codice non vedo nessuna query che faccia un UPDATE non è che hai postato il codice della pagina in cui c'è il form e non quello dove avviene l'update?
A memoria se non ricordo male nel gdrcd il form è nella pagina scheda3.php ma la pagina a cui punt ail form è la pagina scheda.php
come prima cosa ti converrebbe prendere la pagina scheda.php fare una stampa della variabile in cui viene salvata la query (nel gdrcd nel 90% un echo $MySql il nome della variabile è sempre quello) subito sotto la query per vedere innanzitutto se tutte le variaibli arrivano correttamente alla query e poi prendere il risultato della query e copiancollarlo nel phpmyadmin da cui gestisci il database per vedere in dettaglio eventualmente l'errore che ritorna il database
14/06/2009 12:28:02 e modificato da sgc carter il 14/06/2009 12:29:53
dyrr ha scritto:
A memoria se non ricordo male nel gdrcd il form è nella pagina scheda3.php ma la pagina a cui punt ail form è la pagina scheda.php
Yes, confermo che l'UPDATE del DB avviene da scheda.php. 90% l'errore sta li...Controlla bene le variabili delle diverse $rs $rs1 ecc ecc e dei diversi permessi...li spesso basta una svista di niente e ti sballa tutto.
E, visto che ci sei, controlla anche che hai scritto correttamente le variabili. Ricorda che affetti o Affetti non è la stessa cosa scrivere l'uno per l'altro ti da l'effetto "sballa tutto" di cui si parlava prima :-p
14/06/2009 15:18:20
Risolto. C'era un Errore in Scheda.php
Io mi ostivano a cercare in Scheda3.php, assai stupidamente :-P
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!
AlterEgo ↗
RAID Shadow Legends ↗
Neverness to Everness ↗
Enlisted ↗
CRSED: F.O.A.D. ↗