• User Attivo

    Ciao! E se io volessi invece vederla la password utente? Basta togliere questo? e basta, senza nessun'altra modifica?

    [PHP]// Crypt della password per garantire una miglior sicurezza
    $pass = md5($pass);
    [/PHP]

    Grazie!


  • User

    Ciao utenti ma soprattutto ciao Thedarkita e grazie per questo meraviglioso script.
    Ho seguito con attenzione tutto ciò che si è scritto senza riscontrare particolari problemi e quindi implementando lo script in base alle mie esigenze.
    Vengo al dunque: effettuando, però, le modifiche nella pagina di registrazione, sul checkbox per accettare la privacy policy, al momento di cliccare sul link di attivazione mi compare "Errore, Link non valido".
    Ho letto e riletto dalla prima all'ultima pagina e confrontato la pagina originaria con la pagina modificata e non sono riuscito a trovare l'errore.
    Di seguito i codici delle due pagine.

    Pagina funzionante:
    [PHP]
    <?php
    // Includo la connessione al database
    require('config.php');

    // Se il modulo viene inviato...
    if(isset($_POST['registra']))
    {

    // Dati Inviati dal modulo
    $user = (isset($_POST['user'])) ? trim($_POST['user']) : '';    // Metto nella variabile 'user' il dato inviato dal modulo, se non viene inviato dò di default ''
    $pass = (isset($_POST['pass'])) ? trim($_POST['pass']) : '';    // Metto nella variabile 'pass' il dato inviato dal modulo, se non viene inviato dò di default ''
    $mail = (isset($_POST['mail'])) ? trim($_POST['mail']) : '';    // Metto nella variabile 'mail' il dato inviato dal modulo, se non viene inviato dò di default ''
    
    // Filtro i dati inviati se i magic_quotes del server sono disabilitati per motivi di sicurezza
    if (!get_magic_quotes_gpc()) {
        $user = addslashes($user);
        $pass = addslashes($pass);
        $mail = addslashes($mail);
    }
    
    
    // Controllo il Nome Utente
    if(strlen($user) < 4 || strlen($user) > 12)
        die('Nome Utente troppo corto, o troppo lungo');
    // Controllo la Password
    elseif(strlen($pass) < 4 || strlen($pass) > 12)
        die('Password troppo corta, o troppo lunga');
    // Controllo l'email
    elseif(!eregi("^[a-z0-9][_\.a-z0-9-]+@([a-z0-9][0-9a-z-]+\.)+([a-z]{2,4})", $mail))
        die('Email non valida');
    // Controllo il nome utente non sia già occupato
    elseif(mysql_num_rows(mysql_query("SELECT user FROM utenti WHERE user = '$user' LIMIT 1")) == 1)
        die('Nome Utente non disponibile');
    // Controllo l'indirizzo email non sia già registrato
    elseif(mysql_num_rows(mysql_query("SELECT mail FROM utenti WHERE mail = '$mail' LIMIT 1")) == 1)
        die('Questo indirizzo email risulta gi&agrave; registrato ad un altro utente');
    // Registrazione dell'utente nel database
    else
    {
        
        // Crypt della password per garantire una miglior sicurezza
        $pass = md5($pass);
        
        
        // Genero una stringa casuale di Attivazione
        $attivazione = '';
        for($x=1; $x<=32; $x++)
        $attivazione.=rand(0,9);
        $attivazione = md5($attivazione);
        $message = 'Per attivare il Suo account deve visitare il seguente link:<br><a href="h00p://wwv.miosito.it/a/attivazione.php?code='.$attivazione.'">Attiva account</a>';
        // Header dell'email, per mandarla in formato html
        $headers = "From: adwmaster <[email protected]>\r\n";
        $headers .= "Reply-To: [email protected]\r\n";
        $headers .= "Return-Path: [email protected]\r\n";
        $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
    
        // Invio L'email
        mail($mail, 'Registrazione Tutorial TheDarkITA', $message, $headers);
        
        // Query per l'inserimento dell'utente nel database
        $strSQL = "INSERT INTO utenti (user,pass,mail,attivazione)";
        $strSQL .= "VALUES('$user', '$pass', '$mail', '$attivazione')";
        mysql_query($strSQL) OR die("Errore 003, contattare l'amministratore ".mysql_error());
        
    
        // Reindirizzo l'utente ad una pagina di conferma della registrazione
        header('Location: registrato.php');
        exit;
    }
    

    }
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "h00p://wwv.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="h00p://wwv.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Registrazione</title>
    </head>

    <body>
    <form action="" method="post">
    <input name="user" type="text" id="user" value="Nome Utente" onfocus="if(this.value=='Nome Utente') this.value='';" /><br />
    <input name="pass" type="password" id="pass" value="Password" onfocus="if(this.value=='Password') this.value='';" /><br />
    <input name="mail" type="text" id="mail" value="Em@il" onfocus="if(this.value=='Em@il') this.value='';" /><br />
    <input name="registra" type="submit" value="Registrati" /><br />
    </form>
    </body>
    </html>
    [/PHP]

    Pagina non funzionante:
    [PHP]
    <?php
    session_start();
    // Includo la connessione al database
    require('config.php');

    // Se il modulo viene inviato...
    if(isset($_POST['registra']))
    {

    // Dati Inviati dal modulo
    $user = (isset($_POST['user'])) ? trim($_POST['user']) : '';    // Metto nella variabile 'user' il dato inviato dal modulo, se non viene inviato dò di default ''
    $pass = (isset($_POST['pass'])) ? trim($_POST['pass']) : '';    // Metto nella variabile 'pass' il dato inviato dal modulo, se non viene inviato dò di default ''
    $mail = (isset($_POST['mail'])) ? trim($_POST['mail']) : '';    // Metto nella variabile 'mail' il dato inviato dal modulo, se non viene inviato dò di default ''
    $accept = (isset($_POST['accept'])) ? trim($_POST['accept']) : '';   // Metto nella variabile 'mail' il dato inviato dal modulo, se non viene inviato dò di default ''
    
    // Filtro i dati inviati se i magic_quotes del server sono disabilitati per motivi di sicurezza
    if (!get_magic_quotes_gpc()) {
        $user = addslashes($user);
        $pass = addslashes($pass);
        $mail = addslashes($mail);
        $accept = addslashes($accept);
    }
    
    
    // Controllo il Nome Utente
    if(strlen($user) < 4 || strlen($user) > 12)
        die('Nome Utente troppo corto, o troppo lungo');
    // Controllo la Password
    elseif(strlen($pass) < 4 || strlen($pass) > 12)
        die('Password troppo corta, o troppo lunga');
    // Controllo l'email
    elseif(!eregi("^[a-z0-9][_\.a-z0-9-]+@([a-z0-9][0-9a-z-]+\.)+([a-z]{2,4})", $mail))
        die('Email non valida');
    // Controllo il nome utente non sia già occupato
    elseif(mysql_num_rows(mysql_query("SELECT user FROM utenti WHERE user = '$user' LIMIT 1")) == 1)
        die('Nome Utente non disponibile');
    // Controllo l'indirizzo email non sia già registrato
    elseif(mysql_num_rows(mysql_query("SELECT mail FROM utenti WHERE mail = '$mail' LIMIT 1")) == 1)
        die('Questo indirizzo email risulta gi&agrave; registrato ad un altro utente');
        
    elseif($accept != 1)
        die('Devi accettare l\'informativa');    
    // Registrazione dell'utente nel database
    else
    {
        
        // Crypt della password per garantire una miglior sicurezza
        $pass = md5($pass);
        
        
        // Genero una stringa casuale di Attivazione
        $attivazione = '';
        for($x=1; $x<=32; $x++)
        $attivazione.=rand(0,9);
        $attivazione = md5($attivazione);
        $message = 'Per attivare il Suo account deve visitare il seguente link:<br><a href="h00p://wwv.miosito.it/a/attivazione.php?code='.$attivazione.'">Attiva account</a>';
        // Header dell'email, per madnarla in formato html
        $headers = "From: adwmaster <[email protected]>\r\n";
        $headers .= "Reply-To: [email protected]\r\n";
        $headers .= "Return-Path: [email protected]\r\n";
        $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
    
        // Invio L'email
        mail($mail, 'Registrazione Tutorial TheDarkITA', $message, $headers);
        
        // Query per l'inserimento dell'utente nel database
        $strSQL = "INSERT INTO utenti (user,pass,mail,accept)";
        $strSQL .= "VALUES('$user', '$pass', '$mail', '$accept')";
        mysql_query($strSQL) OR die("Errore 003. <br>
    

    Possibile cause: <br>

    • non ha spuntato la casella per l'informativa. <br>

    • non ha inserito i suoi dati correttamente.<br>

    • errore del sistema.<br>
      Si prega tornare indietro e riprovare a registrarsi o<br>
      contattare l'amministratore.<br>
      Failure because: ".mysql_error());

      // Reindirizzo l'utente ad una pagina di conferma della registrazione
      header('Location: registrato.php');
      exit;
      

      }
      }
      ?>
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "h00p://wwv.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <html xmlns="h00p://wwv.w3.org/1999/xhtml">
      <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      <title>Registrazione</title>
      </head>

    <body>
    <form action="" method="post">
    <input name="user" type="text" id="user" value="Nome Utente" onfocus="if(this.value=='Nome Utente') this.value='';" /><br />
    <input name="pass" type="password" id="pass" value="Password" onfocus="if(this.value=='Password') this.value='';" /><br />
    <input name="mail" type="text" id="mail" value="Em@il" onfocus="if(this.value=='Em@il') this.value='';" /><br />
    <span class="Stile14">Accetto l' <a href="/informativa.php">informativa</a></span>
    <input name="accept" type="checkbox" id="accept" checked="checked" value="1" />
    <br />
    <input name="registra" type="submit" value="Registrati" /><br />
    </form>
    </body>
    </html>
    [/PHP]

    Grazie anticipatamente.


  • User Newbie

    Ciao Ragazzi sono un nuovo utente del forum e anch'io avrei bisogno di un aiuto NO PICCOLO ma penso abbastanza grande perche sono proprio ignorante in materia. Prima di tutto ringrazio Thedarkitaper questo script.
    Io ho messo nella cartella principale del mio sito la cartella "giorgiotave" e all'interno di essa ho modificato il file config.php cosi:
    <?php
    // avvio la sessione
    session_start();

    // Dati connessione al database
    $db_host = 'hostingmysql02.register.it'; // Host - solitamente localhost
    $db_utente = 'VA1406_valasc'; // Nome utente del Database
    $db_password = 'miapasswod'; // Password del Database
    $db_nomedb = 'valentinoascione_com_utenti'; // Nome del Database

    Poi non ho modificato nessun file e quando vado sulla pagina

    valentinoascione.com/valentinoascione/giorgiotave/registrati.php mi campare una scritta strana all'inizio della pagina

    Chi mi può aiutare?


  • User

    @valasc said:

    Ciao Ragazzi sono un nuovo utente del forum e anch'io avrei bisogno di un aiuto NO PICCOLO ma penso abbastanza grande perche sono proprio ignorante in materia. Prima di tutto ringrazio Thedarkitaper questo script.
    Io ho messo nella cartella principale del mio sito la cartella "giorgiotave" e all'interno di essa ho modificato il file config.php cosi:
    <?php
    // avvio la sessione
    session_start();

    // Dati connessione al database
    $db_host = 'hostingmysql02.register.it'; // Host - solitamente localhost
    $db_utente = 'VA1406_valasc'; // Nome utente del Database
    $db_password = 'miapasswod'; // Password del Database
    $db_nomedb = 'valentinoascione_com_utenti'; // Nome del Database

    Poi non ho modificato nessun file e quando vado sulla pagina

    valentinoascione.com/valentinoascione/giorgiotave/registrati.php mi campare una scritta strana all'inizio della pagina

    Chi mi può aiutare?

    Ciao, premetto che non sono un esperto di PHP ma da quello che vedo dalla pagina che hai indicato, lo spazio che hai acquistato su register non supporta il php.
    Mi spiego meglio: il PHP è un linguaggio di programmazione lato server (server-side) cioé un linguaggio elaborato dal server. Quando l'utente (client) apre il browser e digita l'url valentinoascione.com/etc/etc/registrati.php, il server elebora il codice php contenuto nella pagina richiesta e restituisce solo codice html.
    Se tu richiedi la pagina registrati.php e ti viene restituito il codice PHP contenuto nella tua pagina, il server non ha elaborato nulla.
    Contatta register e richiedi l'attivazione.
    Ovviamente chiedo agli utenti esperti di confermare se corretto o darmi mazzate se sbagliato. :ciauz:


  • User Newbie

    Buon giorno, ho letto con vivo interesse il tutorial e, anche se non sono un programmatore ma al massimo un "copy-paster", più o meno ho capito la funzione e dove vanno a finire i vari files tranne uno, il primo, che nel tuo post si chiama database.sql

    quello che mi sfugge è: io uso un dominio con server linux + sql e non ho problemi a compilare il file config.php inserendo i vari dati necessari ma purtroppo non ho idea di dove debba essere messo o come debba essere usato quel file (database.sql)

    spero in una risposta che mi illumini la buia strada

    grazie in anticipo.


  • User Newbie

    Ok, dopo aver chiesto aiuto mi son detto: proviamoci!

    sono entrato nel DB associato al mio dominio e ho aggiunto una tabella utilizzando i dati del file database.sql

    incredibilmente funziona!

    per voi sarà scontato ma per me è ancora un pò come "magia" 🙂

    per ora grazie comunque.


  • User Newbie

    Ciao e grazie anticipatamente per ogni dritta...
    Vorrei associare ad ogni utente che si logga dei livelli di autorizzazione (es. user, poweruser, admin) in modo da fargli visualizzare o meno determinate pagine, ho già aggiunto una colonna "livello" nella tabella utenti che è una stringa admin o user.
    Mi sapete indirizzare su come muovermi?
    Grazie


  • ModSenior

    Ciao guzbox,

    puoi recuperare il valore del campo con il livello di autorizzazione dell'utente o al login e salvarlo in una variabile di sessione, o facendo una query in ogni pagina per recuperare di volta in volta il livello di autorizzazione corrente.
    Una volta che hai quel valore, è sufficiente fare un semplice if e controllare i permessi dell'utente.


  • User Newbie

    Eh eh calma calma :tongueout: sono ai primi esperimenti con php...
    Vediamo se sono sulla strada giusta: nella login.php modifico la query aggiungendo il parametro "livello"
    [PHP]
    // Controllo se l'utente esiste e se ha livello user
    $query = mysql_query("SELECT id FROM utenti WHERE user = '$user' AND pass = '$pass' AND livello = 'user' LIMIT 1");
    // Se ha trovato un record
    if(mysql_num_rows($query) == 1)
    [/PHP]
    Pensavo di fare degli elseif partendo dal livello più basso, quindi prima user e a seguire i livelli via via più alti, ad ognuna di queste condizioni se soddisfatta associo una sessione ma qui non ho ben capito come funziona la "grammatica":[PHP]$_SESSION['user'] = $login['id'];[/PHP] per una sessione con livello user e [PHP]$_SESSION['admin'] = $login['id'];[/PHP] per una sessione livello admin hanno senso?


  • User Newbie

    dovrebbe funzionare?
    [PHP]<?php
    // Includo la connessione al database
    require('config.php');

    // Se il modulo viene inviato...
    if(isset($_POST['login']))
    {

    // Dati Inviati dal modulo
    $user = (isset($_POST['user'])) ? trim($_POST['user']) : '';    // Metto nella variabile 'user' il dato inviato dal modulo, se non viene inviato dò di default ''
    $pass = (isset($_POST['pass'])) ? trim($_POST['pass']) : '';    // Metto nella variabile 'pass' il dato inviato dal modulo, se non viene inviato dò di default ''
    
    // Filtro i dati inviati se i magic_quotes del server sono disabilitati per motivi di sicurezza
    if (!get_magic_quotes_gpc()) {
        $user = addslashes($user);
    $pass = addslashes($pass);
    }
    
    // Crypto la password e la confronto con quella nel database
    $pass = md5($pass);
    
    // Controllo se l'utente esiste e con che livello
    $query = mysql_query("SELECT id FROM utenti WHERE user = '$user' AND pass = '$pass' AND livello = 'user' LIMIT 1");
    $query1 = mysql_query("SELECT id FROM utenti WHERE user = '$user' AND pass = '$pass' AND livello = 'admin' LIMIT 1");
    
    // Se ha trovato un record
       if(mysql_num_rows($query) == 1)
        {
        // prelevo l'id dal database
        $login = mysql_fetch_array($query);
        
        // Creo una variabile di sessione "user"
        $_SESSION['user'] = $login['id'];
        
        // reindirizzo l'utente
        header('Location: privata.php');
        exit;
        }elseif(mysql_num_rows($query1) == 1)
    {
        // prelevo l'id dal database
        $login = mysql_fetch_array($query1);
        
        // Creo una variabile di sessione "admin"
        $_SESSION['admin'] = $login['id'];
        
        // reindirizzo l'utente
        header('Location: privata_admin.php');
        exit;
        }
    
    // se non esiste da l'errore
    else
        die('Nome Utente o Password errati');
    

    }
    ?>[/PHP]


  • ModSenior

    Sarebbe più conveniente cosi:
    login.php
    [php]
    <?php
    // Includo la connessione al database
    require('config.php');

    // Se il modulo viene inviato...
    if(isset($_POST['login']))
    {

    // Dati Inviati dal modulo
    $user = (isset($_POST['user'])) ? trim($_POST['user']) : '';    // Metto nella variabile 'user' il dato inviato dal modulo, se non viene inviato dò di default ''
    $pass = (isset($_POST['pass'])) ? trim($_POST['pass']) : '';    // Metto nella variabile 'pass' il dato inviato dal modulo, se non viene inviato dò di default ''
    
    // Filtro i dati inviati se i magic_quotes del server sono disabilitati per motivi di sicurezza
    if (!get_magic_quotes_gpc()) {
        $user = addslashes($user);
        $pass = addslashes($pass);
    }
    
    // Crypto la password e la confronto con quella nel database
    $pass = md5($pass);
    
    // Controllo l'utente esiste
    $query = mysql_query("SELECT id,permessi FROM utenti WHERE user = '$user' AND pass = '$pass' LIMIT 1");
    
    // Se ha trovato un record
    if(mysql_num_rows($query) == 1)
    {
        // prelevo l'id dal database
        $login = mysql_fetch_array($query);
        
        // Creo una variabile di sessione
        $_SESSION['login'] = $login['id'];
        $_SESSION['permessi'] = $login['permessi'];
    
        // reindirizzo l'utente
        header('Location: privata.php');
        exit;
    }
    // se non esiste da l'errore
    else
        die('Nome Utente o Password errati');
    

    }
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Login</title>
    </head>

    <body>
    <form action="" method="post">
    <input name="user" type="text" id="user" value="Nome Utente" onfocus="if(this.value=='Nome Utente') this.value='';" /><br />
    <input name="pass" type="password" id="pass" value="Password" onfocus="if(this.value=='Password') this.value='';" /><br />
    <input name="login" type="submit" value="Login" /><br />
    </form>
    </body>
    </html>
    [/php]


  • User Newbie

    Scusa ma non mi è chiaro, col tuo codice creo 2 variabili di sessione giusto?
    Nel mio caso la query diventa > $query = mysql_query("SELECT id,livello FROM utenti WHERE user = '$user' AND pass = '$pass' LIMIT 1");

    e le variabili > $_SESSION['login'] = $login['id'];
    $_SESSION['permessi'] = $login['livello'];
    Ma fatto questo come modifico le pagine che devono essere viste solo dal livello "admin"? L'istruzione di verifica > if(!isset($_SESSION['permessi']))
    {
    header('Location: index.php');
    exit;
    } non deve leggere anche il livello?

    Grazie


  • ModSenior

    Se devi far accedere solo chi ha come permessi admin:
    [php]
    if(!isset($_SESSION['permessi']) || $_SESSION['permessi'] != 'admin')
    {
    header('Location: index.php');
    exit;
    }
    [/php]


  • User Newbie

    Grandioso! Grazie 1000.


  • User Newbie

    Ciao Dark prima di tutto volevo dirti che sei grandioso.Grazie per averci messo a disposizione questo script che è davvero molto utile.Ti faccio i miei migliori complimenti
    Volevo solamente chiederti,ho seguito tutto come fare per aggiungere l'utente admin ma come imposto username e password dell' admin?
    E che devo aggiungere nella tabella sql?

    PS:Si può fare che l'admin in una pagina aggiunge altri admin o li elimina?


  • ModSenior

    Ciao seriosman,

    grazie per i complimenti. 🙂
    Puoi semplicemente registrare un nuovo account ed in seguito cambiare manualmente dal database il campo relativo all'utente in questione in modo tale da impostarlo admin, puoi anche automattizarti questa operazione creandoti una pagina apposita con accesso esclusivo agli admin per creare degli account admin direttamente o per permetterti la modifica di un utente già esistente.


  • User Newbie

    Scusami TheDarkIta mi puoi dare il codice del database nuovo con il nuovo valore "permessi" o quello che ci vuole?
    Un'altra cosa io non ho capito,vorrei fare in modo che quando accede l'account "admin" esce una pagina diversa da quando si logga un utente normale.Come faccio?


  • ModSenior

    Il campo puoi aggiungerlo alla tabella del tuo database con phpmyadmin.
    Per fare in redirect ad una pagina piuttosto che un altra basta un semplice controllo in fase di login.


  • User Newbie

    Si ma il problema è che non so come fare.


  • User Newbie

    Ciao Thedarkita, Sei ancora dei nostri? Ci aiuterai ancora? Inutile ringraziarti per il lavoro eccellente, sono riuscito a costruire davvero un'area privata funzionante partendo da zero! Ora però mi restano altri dubbi e altri problemini. Come creo una pagina di modifica del profilo? In qualche post precedente hai già dato qualche dritta, ma non sono ancora riuscito a farla funzionare. Ti posto il codice che ho usato:

    pagina di modifica:
    [PHP]<?php
    // Includo la connessione al database
    require('config.php');

    // Se non è stata definita la variabile manda l'utente alla homepage
    if(!isset($_SESSION['login']))
    {
    header('Location: login.php');
    exit;
    }

    // Se il modulo viene inviato...
    if(isset($_POST['modifica']))
    {

    // Dati Inviati dal modulo
    $nome = (isset($_POST['nome'])) ? trim($_POST['nome']) : '';    // Metto nella variabile 'name' il dato inviato dal modulo, se non viene inviato dò di default ''
    $cognome = (isset($_POST['cognome'])) ? trim($_POST['cognome']) : '';    // Metto nella variabile 'surname' il dato inviato dal modulo, se non viene inviato dò di default ''
    $user = (isset($_POST['user'])) ? trim($_POST['user']) : '';    // Metto nella variabile 'username' il dato inviato dal modulo, se non viene inviato dò di default ''
    $pass = (isset($_POST['pass'])) ? trim($_POST['pass']) : '';    // Metto nella variabile 'password' il dato inviato dal modulo, se non viene inviato dò di default ''
    $mail = (isset($_POST['mail'])) ? trim($_POST['mail']) : '';    // Metto nella variabile 'mail' il dato inviato dal modulo, se non viene inviato dò di default ''
    
    // Filtro i dati inviati se i magic_quotes del server sono disabilitati per motivi di sicurezza
    if (!get_magic_quotes_gpc()) {
    	$nome = addslashes($nome);
    	$cognome = addslashes($cognome);
        $user = addslashes($user);
        $pass = addslashes($pass);
        $mail = addslashes($mail);
    

    }

    $setquery = '';
    if($attualenome != $nome && $nome != '') 
        $setquery = ((isset($setquery)) ? $setquery.",nome = '$nome'" : "nomeattuale = '$nome'");// IF in forma contratta, sintassi: ((CONDIZIONE) ? RETURN_TRUE : RETURN_FALSE)
    if($attualeuser != $cognome && $cognome != '') 
        $setquery = ((isset($setquery)) ? $setquery.",cognome = '$cognome'" : "cognomeattuale = '$cognome'");// IF in forma contratta, sintassi: ((CONDIZIONE) ? RETURN_TRUE : RETURN_FALSE)
    if($attualeuser != $user && $user != '') 
        $setquery = ((isset($setquery)) ? $setquery.",campouser = '$user'" : "campouser = '$user'");// IF in forma contratta, sintassi: ((CONDIZIONE) ? RETURN_TRUE : RETURN_FALSE)
    if($attualepassword != $password)
        $setquery = ((isset($setquery)) ? $setquery.",campopassword = '$password'" : "campopassword = '$password'");// IF in forma contratta, sintassi: ((CONDIZIONE) ? RETURN_TRUE : RETURN_FALSE)
    if($attualemail != $mail)
        $setquery = ((isset($setquery)) ? $setquery.",campomail = '$mail'" : "campomail = '$mail'");// IF in forma contratta, sintassi: ((CONDIZIONE) ? RETURN_TRUE : RETURN_FALSE)
    if($attualeazienda != $azienda)
        $setquery = ((isset($setquery)) ? $setquery.",campoazienda = '$azienda'" : "campoazienda = '$azienda'");// IF in forma contratta, sintassi: ((CONDIZIONE) ? RETURN_TRUE : RETURN_FALSE)
    if($attualeoccupazione != $occupazione)
        $setquery = ((isset($setquery)) ? $setquery.",campooccupazione = '$occupazione'" : "campooccupazione = '$occupazione'");// IF in forma contratta, sintassi: ((CONDIZIONE) ? RETURN_TRUE : RETURN_FALSE)        
    if($attualeindirizzo != $indirizzo)
        $setquery = ((isset($setquery)) ? $setquery.",campoindirizzo = '$indirizzo'" : "campoindirizzo = '$indirizzo'");// IF in forma contratta, sintassi: ((CONDIZIONE) ? RETURN_TRUE : RETURN_FALSE)        
    if($attualecitta != $citta)
        $setquery = ((isset($setquery)) ? $setquery.",campocitta = '$citta'" : "campocitta = '$citta'");// IF in forma contratta, sintassi: ((CONDIZIONE) ? RETURN_TRUE : RETURN_FALSE)        
    if($attualecomune != $comune)
        $setquery = ((isset($setquery)) ? $setquery.",campocomune = '$comune'" : "campocomune = '$comune'");// IF in forma contratta, sintassi: ((CONDIZIONE) ? RETURN_TRUE : RETURN_FALSE)
    if($attualeprovincia != $provincia)
        $setquery = ((isset($setquery)) ? $setquery.",campoprovincia = '$provincia'" : "campoprovincia = '$provincia'");// IF in forma contratta, sintassi: ((CONDIZIONE) ? RETURN_TRUE : RETURN_FALSE)
    if($attualecap != $cap)
        $setquery = ((isset($setquery)) ? $setquery.",campocap = '$cap'" : "campocap = '$cap'");// IF in forma contratta, sintassi: ((CONDIZIONE) ? RETURN_TRUE : RETURN_FALSE)        
    if($attualetelefono != $telefono)
        $setquery = ((isset($setquery)) ? $setquery.",campotelefono = '$telefono'" : "campotelefono = '$telefono'");// IF in forma contratta, sintassi: ((CONDIZIONE) ? RETURN_TRUE : RETURN_FALSE)
    if($attualefax != $fax)
        $setquery = ((isset($setquery)) ? $setquery.",campofax = '$fax'" : "campofax = '$fax'");// IF in forma contratta, sintassi: ((CONDIZIONE) ? RETURN_TRUE : RETURN_FALSE)        
    
    mysql_query("UPDATE utenti SET $setquery WHERE id = '$id'");
    

    }
    ?>[/PHP]

    form di modifica:
    [HTML]<form action="" method="post">
    Nome<br />
    <input name="nome" type="text" id="nome" value="<?php echo $user['nome'];?>" onFocus="if(this.value=='nome') this.value='nome';" /><br />
    <br />
    Cognome<br />
    <input name="cognome" type="text" id="cognome" value="<?php echo $user['cognome'];?>" onFocus="if(this.value=='cognome') this.value='cognome';" /><br />
    <br />
    Username<br />
    <input name="user" type="text" id="user" value="<?php echo $USER["user"];?>" onfocus="if(this.value=='user') this.value='user';" /><br />
    <br />
    Password<br />
    <input name="pass" type="password" id="pass" value="<?php echo $USER["pass"];?>" onfocus="if(this.value=='Pass') this.value='pass';" /><br />
    <br />
    Conferma password<br />
    <input name="conferma" type="password" id="conferma" value="<?php echo $USER["conferma"];?>" onfocus="if(this.value=='conferma') this.value='conferma';" /><br />
    <br />
    Indirizzo email<br />
    <input name="mail" type="text" id="mail" value="<?php echo $USER["mail"];?>" onfocus="if(this.value=='mail') this.value='mail';" /><br />
    <br />
    <input name="modifica" type="submit" value="modifica" /><br />
    </form>[/HTML]