Ciao a tutti, mi servirebbe un consiglio/aiuto su come risolvere il seguente problema:

file , esempio, utente.php : contiene un form per chiedere la modifica di alcuni dati gia' inseriti dall'utente precedentemente:

Codice PHP:
<form name ="frm1" method="POST" action ="modifica.php">
<
tr><th>ID</th><th>Nome utente</th><th>Nome e Cognome</th><th>Indirizzo E-mail</th>
while(
$row mysql_fetch_array($result))
{    
    echo (
"<td align=center><input type=hidden name=id value=".$row['id_usr']. " />".$row['id_usr']."</td>");
    
    echo (
'<td align="center"><input type="text" name="usrname" ;/>
'
.$row['username'].'</td>');    
    echo (
"<td align=center><input type=text name=fullnm />
"
.$row['fullname']."</td>");
    echo (
"<td align=center><input type=text name=email />
"
.$row['email']."</td>");

... 
Solo una parte di codice per far capire che in questa pagina metto un campo di testo vuoto , ed affiancato, nella stessa cella, il valore attuale dei dati.

Ora all'invio delle modifiche, mi trovero' in modifica.php.
Ora i questa pagina prendo le varie variabili etc.
Il fulcro di tutto cio', e' che io volendo posso modificare tutti i campi oppure 1 oppure 2 etc, insomma quanti ne voglio.
E posso inserire qualsiasi valore in ogni campo, tranne pero' in email e nome, che non devono essere uguali a quelli di altri utenti presenti nel db.
Quindi farei cosi:

Codice PHP:
$result doquery ("SELECT username, email FROM users WHERE username='$newuser' OR email='$email'");
$num_righe=mysql_num_rows ($result);

if (
$num_righe != 0)
{    
    
$result doquery ("SELECT username, email FROM users WHERE username='$newuser' OR email='$email'");
    while (
$row mysql_fetch_array($result))
    {    
        
        if (
$row[username] == $newuser)
        {    
                echo 
'<div id="content">Lo User name inserito e\' attualmente gia\' in uso.
Si prega di tornare al form di modifica. </div>'
;
                exit;
        }
        if (
$row[email]== $email)
        {
        echo (
"2");
        echo 
'<div id="content">La e-mail inserita e\' attualmente gia\' in uso.
Si prega di tornare al form di modifica. </div>'
;
        exit;
        
        
        } 
Il problema e' pero' che se io decido di non modificare nome utente ed email esistenti di un utente, con la query:

Codice PHP:
$result doquery ("SELECT username, email FROM users WHERE username='$newuser' OR email='$email'");

$num_righe=mysql_num_rows ($result);

if (
$num_righe != 0)
{    
    
$result doquery ("SELECT username, email FROM users WHERE username='$newuser' OR email='$email'"); 
Io controllo se ci sono altri utenti con nome ed email uguali e se trova risultati do errore.
Il problema e' che ovviamente il check lo fa anche sull'utente stesso, e quindi se non cambio nome ed email all'utente avro' sempre errore...cosa non sensata perche' io potrei modificare altri dati e lasciare invariati nome e email.

Come potrei fare secondo voi a risolvere questo problema?
A fare in modo che un utente possa modificare qualunque cosa e non faccia il check sui sui stessi dati precedenti per evitare errori non coerenti col sistema?

Spero di essere stato chiaro,

ciao