Ciao Thedarkita... mi scuso per il post precedente, mi sono lasciato travolgere dalla fretta di finire tutto ed ho postato il codice sbagliato. Questo è il codice che volevo postarti. In realtà è già stato di nuovo modificato (c'era un errore stupidissimo) ed ora funziona correttamente, ed è anche leggermente modificato rispetto a quelli precedentemente postati. Le caratteristiche sono: la possibilità di modificare il profilo (tutti i campi tranne la password) e la richiesta PER CONFERMA della password. Viene poi inviata in automatico una mail con i nuovi dati aggiornati, e qui subentra il problema, forse per mia mancanza teorica, ma non so come scrivere il codice per far comparire nella mail i nuovi campi nome, congnome ecc... non ho trovato nulla di utile nelle mie guide, quindi mi rivolgo a te. Posto il codice intero così anche altri utenti potranno sfruttare questa pagina.
MODIFICA.php
[PHP]<?php
// Includo la connessione al database
require('config.php');
// Definisco le variabili
$nomettuale = $_SESSION ['nome'];
$cognomeattuale = $_SESSION ['cognome'];
$userattuale = $_SESSION ['user'];
$passattuale = $_SESSION ['pass'];
$confermaattuale = $_SESSION ['conferma'];
$mailattuale = $_SESSION ['mail'];
// Se il modulo viene inviato...
if(isset($_POST['Modifica']))
{
// Dati Inviati dal modulo
$nome = (isset($_POST['nome'])) ? trim($_POST['nome']) : 'nomeattuale'; // Metto nella variabile 'nome' il dato inviato dal modulo, se non viene inviato dò di default 'nomeattuale'
$cognome = (isset($_POST['cognome'])) ? trim($_POST['cognome']) : 'cognomeattuale'; // Metto nella variabile 'cognome' il dato inviato dal modulo, se non viene inviato dò di default 'cognomeattuale'
$user = (isset($_POST['user'])) ? trim($_POST['user']) : 'userattuale'; // Metto nella variabile 'user' il dato inviato dal modulo, se non viene inviato dò di default 'userattuale'
$pass = (isset($_POST['pass'])) ? trim($_POST['pass']) : 'passattuale'; // Metto nella variabile 'pass' il dato inviato dal modulo, se non viene inviato dò di default 'passattuale'
$conferma = (isset($_POST['conferma'])) ? trim($_POST['conferma']) : 'confermaattuale'; // Metto nella variabile 'conferma' il dato inviato dal modulo, se non viene inviato dò di default 'confermaattuale'
$mail = (isset($_POST['mail'])) ? trim($_POST['mail']) : 'mailattuale'; // Metto nella variabile 'mail' il dato inviato dal modulo, se non viene inviato dò di default 'mailattuale'
// 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);
}
$pass = md5($pass);
$query = mysql_query("SELECT id FROM utenti WHERE pass = '$pass' LIMIT 1");
// Controllo se la password è giusta
if(mysql_num_rows($query) == 0)
die('Password non valida');
else
{
if($nome != $nomeattuale && $nome != '')
$setquery = ((isset($setquery)) ? $setquery.",nome = '$nome'" : "nome = '$nome'");// IF in forma contratta, sintassi: ((CONDIZIONE) ? RETURN_TRUE : RETURN_FALSE)
if($cognome != $cognomeattuale && $cognome != '')
$setquery = ((isset($setquery)) ? $setquery.",cognome = '$cognome'" : "cognome = '$cognome'");// IF in forma contratta, sintassi: ((CONDIZIONE) ? RETURN_TRUE : RETURN_FALSE)
if($user != $userattuale && $user != '')
$setquery = ((isset($setquery)) ? $setquery.",user = '$user'" : "user = '$user'");// IF in forma contratta, sintassi: ((CONDIZIONE) ? RETURN_TRUE : RETURN_FALSE)
if($mail != $mailattuale)
$setquery = ((isset($setquery)) ? $setquery.",mail = '$mail'" : "mail = '$mail'");// IF in forma contratta, sintassi: ((CONDIZIONE) ? RETURN_TRUE : RETURN_FALSE)
if(isset($setquery))
mysql_query("UPDATE utenti SET $setquery WHERE id = {$_SESSION['login']}");
// Inviamo l'email di conferma all'utente
$message = 'Il tuo profilo è stato modificato con successo, i tuoi dati aggiornati sono: <br /><br />Nome: .$nomeattuale<br />Cognome: .$cognomeattuale<br />Username: .$userattuale<br />Indirizzo email: .$mailattuale.<br /><br />Torna a visitare il tuo profilo al seguente link:<a href="[...]Profilo.php">Profilo Utente</a>, ma ricordati che devi loggarti nuovamente per vedere la pagina aggiornata!';
// Header dell'email, per mandarla in formato html
$headers = "From: Semplicemente Poesia <semplicementepoesia.it>\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, 'Semplicemente Poesia - Modifica Profilo', $message, $headers);
die('Ti è appena stata inviata una email contenente i nuovi dati inseriti, controlla subito la posta elettronica e verifica la correttezza dei dati!<br /> Effettua il <a href="Logout.php">Logout</a>');
}
}
?>[/PHP]
FORM di modifica
[HTML]<form class="loginContent" action="" method="post">
Nome<br />
<input class="field" name="nome" type="text" id="nome" size="35" value="<?php echo $_SESSION["nome"];?>" onfocus="if(this.value=='nome') this.value='nome';" /><br />
<br />
Cognome<br />
<input class="field" name="cognome" type="text" id="cognome" size="35" value="<?php echo $_SESSION["cognome"];?>" onfocus="if(this.value=='cognome') this.value='cognome';" /><br />
<br />
Username<br />
<input class="field" name="user" type="text" id="user" size="35" value="<?php echo $_SESSION["user"];?>" onfocus="if(this.value=='user') this.value='user';" /><br />
<br />
Indirizzo email<br />
<input class="field" name="mail" type="text" id="mail" size="35" value="<?php echo $_SESSION["mail"];?>" onfocus="if(this.value=='mail') this.value='mail';" /><br />
<br />
Inserisci la Password prima di confermare le modifiche<br />
<input class="field" name="pass" type="password" id="pass" size="35" value="" onfocus="if(this.value=='pass') this.value='pass';" /><br />
<br />
<input class="Modifica" name="Modifica" id="Modifica" type="submit" value="" /><br />
<br />
</form>[/HTML]