[PHP] script modifica topic
Ciao a tutti, in questi giorni sto dando di matto a seguito di uno script fatto da me per la modifica dei topic del forum che sto programmando... A volte la modifica ha successo, altre volte invece la modifica non va e si blocca.
Script che esegue la modifica. Ho notato che quando va in ERRORE, lo fa soltanto quando modifico un topic di risposta perché va nella modifica del THREAD che ha il titolo piuttosto che nella modifica della risposta, che il titolo in realtà non lo ha.
modulo che riceve i dati e modifica il topic
Codice PHP:
$messaggio=$_POST['risposta'];
$titolo=$_POST['titolo'];
$anonimo=$_POST['anonimo'];
$pos=$_GET['pos'];
if($edit<>'' && $userconnect<>'' && $messaggio<>'') {
$row=mysql_query("SELECT * FROM t_bac_topic WHERE id_topic='$edit'");
$topic=mysql_fetch_array($row);
if($topic[id_origine]<>'') { $id="$topic[id_origine]"; } else { $id="$edit"; }
$data=date('d/m/Y H:i');
$razza=$utente['razza'].substr($utente['sesso'],0,1);
$storico="$storico<br /><hr />$topic[messaggio]<br/>modificato da $userconnect il $data";
$titolo=eregi_replace("è","è","$titolo");
$titolo=eregi_replace("é","é","$titolo");
$titolo=eregi_replace("à","à","$titolo");
$titolo=eregi_replace("ù","ù","$titolo");
$titolo=eregi_replace("ì","ì","$titolo");
$titolo=eregi_replace("'","‘","$titolo"); // SCRIPT PER IL CAMBIO DI APOSTROFO
$titolo=eregi_replace("‘","‘","$titolo"); // SCRIPT PER IL CAMBIO DI APOSTROFO
$titolo=eregi_replace("<","<","$titolo");
$titolo=eregi_replace(">",">","$titolo");
$messaggio=eregi_replace("è","è","$messaggio");
$messaggio=eregi_replace("é","é","$messaggio");
$messaggio=eregi_replace("à","à","$messaggio");
$messaggio=eregi_replace("ù","ù","$messaggio");
$messaggio=eregi_replace("ì","ì","$messaggio");
$messaggio=eregi_replace("'","‘","$messaggio"); // SCRIPT PER IL CAMBIO DI APOSTROFO
$messaggio=eregi_replace("‘","‘","$messaggio"); // SCRIPT PER IL CAMBIO DI APOSTROFO
$messaggio=eregi_replace("<","<","$messaggio");
$messaggio=eregi_replace(">",">","$messaggio");
$messaggio=str_replace("[G]","<b>","$messaggio");
$messaggio=str_replace("[/G]","</b>","$messaggio");
$messaggio=str_replace("[C]","<em>","$messaggio");
$messaggio=str_replace("[/C]","</em>","$messaggio");
$messaggio=str_replace("[S]","<u>","$messaggio");
$messaggio=str_replace("[/S]","</u>","$messaggio");
$messaggio=eregi_replace("\n","<br/>","$messaggio");
if($topic[id_origine]<>'') {
$row="UPDATE t_bac_topic SET titolo='$titolo ', messaggio='$messaggio', storico_mess='$storico' WHERE id_topic='$edit' ";
$mod=mysql_query($row) or die('thread non modificato : ERRORE');
} else {
$row="UPDATE t_bac_topic SET messaggio='$messaggio', storico_mess='$storico' WHERE id_topic='$edit' ";
$mod=mysql_query($row) or die('risposta non modificata : ERRORE');
}
echo"<script>window.alert('messaggio modificato con successo');</script>";
}
modulo che apre il topic di modifica ed invia i dati dopo averli modificati
Codice PHP:
<?php
$id=$_GET['id'];
$row_=mysql_query("SELECT * FROM t_bac_topic WHERE id_topic='$id'");
$topic=mysql_fetch_array($row_);
$sql=mysql_query("SELECT * FROM t_bac_forum WHERE id_forum='$topic[id_forum]'");
$forum=mysql_fetch_array($sql);
$testo=eregi_replace("<br/>","\n","$topic[messaggio]");
$testo=eregi_replace("<br />","\n","$testo");
$testo=eregi_replace("'","‘","$testo");
$testo=eregi_replace("<b>","[G]","$testo");
$testo=eregi_replace("</b>","[/G]","$testo");
$testo=eregi_replace("<em>","[C]","$testo");
$testo=eregi_replace("</em>","[/C]","$testo");
$testo=eregi_replace("<u>","[S]","$testo");
$testo=eregi_replace("</u>","[/S]","$testo");
?>
<div id="bordipagina">
<div style="width: auto; text-align: center; font-size: 15px; "> <b>-| Bacheca: <?php echo"$forum[forum]"; ?> |-</b> </div>
<div style="float: left; width: 99%; height: auto; text-align: center;">
<form action="topic.php?edit=<?php echo"$id"; ?>" method="post" target="mainFrame" id="scrivi">
<?php if($topic[id_origine]<>'') { } else {?>
<p><input name="titolo" type="text" value="<?php echo"$topic[titolo]"; ?>" size="40" maxlength="250" style=" width: 250px;" id="titolo" /></p> <?php } ?>
<div style="margin: 0 auto;" align="center"><textarea name="risposta" cols="70" rows="15" id="risposta"><?php echo"$testo"; ?></textarea></div>
<p> <input name="scrivi" type="submit" value="modifica" style="width: 100px;"/></p>
</form>
</div>
</div>