problema riconoscimento ip tra form e database diversi

  • Creatore Discussione Creatore Discussione asevenx
  • Data di inizio Data di inizio

asevenx

Utente Attivo
7 Nov 2009
312
0
16
scusate il disturbo, sto provando a creare un una bacheca dove è possibile commentare ogni singolo post. Per far questo ho pensato di salvare i post su un db e i relativi commenti su un'altro db, i commenti cosi saranno visualizzati sotto ogni relativo post attraverso gli id (cioè il form dei commenti comprende una casella il quale dovrebbe registrare in automatico l'id del relativo post). Il problema è che nella casella che dovrebbe leggere l'id del commento mi appare il numero 0 (che di conseguenza viene registrato nel db, impedendo la lettura dei commenti). Non so se mi sono spiegato, provo a postare il codice php.
PHP:
//connessione e invio al DB
$connessione = mysql_connect($host, $username, $password) or die("Connessione DB fallita");
mysql_select_db($database, $connessione) or die("Selezione DB fallita");

//visualizza tutti i record nel DB
$query_forum = "SELECT * FROM $tabella_forum Order By id DESC LIMIT 20";
$result_forum = mysql_query($query_forum, $connessione) or die('Errore caricamento forum forumeggio...');

//funzione per visualizzare gli accenti
function my_htmlspecialchars($var)
{
    $search = array('è', 'é', 'ì', 'ù', 'ò', 'à');
    $replace = array('è', 'é', 'ì', 'ò', 'à');
    $var = str_replace($var, $search, $replace);
    
    return $var;
}  

// Order of replacement
$str     = "Line 1\nLine 2\rLine 3\r\nLine 4\n";
$order   = array("\r\n", "\n", "\r");
$replace = '<br />';

$newstr = str_replace($order, $replace, $str);

//ciclo while per visualizzare i dati estratti dal database
while($resrow_forum = mysql_fetch_row($result_forum))
{
$id_forum = $resrow_forum[0];
$nome_forum = addslashes($resrow_forum[1]);
$titolo_forum = addslashes($resrow_forum[2]);
$commento_forum = ($resrow_forum[3]);
$data_forum = addslashes($resrow_forum[4]);

//Stampo il risultato
echo "
<div class='divcommenti' align='center'>
	<table class='tablecommenti' cellpadding=0 cellspacing=0>
		<tr>
			<td class='idx'>$id_forum</td>
			<td class='col1comm' >$titolo_forum</td>
			<td class='col5comm'>$data_forum</td>
		</tr>
		<tr>
			<td class='idx2'>&nbsp </td>
			<td class='col3comm' colspan=2>
				<font class='col2comm'>$nome_forum:</font> $commento_forum</td>
		</tr>";
		
//seleziono i commenti dal DB
$query_forum_comm = "SELECT * FROM $tabella_forum_comm Order By idc_z DESC";
$result_forum_comm = mysql_query($query_forum_comm, $connessione) or die('Errore caricamento commenti per forum forumeggio...');

//ciclo while per visualizzare i dati estratti dal database
while($resrow_forum_comm = mysql_fetch_row($result_forum_comm))
{
$id_forum_comm = $resrow_forum_comm[0];
$nome_forum_comm = addslashes($resrow_forum_comm[1]);
$commento_forum_comm = ($resrow_forum_comm[2]);
$data_forum_comm = addslashes($resrow_forum_comm[3]);
$id_forum_ris = addslashes($resrow_forum_comm[4]);

//riconoscimento dei commenti di un post tramite id
if ($id_forum_ris == $id_forum) {

//Stampo il risultato (verificato OK)
echo"	
		<tr>
			<td class='idx2'>&nbsp </td>
			<td class='col8comm' colspan=2><br>RE: <font class='col7comm'>$nome_forum_comm:</font> $commento_forum_comm</td>
		</tr>
		<tr>
			<td class='idx2'>&nbsp </td>
			<td class='col6comm' colspan=2>$data_forum_comm</td>
		</tr>	";
	}
}

echo"
		<tr>
			<td class='idx2'>&nbsp </td>
			<td colspan='2' class='col4comm'>
			
					<div class='outer-container'>
						<div class='button-container'><span>Inserisci un commento</span></div>
						<div class='closed'>
						
						<form method='post' action='forum/forumeggio/commenti_ins2.php'>			
							<table>
								<tr>
									<td><div style='font-size:12px'>Nome:</div></td>
									<td>
										<input class='commentabox2' type='text' name='nome_forum_c'>
									</td>
									<td>
										<input class='commentabox3' disabled='disabled'  type='text' name='data_forum_c' readonly='readonly' 
											value='"; echo date("d/m/y"),' ',ora,' ',date("H:i"); echo"'>
									</td>
									<td>
										<input class='commentabox4' disabled='disabled'  type='text' name='id_forum' readonly='readonly' value='$id_forum_ris'>
									</td>
								</tr>
								<tr>
									<td colspan=4>
										<textarea class='commentabox1' name='commento_forum_c' wrap='hard'></textarea>
									</td>
								</tr>
								<tr>
									<td colspan=4>
										<input type='submit'value='Invia commento' name='action'>
										<input type='reset' value='Cancella'>
									</td>								
								</tr>	
							</table>
						</form>

						</div>
					</div>
					
			</td>
		</tr>

</div>
";	
}
echo"
		<tr>
			<td colspan='3' class='col5comm'>leggi tutti i post</td>
		</tr>
	</table>
";

Ci tengo a precisare però che il tutto funzionava perfettamente prima che, volendo aggiungere altre bacheche, ho modificato qualche parametro (o variabile, ho fatto diverse modifiche) e al momento vengono registrati nel db commenti solo il testo del commento e il nome, mentre la bacheca dei post funziona perfettamente. Spero che sia stato abbastanza chiaro, e spero di trovare la soluzione del problema con il vostro aiuto. Grazie in anticipo
 
scusate sono riuscito a risolvere XD... bastava togliere i due disabled='disabled' scusate potete cancellare se volete
 

Discussioni simili