Spero mi perdoniate se allego tutto questo codice!
Ho sviluppato la parte di backend di un sito in cui l'amministratore dovrebbe poter modificare e cancellare i dati degli utenti; per il codice "modifica_dati.php" (il secondo dei tre listati) tutto funziona, il problema sta nel listato "cancella_utente.php" (l'ultimo): non riesco a capire cosa non funziona...![]()
spero mi possiate dare una mano![]()
ecco i listati funzionanti
utenti.php
<?
session_start();
if(!isset($_SESSION["utente"])) die('Per accedere a questa pagina devi effettuare il login come amministratore');
if($_SESSION["utente"]!="amministratore") die('Per accedere a questa pagina devi effettuare il login come amministratore');
include("schema.php");
titolo("Web Usability: Utenti");
?>
<div id="main">
<h1>Modifica o elimina un utente</h1>
<table width="550">
<tr>
<th width="33">Id</th>
<th width="68">Username</th>
<th width="40">Nome</th>
<th width="71">Cognome</th>
<th width="43">Email</th>
<th width="71">Password</th>
<th width="96"></th><th width="92"></th>
</tr>
<?
include('db.php');
$query='SELECT * FROM `utente` ORDER BY `nick`;';
$res=mysql_query($query) OR die('inserimento utente non riuscito
'.$query);
while($row=mysql_fetch_object($res)) {
$row->cognome = stripslashes($row->cognome);
?>
<tr>
<td class="form"><?=$row->ID?></td>
<td class="form"><?=$row->nick?></td>
<td class="form"><?=$row->nome?></td>
<td class="form"><?=$row->cognome?></td>
<td class="form"><?=$row->mail?></td>
<td class="form"><?=$row->password?></td>
<td><form name="modifica utente" method="post" action="modifica_dati.php">
<input type="hidden" name="usutente" value="<?=$row->nick?>">
<input name="s" type="submit" value="modifica"></form>
</td>
<td><form name="elimina utente" method="post" action="cancella_utente.php">
<input type="hidden" name="idutente" value="<?=$row->ID?>">
<input name="s" type="submit" value="elimina" onclick="return confirm('Sei sicuro di volere cancellare <?=$row->nick?>?');"></form>
</td>
</tr>
<?
}
?>
</table>
<h1>Inserisci un nuovo utente</h1>
<form name="reg" method="post" action="registrazione.php">
<td class="form" colspan="2"><input name="s" type="submit" value='Modulo registrazione'></td>
</form>
</tr>
</table>
</div>
<?
fondo();
?>
modifica_dati.php
<?
session_start();
if (!isset($_SESSION["utente"])) die('Per accedere a questa pagina devi effettuare il login come utente o come amministratore');
include('db.php');
include("schema.php");
titolo("Cocktail: Modifica i tuoi dati");
if (isset($_POST['nome'])) {
if ($_POST['nome']=="") die('Non hai inserito un nome valido- torna alla pagina di modifica dei dati');
if (isset($_POST['cognome'])) {
if (($_POST['cognome']=="")) die('Non hai inserito un cognome valido- torna alla pagina di modifica dei dati');
if (isset($_POST['mail'])) {
if (($_POST['mail']=="")) die('Non hai inserito un indirizzo email valido- torna alla pagina di modifica dei dati');
if (isset($_POST['password'])) {
if ($_SESSION['utente']=="amministratore") {
$amministra=1;
$us=$_POST['usutente'];
$aggquery='WHERE nick=\''.$us.'\';';
$user=$us;
}
if ($_SESSION['utente']=="utente") {
$amministra=0;
$user=$_SESSION['username'];
$password=$_POST['password'];
$aggquery='WHERE nick=\''.$user.'\' AND password=\''.$password.'\';';
}
$query='SELECT * FROM `utente` ';
$query.=$aggquery;
$res=mysql_query($query) OR die('Query non riuscita'.$query);
$righe=mysql_num_rows($res);
if($righe==0) die('Password non valida - torna alla pagina di modifica dei dati') ;
$upn=$_POST['nome'];
$upcogn=addslashes($_POST['cognome']);
$upmail=$_POST['mail'];
$query="UPDATE `utente` SET nome='$upn' WHERE nick='$user';";
@mysql_query($query) OR die('update post non riuscito
'.$query);
$query="UPDATE `utente` SET cognome='$upcogn' WHERE nick='$user';";
@mysql_query($query) OR die('update post non riuscito
'.$query);
$query="UPDATE `utente` SET mail='$upmail' WHERE nick='$user';";
@mysql_query($query) OR die('update post non riuscito
'.$query);
if ($amministra==1) {
if ((isset($_POST['password']))&&($_POST['password']!="")) {
if (!ctype_alnum($_POST['password'])) die('Password non valida- torna alla pagina di modifica dati');
if ($_POST['password']!=$_POST['passconf']) die('Hai digitato due password diverse- torna alla pagina di modifica dati');
$uppw=$_POST['password'];
$query="UPDATE `utente` SET password='$uppw' WHERE nick='$user'";;
@mysql_query($query) OR die('update post non riuscito
'.$query);
}
}
echo("<h2>Modifica riuscita!</h2>");
exit();
}
}
}
}
if (($_SESSION["utente"]=="amministratore")&&(isset($_POST['usutente']))) {
$query='SELECT * FROM `utente` WHERE nick=\'';
$query.=$_POST['usutente'].'\';';
$res=mysql_query($query) OR die('Query non riuscita
'.$query);
while($row=mysql_fetch_object($res)) {
$row->cognome = stripslashes($row->cognome);
?>
<div id = "main">
<h1>Modifica i dati di <?=$row->user?></h1>
<form name="modify" method="post" action="<?=$_SERVER['PHP_SELF']?>" />
<table class="form">
<tr>
<td class="form">Nome</td>
<td class="form"><input type="text" name="nome" value="<?=$row->nome?>" size="30"></td>
</tr>
<tr>
<td class="form">Cognome</td>
<td class="form"><input type="text" name="cognome" value="<?=$row->cognome?>" size="30"></td>
</tr>
<tr>
<td class="form">Email</td>
<td class="form"><input type="text" name="mail" value="<?=$row->mail?>" size="30"></td>
</tr>
<tr>
<td class="form">Nuova password</td>
<td class="form"><input name="password" type="text" size="30"></td>
</tr>
<tr>
<td class="form">Conferma password</td>
<td class="form"><input name="passconf" type="text" size="30"></td>
</tr>
<tr>
<td class="form"><input name="usutente" type="hidden" size="30" value="<?=$_POST['usutente']?>"></td>
<td class="form"><input name="passw" type="hidden" size="30" value="<?=$row->password?>"></td>
<td class="form"><input name="passwconf" type="hidden" size="30" value="<?=$row->passconf?>"></td>
</tr>
<tr>
<td class="form" colspan=2>
<input name="s" type="submit" value="Modifica"></td>
</tr>
</table>
</div>
<?
}
}
if ($_SESSION["utente"]=="utente") {
$query='SELECT * FROM `utente` WHERE nick=\'';
$query.=$_SESSION['username'].'\';';
$res=mysql_query($query) OR die('Query non riuscita
'.$query);
while($row=mysql_fetch_object($res)) {
$row->cognome = stripslashes($row->cognome);
?>
<div id="main">
<h1>Modifica i tuoi dati</h1>
In questa pagina puoi modificare i campi: Nome, Cognome e Email;
per modificarli devi sempre inserire la password.
Se vuoi modificare la password o eliminarti, contatta l'amministratore.
<form name="modify" method="post" action="<?=$_SERVER['PHP_SELF']?>" />
<center>
<table>
<tr>
<td class="form">Nome</td>
<td class="form"><input type="text" name="nome" value="<?=$row->nome?>" size="30"></td>
</tr>
<tr>
<td class="form">Cognome</td>
<td class="form"><input type="text" name="cognome" value="<?=$row->cognome?>" size="30"></td>
</tr>
<tr>
<td class="form">Email</td>
<td class="form"><input type="text" name="mail" value="<?=$row->mail?>" size="30"></td>
</tr>
<tr>
<td class="form">Password</td>
<td class="form"><input name="password" type="password" size="30"></td>
</tr>
<tr>
<td class="form"><input name="usutente" type="hidden" size="30" value="<?=$_POST['usutente']?>"></td>
<td class="form"><input name="passwconf" type="hidden" size="30" value="<?=$row->password?>"></td>
</tr>
<tr>
<td class="form" colspan=2>
<center><input name="s" type="submit" value="Modifica"></center></td>
</tr>
</table>
</center>
</div>
<?
}
}
fondo();
?>