capire l'origine di un bug
Pagine → 1 2
06/06/2011 23:46:16
Senza vedere lo script completo è dura, nel codice che hai postato prima non si vede la parte di quando le variabili vengono passare dagli array superglobali alle variabili che usi, il problema è lì oppure proprio nel form. Ma per saperlo mi ci vuole proprio il codice
07/06/2011 21:18:54
ecco il sorgente spero che possa servire ho messo in grassetto le parti inserite.
<? session_start();
include ("inc/parametri.inc.php");
include ("inc/controllo.php");
include ("inc/open2.php");
$Login = $_SESSION['Login'];
$IDGilda_S = $_SESSION['IDGilda_S'];
$ImgGilda_S = $_SESSION['ImgGilda_S'];
$DescGilda_S = $_SESSION['DescGilda_S'];
$IDRazza_S = $_SESSION['IDRazza_S'];
$Titolo=$_POST['Titolo'];
$Messaggio=$_POST['Messaggio'];
$op=$_GET['op'];
$ID=$_GET['ID'];
if($ID =="") {$ID=$_POST['ID1'];}
$IDMsgPadre=$_GET['IDMsgPadre'];
if($IDMsgPadre==''){$IDMsgPadre=$_POST['IDMsgPadre1'];}
$p = $_GET['p'];
if($p==''){$p=$_POST['p1'];}
$Query = $_GET['Query'];
$IDMsg = $_GET['IDMsg'];
if($IDMsg==''){$IDMsg=$_POST['IDMsg1'];}
$pagemax = 15;
$IDAraldo = 0 + $ID;
$IDMsgPadre = 0 + $IDMsgPadre;
if ($IDAraldo == "") {
echo("Errore: sezione non identificata!");
exit;
}
function Tempo($tim) {
return(strftime("%d/%m/%Y %H:%M", strtotime($tim)));
}
include ('inc/header.html.inc.php');
?>
<title>DataBase</title>
<script language="JavaScript">
function Conferma(){
if (confirm('Sei sicuro?'))
return true;
else
return false;
}
</script>
</head>
<link href="forum.css" rel="stylesheet" type="text/css"></head>
<body style="background-image: url(img/messaggi1.jpg)">
<br><br><br><br><br><br><br><br><br>
<center>
<div align= left style="width:800; height: 750; overflow: auto;">
<?
$MySql = "SELECT * FROM Araldo WHERE IDAraldo = $IDAraldo";
$Result = mysql_query($MySql);
$rs = mysql_fetch_array($Result);
$IDAraldo = $rs['IDAraldo'];
$Bacheca = $rs['Descrizione'];
$Master_Araldo = $rs['Master'];
$Capo = $rs['Capo'];
$CapoRazza = $rs['CapoRazza'];
$Punti = $rs['Punti'];
$Gilda = $rs['Gilda'];
$Razza = $rs['Razza'];
$rs->close;
mysql_free_result($Result);
If (($Master_Araldo== 1) && ($_SESSION['Master'] < 1) ) {
echo 'Sezione riservata ai Master e narratori!<br><a href="araldo.php">Torna all'Database</a>';
exit();
}
If ((($Capo==1) && ($Master_Araldo != 1)) && ($_SESSION['Master'] != 2))
{
echo 'Sezione riservata ai Master delle Corporazioni!<br><a href="araldo.php">Torna all'Database</a>';
exit();
}
If ((($Capo!=1) && ($Master_Araldo == 1)) && ($_SESSION['Master'] != 1))
{
echo 'Sezione riservata ai Narratori!<br><a href="araldo.php">Torna all'Database</a>';
exit();
}
If (($Gilda==1) && (0 + $IDGilda_S -100 < 0)) {
echo 'Sezione riservata alle Corporazioni!<br><a href="araldo.php">Torna all'Araldo</a>';
exit();
}
If (($Razza==1) && (((0 + $IDRazza_S) % 1000) -10 < 0)) {
echo 'Sezione riservata alle Razze!<br><a href="araldo.php">Torna all'Araldo</a>';
exit();
}
If (($CapoRazza==1) && ((((0 + $IDRazza_S) % 10) != 0) || (((0 + $IDRazza_S) % 1000) == 0))) {
echo 'Sezione riservata ai Capi Razza!<br><a href="araldo.php">Torna all'Araldo</a>';
exit();
}
$Messaggio = trim($Messaggio);
$Titolo = trim($Titolo);
$Titolo = substr($Titolo, 0, max(255, strlen($Titolo)));
If ($Titolo == '') {
$Titolo = 'NUOVO MESSAGGIO';
}
If ($Messaggio != '') {
#I controlli Master + Capo sono impliciti nel codice precedente
#Effettuare controllo PG Esistente
If ($IDMsg == '') {
#----- nuovo messaggio! -----
$MySql = 'INSERT INTO MessaggioAraldo (IDAraldo, IDMessaggioPadre, Titolo, Messaggio, Autore, IDGilda, Img, Corporazione, IDRazza, DataMessaggio)';
$MySql .=" VALUES ($IDAraldo,";
$MySql .=" '$IDMsgPadre',";
$MySql .=" '$Titolo',";
$MySql .=" '$Messaggio',";
$MySql .=" '".pars($Login)."',";
$MySql .=" '".pars($IDGilda_S)."',";
$MySql .=" '".pars($ImgGilda_S)."',";
$MySql .=" '".pars($DescGilda_S)."',";
$MySql .=" '".pars($IDRazza_S)."',";
$MySql .=" NOW())";
$Result = mysql_query($MySql);
#Inserisce edit automatico
$MySql = "UPDATE MessaggioAraldo SET ";
$MySql .=" DataUltimaRisposta = NOW(),";
$MySql .=" DataRiferimento = NOW()";
$MySql .=" WHERE IDAraldo = '$IDAraldo'";
$MySql .=" AND IDMessaggio = '$IDMsgPadre'";
$Result = mysql_query($MySql);
$MySql = "SELECT * FROM MessaggioAraldo WHERE IDAraldo = '$IDAraldo' ORDER BY IDMessaggio DESC";
$Result = mysql_query($MySql);
$rs1 = mysql_fetch_array($Result);
$IDMsg = $rs1['IDMessaggio'];
$rs1->close;
} else {
$giorno = date("d");
$mese = date("m");
$anno = date("Y");
$Data = $giorno.'/'.$mese.'/'.$anno;
$Messaggio = $Messaggio.'
Modificato da '.$Login.' il '.$Data.'';
#----- correzione messaggio! -----
$MySql = "UPDATE MessaggioAraldo SET ";
$MySql .=" Titolo = '$Titolo',";
$MySql .=" Messaggio = '$Messaggio'";
$MySql .=" WHERE IDAraldo = '$IDAraldo'";
$MySql .=" AND IDMessaggio = '$IDMsg'";
if ($_SESSION['Admin_S'] != '1' & $_SESSION['Super_S'] != '1'){
$MySql .=" AND Autore = '".pars($Login)."'";
}
$Result = mysql_query($MySql);
}
#----- CASO IN CUI SONO INSERITI PUNTI ESPERIENZA -----
if ($Punti == 1) {
# Passo 1 ---> Aggiornare al contrario i punti esperienza relativi al messaggio
$MySql = "SELECT * FROM Punti WHERE IDMessaggioAraldo = '$IDMsg'";
$Result1 = mysql_query($MySql);
while ($rs1 = mysql_fetch_array($Result1)) {
$MySql = "UPDATE Personaggio SET Esperienza = Esperienza - '".$rs1['Esperienza']."' WHERE Nome = '".pars($rs1['Nome'])."'";
$Result2 = mysql_query($MySql);
}
$rs1->close;
# Passo 2 ---> Cancellare tutti i punti registrati relativi al messaggio
$MySql = "DELETE FROM Punti WHERE IDMessaggioAraldo = '$IDMsg'";
$Result = mysql_query($MySql);
# Passo 3 ---> Aggiungere i punti esperienza relativi al messaggio in input
for ($i = 1; $i <= 20; $i++) {
if (($_POST["Nome$i"] != '') && ($_POST["Esperienza$i"] != 0)) {
$MySql = "INSERT INTO Punti (Nome, Esperienza, DataEvento, IDMessaggioAraldo)";
$MySql .= " VALUES ('".$_POST["Nome$i"]."', '".$_POST["Esperienza$i"]."', '".strftime("%Y-%m-%d %H:%M:%S")."', '$IDMsg')";
$Result = mysql_query($MySql);
$MySql = "UPDATE Personaggio SET Esperienza = Esperienza + '".$_POST["Esperienza$i"]."', Explibera = Explibera + '".$_POST["Esperienza$i"]."' WHERE Nome = '".$_POST["Nome$i"]."'";
$Result = mysql_query($MySql);
}
}
}
}
If ($op == 'cancella') {
#----- CASO IN CUI SONO INSERITI PUNTI ESPERIENZA -----
if ($Punti == 1) {
# Passo 1 ---> Aggiornare al contrario i punti esperienza relativi al messaggio
$MySql = "SELECT * FROM Punti WHERE IDMessaggioAraldo = '$IDMsg'";
$Result = mysql_query($MySql);
while ($rs1 = mysql_fetch_array($Result)) {
$MySql = "UPDATE Personaggio SET Esperienza = Esperienza - '".$rs1['Esperienza']."' WHERE Nome = '".pars($rs1['Nome'])."'";
$Result1 = mysql_query($MySql);
}
$rs1->close;
# Passo 2 ---> Cancellare tutti i punti registrati relativi al messaggio
$MySql = "DELETE FROM Punti WHERE IDMessaggioAraldo = '$IDMsg'";
$Result = mysql_query($MySql);
# Passo 3 ---> Aggiungere i punti esperienza relativi al messaggio in input
}
$MySql = 'DELETE FROM MessaggioAraldo ';
$MySql .=" WHERE IDAraldo = '$IDAraldo'";
$MySql .=" AND IDMessaggio = '$IDMsg'";
if (($Esilio_S != '1') && ($_SESSION['Super_S']!=1) && ($_SESSION['Admin_S']!=1)) {
$MySql .=" AND Autore = '".pars($Login)."'";
}
$Result = mysql_query($MySql);
}
if ($IDMsgPadre == 0) {
?>
<TABLE width="100%" align="center" cellpadding="0" cellspacing="2">
<tr class=tScuro >
<td class=tScuro width="100%" valign=top><table width="100%">
<TBODY>
<TR>
<td colspan=3 align=center><font class=titolo><?= htmlspecialchars($Bacheca) ?></font><br>
<? if (($Master_Araldo==1) and ($Capo == 1)) { ?>
<br>Riservato ai Narratori e Master
<? } elseif ($Master_Araldo==1) { ?>
<br> Riservato ai Narratori
<? } elseif ($Capo==1) { ?>
<br>
Riservatoi Master
<? } elseif ($CapoRazza==1) { ?>
<br>
Riservato ai Capi Razza
<? } elseif ($Gilda==1) { ?>
<br>Riservato alla Corporazione
<? } elseif ($Razza==1) { ?>
<br>Riservato alla Razza
<? }
$p = 0 + $p;
if (($p <= 0) || (!(is_int($p)))) {
$p = 1;
}
$p1 = $p - 1;
?></td>
</tr></table></td>
<form action="bacheca.php?op=ric&ID=<?= $IDAraldo ?>&IDMsg=<?= $rs1["IDMessaggio"] ?>&IDMsgPadre=<?= $rs1["IDMessaggioPadre"] ?>&p=<?= $p ?>" method="post">
<div align="center">Ricerca (per titolo): <input class="txtbox" name="Ricerca" value="">
<input type="submit" name="Submit" value="Ricerca" >
</form></td>
</tr><tr><td>
<div align="center">
<br>
<table width="50%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align=left><? if ($p1 > 0) { ?>
<a href="bacheca.php?ID=<?= $IDAraldo ?>&IDMsgPadre=<?= $IDMsgPadre ?>&p=<?= $p1 ?>&Query=<?= $Query ?>"><< precedente</a>
<? }
$Sql = "SELECT count(IDMessaggio) AS NumeroMex FROM MessaggioAraldo WHERE IDAraldo = '$IDAraldo' AND IDMessaggioPadre = 0";
$Result3 = mysql_query($Sql);
$rs3 = mysql_fetch_array($Result3);
$NumeroMex = $rs3['NumeroMex'];
$NumMaxMex = ($p*$pagemax);
?></td>
<td align=right><? if ($NumeroMex > $NumMaxMex) { ?>
<a href="bacheca.php?ID=<?= $IDAraldo ?>&IDMsgPadre=<?= $IDMsgPadre ?>&p=<?= $p+1 ?>&Query=<?= $Query ?>">seguente >></a>
<? } ?>
</tr>
</table>
<br><br>
<table><tr><td><form action="araldo.php" method="post">
<input type="submit" value="Torna alle Bacheche"> <!--style={background:#3BC46C;width=150}}-->
</form>
</td><td>
<form action="nuovabacheca.php?ID<?= $IDAraldo ?>&IDMsgPadre=<?= $IDMsgPadre ?>" method="post">
<input type="hidden" value="<?= $IDAraldo ?>" name="ID">
<input type="submit" value="Nuovo Messaggio"><!--style={background:#3BC46C;width=150}}-->
</form>
</td></tr></table>
</div>
</a></div></td>
</tr>
<tr><td><table width="100%" class=tScuro>
<TBODY>
<TR>
<TABLE width="100%" class="table4" BORDER=0 BGCOLOR=green>
<TBODY>
<TR>
<td width="20%">
<p align="center"><b><font size="1" color=gold align="center">Autore</font></B></p>
</td>
<td width="45%"><p align="center"><b><font size="1" color=gold align="center">Titolo</font></B></p>
</td>
<td width="10%"><p align="center"><b><font size="1" color=gold>Risposte</font></B></p>
</td>
<td width="10%"><p align="center"><b><font size="1" color=gold>Letto</font></B></p>
</td>
<td width="25%"><p align="center"><b><font size="1" color=gold align="center">Ultima Risposta </font></B></p>
</td>
</tr></TBODY></TABLE></TD></TR>
<? #INSERIRE DATI PER VeDERE I MESSAGGI ?>
<?
if ($op = 'ric') {
$MySql = "SELECT * FROM MessaggioAraldo WHERE IDAraldo = '$IDAraldo' AND IDMessaggioPadre = '$IDMsgPadre' AND Titolo LIKE '%$Ricerca%'";
} else {
$MySql = "SELECT * FROM MessaggioAraldo WHERE IDAraldo = '$IDAraldo' AND IDMessaggioPadre = '$IDMsgPadre'";
}
if ($Gilda==1) {
$MySql .= " AND (IDGilda >= $IDGilda_S - ".($IDGilda_S % 100).") AND (IDGilda < 100 + $IDGilda_S - ".($IDGilda_S % 100).")";
}
if ($Razza==1) {
$MySql .= " AND (IDRazza >= $IDRazza_S - ".($IDRazza_S % 10).") AND (IDRazza < 10 + $IDRazza_S - ".($IDRazza_S % 10).")";
}
07/06/2011 23:51:21
O.O GDRCD3 *sviene*
ok a parte il colpo XD (immagino ti abbiano già detto tutto su quanto è sconsigliato usare GDRCD3 etc etc etc)
Sicuro che quello postato sia tutto il codice della pagina? Mi chiedo come potesse funzionare perfino in locale dato che la parte che gestisce l'input si trova alla fine del documento e crea una query che non viene eseguita.
08/06/2011 13:16:46 e modificato da delta il 08/06/2011 13:22:13
no non e tutto ho solo postato fino a dove ho modificato, ora ti posto tutta la pagina.
<? session_start();
include ("inc/parametri.inc.php");
include ("inc/controllo.php");
include ("inc/open2.php");
$Login = $_SESSION['Login'];
$IDGilda_S = $_SESSION['IDGilda_S'];
$ImgGilda_S = $_SESSION['ImgGilda_S'];
$DescGilda_S = $_SESSION['DescGilda_S'];
$IDRazza_S = $_SESSION['IDRazza_S'];
$Titolo=$_POST['Titolo'];
$Messaggio=$_POST['Messaggio'];
$op=$_GET['op'];
$ID=$_GET['ID'];
if($ID =="") {$ID=$_POST['ID1'];}
$IDMsgPadre=$_GET['IDMsgPadre'];
if($IDMsgPadre==''){$IDMsgPadre=$_POST['IDMsgPadre1'];}
$p = $_GET['p'];
if($p==''){$p=$_POST['p1'];}
$Query = $_GET['Query'];
$IDMsg = $_GET['IDMsg'];
if($IDMsg==''){$IDMsg=$_POST['IDMsg1'];}
$pagemax = 15;
$IDAraldo = 0 + $ID;
$IDMsgPadre = 0 + $IDMsgPadre;
if ($IDAraldo == "") {
echo("Errore: sezione non identificata!");
exit;
}
function Tempo($tim) {
return(strftime("%d/%m/%Y %H:%M", strtotime($tim)));
}
include ('inc/header.html.inc.php');
?>
<title>DataBase</title>
<script language="JavaScript">
function Conferma(){
if (confirm('Sei sicuro?'))
return true;
else
return false;
}
</script>
</head>
<link href="forum.css" rel="stylesheet" type="text/css"></head>
<body style="background-image: url(img/messaggi1.jpg)">
<br><br><br><br><br><br><br><br><br>
<center>
<div align= left style="width:800; height: 750; overflow: auto;">
<?
$MySql = "SELECT * FROM Araldo WHERE IDAraldo = $IDAraldo";
$Result = mysql_query($MySql);
$rs = mysql_fetch_array($Result);
$IDAraldo = $rs['IDAraldo'];
$Bacheca = $rs['Descrizione'];
$Master_Araldo = $rs['Master'];
$Capo = $rs['Capo'];
$CapoRazza = $rs['CapoRazza'];
$Punti = $rs['Punti'];
$Gilda = $rs['Gilda'];
$Razza = $rs['Razza'];
$rs->close;
mysql_free_result($Result);
If (($Master_Araldo== 1) && ($_SESSION['Master'] < 1) ) {
echo 'Sezione riservata ai Master e narratori!<br><a href="araldo.php">Torna all'Database</a>';
exit();
}
If ((($Capo==1) && ($Master_Araldo != 1)) && ($_SESSION['Master'] != 2))
{
echo 'Sezione riservata ai Master delle Corporazioni!<br><a href="araldo.php">Torna all'Database</a>';
exit();
}
If ((($Capo!=1) && ($Master_Araldo == 1)) && ($_SESSION['Master'] != 1))
{
echo 'Sezione riservata ai Narratori!<br><a href="araldo.php">Torna all'Database</a>';
exit();
}
If (($Gilda==1) && (0 + $IDGilda_S -100 < 0)) {
echo 'Sezione riservata alle Corporazioni!<br><a href="araldo.php">Torna all'Araldo</a>';
exit();
}
If (($Razza==1) && (((0 + $IDRazza_S) % 1000) -10 < 0)) {
echo 'Sezione riservata alle Razze!<br><a href="araldo.php">Torna all'Araldo</a>';
exit();
}
If (($CapoRazza==1) && ((((0 + $IDRazza_S) % 10) != 0) || (((0 + $IDRazza_S) % 1000) == 0))) {
echo 'Sezione riservata ai Capi Razza!<br><a href="araldo.php">Torna all'Araldo</a>';
exit();
}
$Messaggio = trim($Messaggio);
$Titolo = trim($Titolo);
$Titolo = substr($Titolo, 0, max(255, strlen($Titolo)));
If ($Titolo == '') {
$Titolo = 'NUOVO MESSAGGIO';
}
If ($Messaggio != '') {
#I controlli Master + Capo sono impliciti nel codice precedente
#Effettuare controllo PG Esistente
If ($IDMsg == '') {
#----- nuovo messaggio! -----
$MySql = 'INSERT INTO MessaggioAraldo (IDAraldo, IDMessaggioPadre, Titolo, Messaggio, Autore, IDGilda, Img, Corporazione, IDRazza, DataMessaggio)';
$MySql .=" VALUES ($IDAraldo,";
$MySql .=" '$IDMsgPadre',";
$MySql .=" '$Titolo',";
$MySql .=" '$Messaggio',";
$MySql .=" '".pars($Login)."',";
$MySql .=" '".pars($IDGilda_S)."',";
$MySql .=" '".pars($ImgGilda_S)."',";
$MySql .=" '".pars($DescGilda_S)."',";
$MySql .=" '".pars($IDRazza_S)."',";
$MySql .=" NOW())";
$Result = mysql_query($MySql);
#Inserisce edit automatico
$MySql = "UPDATE MessaggioAraldo SET ";
$MySql .=" DataUltimaRisposta = NOW(),";
$MySql .=" DataRiferimento = NOW()";
$MySql .=" WHERE IDAraldo = '$IDAraldo'";
$MySql .=" AND IDMessaggio = '$IDMsgPadre'";
$Result = mysql_query($MySql);
$MySql = "SELECT * FROM MessaggioAraldo WHERE IDAraldo = '$IDAraldo' ORDER BY IDMessaggio DESC";
$Result = mysql_query($MySql);
$rs1 = mysql_fetch_array($Result);
$IDMsg = $rs1['IDMessaggio'];
$rs1->close;
} else {
$giorno = date("d");
$mese = date("m");
$anno = date("Y");
$Data = $giorno.'/'.$mese.'/'.$anno;
$Messaggio = $Messaggio.'
Modificato da '.$Login.' il '.$Data.'';
#----- correzione messaggio! -----
$MySql = "UPDATE MessaggioAraldo SET ";
$MySql .=" Titolo = '$Titolo',";
$MySql .=" Messaggio = '$Messaggio'";
$MySql .=" WHERE IDAraldo = '$IDAraldo'";
$MySql .=" AND IDMessaggio = '$IDMsg'";
if ($_SESSION['Admin_S'] != '1' & $_SESSION['Super_S'] != '1'){
$MySql .=" AND Autore = '".pars($Login)."'";
}
$Result = mysql_query($MySql);
}
#----- CASO IN CUI SONO INSERITI PUNTI ESPERIENZA -----
if ($Punti == 1) {
# Passo 1 ---> Aggiornare al contrario i punti esperienza relativi al messaggio
$MySql = "SELECT * FROM Punti WHERE IDMessaggioAraldo = '$IDMsg'";
$Result1 = mysql_query($MySql);
while ($rs1 = mysql_fetch_array($Result1)) {
$MySql = "UPDATE Personaggio SET Esperienza = Esperienza - '".$rs1['Esperienza']."' WHERE Nome = '".pars($rs1['Nome'])."'";
$Result2 = mysql_query($MySql);
}
$rs1->close;
# Passo 2 ---> Cancellare tutti i punti registrati relativi al messaggio
$MySql = "DELETE FROM Punti WHERE IDMessaggioAraldo = '$IDMsg'";
$Result = mysql_query($MySql);
# Passo 3 ---> Aggiungere i punti esperienza relativi al messaggio in input
for ($i = 1; $i <= 20; $i++) {
if (($_POST["Nome$i"] != '') && ($_POST["Esperienza$i"] != 0)) {
$MySql = "INSERT INTO Punti (Nome, Esperienza, DataEvento, IDMessaggioAraldo)";
$MySql .= " VALUES ('".$_POST["Nome$i"]."', '".$_POST["Esperienza$i"]."', '".strftime("%Y-%m-%d %H:%M:%S")."', '$IDMsg')";
$Result = mysql_query($MySql);
$MySql = "UPDATE Personaggio SET Esperienza = Esperienza + '".$_POST["Esperienza$i"]."', Explibera = Explibera + '".$_POST["Esperienza$i"]."' WHERE Nome = '".$_POST["Nome$i"]."'";
$Result = mysql_query($MySql);
}
}
}
}
If ($op == 'cancella') {
#----- CASO IN CUI SONO INSERITI PUNTI ESPERIENZA -----
if ($Punti == 1) {
# Passo 1 ---> Aggiornare al contrario i punti esperienza relativi al messaggio
$MySql = "SELECT * FROM Punti WHERE IDMessaggioAraldo = '$IDMsg'";
$Result = mysql_query($MySql);
while ($rs1 = mysql_fetch_array($Result)) {
$MySql = "UPDATE Personaggio SET Esperienza = Esperienza - '".$rs1['Esperienza']."' WHERE Nome = '".pars($rs1['Nome'])."'";
$Result1 = mysql_query($MySql);
}
$rs1->close;
# Passo 2 ---> Cancellare tutti i punti registrati relativi al messaggio
$MySql = "DELETE FROM Punti WHERE IDMessaggioAraldo = '$IDMsg'";
$Result = mysql_query($MySql);
# Passo 3 ---> Aggiungere i punti esperienza relativi al messaggio in input
}
$MySql = 'DELETE FROM MessaggioAraldo ';
$MySql .=" WHERE IDAraldo = '$IDAraldo'";
$MySql .=" AND IDMessaggio = '$IDMsg'";
if (($Esilio_S != '1') && ($_SESSION['Super_S']!=1) && ($_SESSION['Admin_S']!=1)) {
$MySql .=" AND Autore = '".pars($Login)."'";
}
$Result = mysql_query($MySql);
}
if ($IDMsgPadre == 0) {
?>
<TABLE width="100%" align="center" cellpadding="0" cellspacing="2">
<tr class=tScuro >
<td class=tScuro width="100%" valign=top><table width="100%">
<TBODY>
<TR>
<td colspan=3 align=center><font class=titolo><?= htmlspecialchars($Bacheca) ?></font><br>
<? if (($Master_Araldo==1) and ($Capo == 1)) { ?>
<br>Riservato ai Narratori e Master
<? } elseif ($Master_Araldo==1) { ?>
<br> Riservato ai Narratori
<? } elseif ($Capo==1) { ?>
<br>
Riservatoi Master
<? } elseif ($CapoRazza==1) { ?>
<br>
Riservato ai Capi Razza
<? } elseif ($Gilda==1) { ?>
<br>Riservato alla Corporazione
<? } elseif ($Razza==1) { ?>
<br>Riservato alla Razza
<? }
$p = 0 + $p;
if (($p <= 0) || (!(is_int($p)))) {
$p = 1;
}
$p1 = $p - 1;
?></td>
</tr></table></td>
<form action="bacheca.php?op=ric&ID=<?= $IDAraldo ?>&IDMsg=<?= $rs1["IDMessaggio"] ?>&IDMsgPadre=<?= $rs1["IDMessaggioPadre"] ?>&p=<?= $p ?>" method="post">
<div align="center">Ricerca (per titolo): <input class="txtbox" name="Ricerca" value="">
<input type="submit" name="Submit" value="Ricerca" >
</form></td>
</tr><tr><td>
<div align="center">
<br>
<table width="50%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align=left><? if ($p1 > 0) { ?>
<a href="bacheca.php?ID=<?= $IDAraldo ?>&IDMsgPadre=<?= $IDMsgPadre ?>&p=<?= $p1 ?>&Query=<?= $Query ?>"><< precedente</a>
<? }
$Sql = "SELECT count(IDMessaggio) AS NumeroMex FROM MessaggioAraldo WHERE IDAraldo = '$IDAraldo' AND IDMessaggioPadre = 0";
$Result3 = mysql_query($Sql);
$rs3 = mysql_fetch_array($Result3);
$NumeroMex = $rs3['NumeroMex'];
$NumMaxMex = ($p*$pagemax);
?></td>
<td align=right><? if ($NumeroMex > $NumMaxMex) { ?>
<a href="bacheca.php?ID=<?= $IDAraldo ?>&IDMsgPadre=<?= $IDMsgPadre ?>&p=<?= $p+1 ?>&Query=<?= $Query ?>">seguente >></a>
<? } ?>
</tr>
</table>
<br><br>
<table><tr><td><form action="araldo.php" method="post">
<input type="submit" value="Torna alle Bacheche"> <!--style={background:#3BC46C;width=150}}-->
</form>
</td><td>
<form action="nuovabacheca.php?ID<?= $IDAraldo ?>&IDMsgPadre=<?= $IDMsgPadre ?>" method="post">
<input type="hidden" value="<?= $IDAraldo ?>" name="ID">
<input type="submit" value="Nuovo Messaggio"><!--style={background:#3BC46C;width=150}}-->
</form>
</td></tr></table>
</div>
</a></div></td>
</tr>
<tr><td><table width="100%" class=tScuro>
<TBODY>
<TR>
<TABLE width="100%" class="table4" BORDER=0 BGCOLOR=green>
<TBODY>
<TR>
<td width="20%">
<p align="center"><b><font size="1" color=gold align="center">Autore</font></B></p>
</td>
<td width="45%"><p align="center"><b><font size="1" color=gold align="center">Titolo</font></B></p>
</td>
<td width="10%"><p align="center"><b><font size="1" color=gold>Risposte</font></B></p>
</td>
<td width="10%"><p align="center"><b><font size="1" color=gold>Letto</font></B></p>
</td>
<td width="25%"><p align="center"><b><font size="1" color=gold align="center">Ultima Risposta </font></B></p>
</td>
</tr></TBODY></TABLE></TD></TR>
<? #INSERIRE DATI PER VeDERE I MESSAGGI ?>
<?
if ($op = 'ric') {
$MySql = "SELECT * FROM MessaggioAraldo WHERE IDAraldo = '$IDAraldo' AND IDMessaggioPadre = '$IDMsgPadre' AND Titolo LIKE '%$Ricerca%'";
} else {
$MySql = "SELECT * FROM MessaggioAraldo WHERE IDAraldo = '$IDAraldo' AND IDMessaggioPadre = '$IDMsgPadre'";
}
if ($Gilda==1) {
$MySql .= " AND (IDGilda >= $IDGilda_S - ".($IDGilda_S % 100).") AND (IDGilda < 100 + $IDGilda_S - ".($IDGilda_S % 100).")";
}
if ($Razza==1) {
$MySql .= " AND (IDRazza >= $IDRazza_S - ".($IDRazza_S % 10).") AND (IDRazza < 10 + $IDRazza_S - ".($IDRazza_S % 10).")";
}
seconda èparte del codice php
if ($Gilda==1) {
$MySql .= " AND (IDGilda >= $IDGilda_S - ".($IDGilda_S % 100).") AND (IDGilda < 100 + $IDGilda_S - ".($IDGilda_S % 100).")";
}
if ($Razza==1) {
$MySql .= " AND (IDRazza >= $IDRazza_S - ".($IDRazza_S % 10).") AND (IDRazza < 10 + $IDRazza_S - ".($IDRazza_S % 10).")";
}
$MySql .= " ORDER BY IDMessaggio";
if ($IDMsgPadre == 0) {
$MySql.=" DESC LIMIT ".((($p-1)*$pagemax)).", ".$pagemax;
}
$Result = mysql_query($MySql) or die (mysql_error());
while($rs = mysql_fetch_array($Result)) { ?>
<tr><td><TABLE width="100%"" >
<TBODY>
<TR>
<td width="20%" >
<div align="left"><b>
<?= htmlspecialchars($rs["Autore"]) ?>
</b><br>
<?= Tempo($rs["DataMessaggio"]) ?>
</div></td>
<td width="45%">
<div align="left"><a href="bacheca.php?ID=<?= $IDAraldo ?>&IDMsgPadre=<?= $rs["IDMessaggio"] ?>&p=<?= $p ?>">
<?= htmlspecialchars($rs["Titolo"]) ?>
</a>
</div></td>
<td width="10%" >
<?
$Login = $_SESSION['Login'];
$MySql5 = 'SELECT * FROM `LogEntrate` WHERE Nome = "'.$Login.'" ORDER BY `DataEvento` DESC LIMIT 1, 1';
$Result5 = mysql_query($MySql5);
$rs5 = mysql_fetch_array($Result5);
$DataEvento = $rs5["DataEvento"];
$MySql = "SELECT count(IDMessaggio) AS NumeroMessaggi FROM MessaggioAraldo WHERE IDAraldo = '$IDAraldo' AND IDMessaggioPadre = '".$rs["IDMessaggio"]."'";
#echo $MySql;
$Result1 = mysql_query($MySql);
$rs1 = mysql_fetch_array($Result1);
#$newmsg = $rs1["NumeroMessaggi"]; ?>
<? $MySql2 = "SELECT count(IDMessaggio) AS NumeroNuovi FROM MessaggioAraldo WHERE IDAraldo = '$IDAraldo' AND IDMessaggioPadre = '".$rs['IDMessaggio']."' AND DataMessaggio > '".$DataEvento."' ";
$Result2 = mysql_query($MySql2);
$rs2 = mysql_fetch_array($Result2);
$newmsg = $rs2["NumeroNuovi"];
?>
<? $MySql3 = "SELECT * FROM MessaggioAraldo WHERE IDAraldo = '$IDAraldo' AND IDMessaggioPadre = '".$rs['IDMessaggio']."' ORDER by DataMessaggio desc LIMIT 0,1";
$Result3 = mysql_query($MySql3);
$rs3 = mysql_fetch_array($Result3);
$ultimomessaggio = Tempo($rs3["DataMessaggio"]);
$ultimoautore = $rs3["Autore"];
?>
<p align="center"><b><font size="1" align="center"><?= $rs1["NumeroMessaggi"] ?> </b> <?
if ($newmsg > 0) {
echo " (".$rs2['NumeroNuovi'].")"; } ?>
</font></p> </td>
<td width="10%"><? echo "<div align='center'>".$rs['Letto']."</div>"; ?></td>
<td width="25%">
<div align="center">
<? if ($ultimoautore != ""){ echo ($ultimomessaggio);
echo ("<br>".$ultimoautore."");
}
?>
</div></td>
</tr></TBODY></TABLE></TD></TR>
<? }
?>
</table>
<table align="center"> <td><div align="center">Pagina <? echo ($p) ?> - Messaggi da
<? $pagemax2 = $pagemax-1; echo ($NumMaxMex - $pagemax2) ?>
a
<? if ($NumMaxMex > $NumeroMex) { echo ($NumeroMex); } else { echo ($NumMaxMex);}?>
</div></td></table> <? }
else {
$MySql = "SELECT * FROM MessaggioAraldo WHERE IDAraldo = $IDAraldo AND IDMessaggioPadre = $IDMsgPadre";
$Result = mysql_query($MySql);
$rs = mysql_fetch_array($Result);
$MySql1 = "SELECT * FROM MessaggioAraldo WHERE IDAraldo = $IDAraldo AND IDMessaggioPadre = 0 AND IDMessaggio = $IDMsgPadre";
$Result1 = mysql_query($MySql1);
$rs1 = mysql_fetch_array($Result1);
$Titoloint = ($rs1['Titolo']);
$Letto = $rs1['Letto'] + 1;
$MySql9 ="UPDATE MessaggioAraldo SET Letto = '".$Letto."' WHERE IDAraldo = ".$IDAraldo." AND IDMessaggioPadre = 0 AND IDMessaggio = ".$IDMsgPadre."";
mysql_query($MySql9);
?>
<TABLE width="100%" align="center" cellpadding="0" cellspacing="0">
<tr class=tScuro >
<td class=tScuro width="100%" valign=top> <TABLE width="100%">
<TBODY>
<TR>
<td colspan=3 align=center><font class=titolo><?= htmlspecialchars($Titoloint) ?></font><br> <? if (($Master_Araldo==1) and ($Capo == 1)) { ?>
<br>Riservato ai Narratori e Master
<? } elseif ($Master_Araldo==1) { ?>
<br> Riservato ai Narratori
<? } elseif ($Capo==1) { ?>
<br>Riservato ai Master
<? } elseif ($CapoRazza==1) { ?>
<br>Riservato ai Capi Razza
<? } elseif ($Gilda==1) { ?>
<br>Riservato alla Corporazione
<? } elseif ($Razza==1) { ?>
<br>Riservato alla Razza
<? }
#$p = $_GET['p'];
$p = 0 + $p;
if (($p <= 0) || (!(is_int($p)))) {
$p = 1;
}
$p1 = $p - 1;
?></td>
</tr></table></td>
</tr></table><br><br>
<table width="200" align="center">
<tr>
<td width="50%" align=center><div align="center"><form action="bacheca.php?ID=<?= $IDAraldo ?>" method="post">
<div align="center">
<input type="submit" value="Torna indietro"><!-- style={background:#3BC46C;width=150}}-->
</div>
</form></div></td>
<td width="50%" align=center><div align="center"><form action="nuovabacheca.php?ID=<?= $IDAraldo ?>&IDMsgPadre=<?= $IDMsgPadre ?>" method="post">
<div align="center">
<input type="hidden" value="<?= $IDAraldo ?>" name="ID">
<input type="submit" value="Rispondi"> <!--style={background:#3BC46C;width=150}}-->
</div>
</form></div></td>
</tr></table>
<div align="center">
<em>Messaggio letto</em> <strong><?= $Letto ?></strong> <em>volte</em><br>
<br>
<!--/div-->
<table width="100%" border="1" cellpadding="10" bordercolor="#aa0000">
<tr>
<? $convtesto = codificabb(htmlspecialchars($rs1["Messaggio"]));
/*$convtesto = (str_replace("
", "<br>", $convtesto));
$convtesto = (str_replace("[/D]", "</div>", $convtesto));*/
$Messaggio = $convtesto;
$autore1 = ($rs1["Autore"]);
$MySql6 = "SELECT * FROM Personaggio WHERE Nome = '$autore1'";
$Result6 = mysql_query($MySql6);
$rs6 = mysql_fetch_array($Result6);
$imgsesso = $rs6['IDRazza'].strtolower($rs6["Sesso"]);
?>
<td width="20%" valign="top" class="tChiaro"><b><?= htmlspecialchars($rs1["Autore"]) ?></b><br><?= Tempo($rs1["DataMessaggio"]) ?><br><img src="<?= $rs6['URLImg'] ?>" border=0 height=60 width=60>
<br>
<br><br></td>
<td width="80%" class=tChiaro align="justify" style="color: white;"><br>
<?= $Messaggio ?>
<div align="center">
<? if (($Login == $rs1["Autore"]) || ($Esilio_S == '1') || ($_SESSION['Admin_S']==1) ||($_SESSION['Super_S']==1)) { ?>
<br><a href="nuovabacheca.php?op=modifica&ID=<?= $IDAraldo ?>&IDMsg=<?= $rs1['IDMessaggio'] ?>&IDMsgPadre=<?= $rs1['IDMessaggioPadre'] ?>&p=<?= $p ?>">[modifica]</a>
<?
$MySql2 = "SELECT count(IDMessaggio) AS Risposte FROM MessaggioAraldo WHERE IDAraldo = '$IDAraldo' AND IDMessaggioPadre = '".$rs['IDMessaggio']."' ";
$Result2 = mysql_query($MySql2);
$rs2 = mysql_fetch_array($Result2);
$risposte = $rs2["Risposte"];
if ($risposte != 0) {
?>
<a href="bacheca.php?op=cancella&ID=<?= $IDAraldo ?>&IDMsg=<?= $rs1['IDMessaggio'] ?>&IDMsgPadre=<?= $rs1['IDMessaggioPadre'] ?>&p=<?= $p ?>" onClick="return Conferma();"><font color=red>[cancella]</font></a><br><br><? } else { ?>
<br>
<br><? } }
if ($Punti == 1) {
echo '<table><tr><td colspan=3>';
$MySql = "SELECT * FROM Punti WHERE IDMessaggioAraldo = '".$rs1['IDMessaggio']."'";
$Result1 = mysql_query($MySql);
while ($rs1 = mysql_fetch_array($Result1)) {
echo '<table width=160><tr>';
echo '<td width=120><font color=white><b>'.htmlspecialchars($rs1['Nome']).'</b></font></td>';
echo '<td width=30 align=right>';
if ($rs1['Esperienza'] < 0) {
echo '<font color=red><b>'.$rs1['Esperienza'].'</b></font>';
} else {
echo '<b> '.$rs1['Esperienza'].'</b>';
}
echo '</td>';
# Controlla se il Personaggio esiste!
$MySql = "SELECT Nome FROM Personaggio WHERE Nome = '".pars($rs1['Nome'])."'";
$Result2 = mysql_query($MySql);
if (!$rs2 = mysql_fetch_array($Result2)) {
echo '<td><font color=red>X</font></td>';
}
$rs2->close;
echo '</tr></table>';
}
$rs1->close;
echo '</td></tr></table>';
}
?>
</div>
</td>
</tr><? #INSERIRE DATI PER VeDERE I MESSAGGI ?>
<?
$pagemax = 50;
$MySql = "SELECT * FROM MessaggioAraldo WHERE IDAraldo = '$IDAraldo' AND IDMessaggioPadre = '$IDMsgPadre' ORDER BY `IDMessaggio` ASC ";
$Result = mysql_query($MySql);
while($rs = mysql_fetch_array($Result)) {
$convtesto = codificabb(htmlspecialchars($rs["Messaggio"]));
/*$convtesto = (str_replace("
", "<br>", $convtesto));
$convtesto = (str_replace("[D]", "<div align='right'>", $convtesto));
$convtesto = (str_replace("[/D]", "</div>", $convtesto));*/
$Messaggio = $convtesto;
$autore2 = ($rs["Autore"]);
$MySql7 = "SELECT * FROM Personaggio WHERE Nome = '$autore2'";
$Result7 = mysql_query($MySql7);
$rs7 = mysql_fetch_array($Result7);
$imgsesso2 = $rs7['IDRazza'].strtolower($rs7["Sesso"]);
?>
<tr></tr><td width="20%" valign="top" class="tChiaro"><b>
<?= htmlspecialchars($rs["Autore"]) ?></b><br><?= Tempo($rs["DataMessaggio"]) ?><br><img src="<?= $rs7['URLImg'] ?>" border=0 height=60 width=60>
<br>
</td>
<td width="80%" class="tChiaro" align="justify" style="color: white;"><br>
<?= $Messaggio ?>
<div align="center">
<? if (($Login == $rs["Autore"]) || ($Esilio_S == '1') || ($_SESSION['Admin_S']==1) ||($_SESSION['Super_S']==1)) { ?>
<br><a href="nuovabacheca.php?op=modifica&ID=<?= $IDAraldo ?>&IDMsg=<?= $rs['IDMessaggio'] ?>&IDMsgPadre=<?= $rs1['IDMessaggioPadre'] ?>&p=<?= $p ?>">[modifica]</a>
<a href="bacheca.php?op=cancella&ID=<?= $IDAraldo ?>&IDMsg=<?= $rs['IDMessaggio'] ?>&IDMsgPadre=<?= $rs['IDMessaggioPadre'] ?>&p=<?= $p ?>" onClick="return Conferma();"><font color=red>[cancella]</font></a><br>
<br>
<? }
if ($Punti == 1) {
echo '<table><tr><td colspan=3>';
$MySql = "SELECT * FROM Punti WHERE IDMessaggioAraldo = '".$rs['IDMessaggio']."'";
$Result1 = mysql_query($MySql);
while ($rs1 = mysql_fetch_array($Result1)) {
echo '<table width=160><tr>';
echo '<td width=120><font color=white><b>'.htmlspecialchars($rs1['Nome']).'</b></font></td>';
echo '<td width=30 align=right>';
if ($rs1['Esperienza'] < 0) {
echo '<font color=red><b>'.$rs1['Esperienza'].'</b></font>';
} else {
echo '<b> '.$rs1['Esperienza'].'</b>';
}
echo '</td>';
# Controlla se il Personaggio esiste!
$MySql = "SELECT Nome FROM Personaggio WHERE Nome = '".pars($rs1['Nome'])."'";
$Result2 = mysql_query($MySql);
if (!$rs2 = mysql_fetch_array($Result2)) {
echo '<td><font color=red>X</font></td>';
}
$rs2->close;
echo '</tr></table>';
}
$rs1->close;
echo '</td></tr></table>';
}
}
?>
</table>
<br>
<tr>
<td colspan=3 align=left><form name="form1" method="post" action="segnala.php">
<div align="center">Segnala a:
</div>
<div align="center"> <input name="scrittore" type="text" id="scrittore">
<br>
<input name="mess" type="hidden" id="mess2" value="Messaggio Segnalato: <a href="bacheca.php?ID=<?= $IDAraldo ?>&IDMsgPadre=<?= $rs1["IDMessaggio"] ?>&p=<?= $p ?>"> "<?= htmlspecialchars($rs1["Titolo"]) ?>" <br></a>">
<input name="link" type="hidden" id="link" value="bacheca.php?ID=<?= $IDAraldo ?>&IDMsgPadre=<?= $rs1["IDMessaggio"] ?>&p=<?= $p ?>">
<b><font color=white>
</font></b>
Commenta la Segnalazione:<br>
<textarea name="CommentoSegnalazione" cols="50" rows="6" id="CommentoSegnalazione"></textarea>
<br> <input type="submit" name="Submit" value="Segnala"> <!--style={background:#3BC46C;width=150}}-->
</div>
</form></td>
</tr>
</table>
<table width="200" align="center" border=0>
<tr>
<td align=center><div align="center">
<form action="bacheca.php?ID=<?= $IDAraldo ?>" method="post">
<div align="center">
<input type="submit" value="Torna indietro"><!--style={background:#3BC46C;width=150}}-->
</div>
</form>
</div></td>
<td align=center><div align="center">
<form action="nuovabacheca.php?ID=<?= $IDAraldo ?>&IDMsgPadre=<?= $IDMsgPadre ?>" method="post">
<div align="center">
<input type="hidden" value="<?= $IDAraldo ?>" name="ID">
<input type="submit" value="Rispondi"><!-- style={background:#3BC46C;width=150}}-->
</div>
</form>
</div></td>
</tr>
</table>
</div>
<? }
?>
</body>
</html>
08/06/2011 18:43:46 e modificato da leoblacksoul il 08/06/2011 18:44:30
Il sospetto che avevamo fin dall'inizio si è rivelato fondato: il tuo codice si basa sul fatto che sia abilitato register_globals, una configurazione che di default è disabilitata in PHP e che evidentemente anche il tuo host ha disabilitato.
Tu usi la variabile $Risposta per creare la query di ricerca, peccato però che quella variabile non sia mai stata assegnata. Se register_globals fosse attivato PHP gli assegnerebbe il valore che arriva dall'input "Risposta" del form, ma dato che è disabilitato non lo fa.
Per ovviare al problema è sufficiente aggiungere questa linea prima della creazione della query MySql:
$Risposta=addslashes($_POST['Risposta']);
18/06/2011 14:45:50
provato a mettere la variabile prima della query nulla provato anche a metterla all'inizio tra le altre variabili nulla cosa dimentico gli apici li metto giusti le maiuscole pure ...
$Risposta=$_POST['Risposta'];
oppure
$ric=$_POST['ric'];
oppure
$Ric=$_POST['Ric'];
nulla
19/06/2011 16:44:50
<.< nabbo io che leggo una cosa e ne scrivo un altra....
Secondo me il codice dovrebbe venire scritto così:
<?
if ($op = 'ric') {
$Ricerca=addslashes($_POST['Ricerca']);
$MySql = "SELECT * FROM MessaggioAraldo WHERE IDAraldo = '$IDAraldo' AND IDMessaggioPadre = '$IDMsgPadre' AND Titolo LIKE '%{$Ricerca}%'";
} else {
$MySql = "SELECT * FROM MessaggioAraldo WHERE IDAraldo = '$IDAraldo' AND IDMessaggioPadre = '$IDMsgPadre'";
}
Discussione seguita da
Pagine → 1 2
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!
RAID Shadow Legends ↗
Exclusive Villa GdR ↗
Tibia ↗
Storie di Agarthi ↗
War Thunder ↗
Tiles Survive ↗
Foundation Galactic Frontier ↗