Salve gente,
ho una pagina php dove gli utenti scrivono e visualizzano i commenti, ho creato un if dove se sei il proprietario del commento o sei l'admin hai un bottone Elimina.
Il problema è che quando premo il bottone o basta un refresh della pagina mi si cancellano tutti i commenti e non solo quello che mi interessa cancellare.
questo è il codice:
Codice PHP:
<?php
$sendcomm=$_POST['sendcomm'];
$query="SELECT * FROM commenti WHERE id_gui='$id' ORDER BY data";
$risultato=mysql_query($query) or die ("Query fallita");
$ncom=mysql_numrows($risultato);
if ($ncom==0){ echo "Non ci sono commenti per questa guida.
";}else{
$i=0;
while ($i<$ncom){
$noid=mysql_result($risultato,$i,"id") or die ("Non ci sono commenti per questa guida.");
$id_ut=mysql_result($risultato,$i,"id_ut");
$data=mysql_result($risultato,$i,"data");
$comm=mysql_result($risultato,$i,"testo");
$trovanome="SELECT username FROM utente WHERE id='$id_ut'";
$nominativo=mysql_query($trovanome) or die ("Query fallita");
$di=mysql_result($nominativo,0,"username");
$numcom=$i+1;
?>
<div align="left" style="padding:3px; font-size:12px; background-color: #fbfbfb; border-bottom:10px solid #fff;border-top:1px solid #e9e9e9;border-left:1px solid #e9e9e9;border-right:1px solid #e9e9e9;">
<?
echo "<font size=1>Di $di - Il $data</font><div style='float:right;'><font color='#c1c1c1' size='1'>#$numcom</font></div><hr>";
if(($di==$_SESSION[valid_user])||(($_SESSION[valid_user])=='admin')){ ?>
<div style=float:right;>
<form method=post action="?page=guide&act=wiev&id=<? echo $id; ?>"><input type="submit" name="delcomm" value="Elimina"></form></div>
<?
}
echo "[i]";
echo nl2br(urlreplace(stripslashes(pulisci($comm))));
echo "[/i]";
?>
</div>
<?
if(($_POST['delcomm'])=="Elimina"){
$del="DELETE FROM commenti WHERE id=$noid";
mysql_query($del);
}
$i++;
}}
if (isset($_SESSION['valid_user']))
{ echo "
";
$q_theuser="SELECT id FROM utente WHERE username='$_SESSION[valid_user]'";
$theuser=mysql_query($q_theuser) or die ("Query fallita");
$theuserid=mysql_result($theuser,0,"id");
$cod="gpt";
$txtcomm=addslashes(pulisci($_POST[txtcomm]));
if(($sendcomm=="Commenta")){
if(!(($txtcomm=="")||($txtcomm=="Scrivi..."))){
$q_newcomm="INSERT INTO commenti (id,id_ut,id_gui,data,testo) VALUES ('','$theuserid','$id','$dt','$txtcomm')";
mysql_query($q_newcomm);
header("refresh:0;");
}}
?>
<div align="left">
<form action="?page=guide&act=wiev&id=<?echo $id;?>" method="post">
<table border="0">
<tr>
<td align="right">Commento</td>
<td align="left"><textarea name="txtcomm" cols="50" rows="5">Scrivi...</textarea></td>
</tr>
<tr>
<td align="right"></td>
<td align="left">
</td>
</tr>
<tr>
<td align="center" colspan="2"><input type="submit" value="Commenta" name="sendcomm"></td>
</tr>
</table>
</form>
</div>
<?
}else
echo "
Per inserire un commento devi effettuare l'accesso.
[url="?page=login&act=login>Accedi</a>"]Registrati[/url]";
?>
Sono sicuro che il problema sta in
Codice PHP:
if(($_POST['delcomm'])=="Elimina"){
$del="DELETE FROM commenti WHERE id=$noid";
mysql_query($del);
}
Ma non riesco a risolverlo..
Potete aiutarmi?
Grazie, Francesco.