Potresti creare una pagina con i vari input che hanno come value i valori estratti dal BD
Per esempio:
Codice PHP:
if(!isset($_SESSION['username'])){
echo "Devi <a href=\"./login.php\">loggarti</a> per cambiare le tue impostazioni personali! Non ancora registrato? <a href=\"./registrati.php\">Registrati qui</a>!";
}
else{
$a = mysql_query("SELECT ID FROM utenti WHERE username = username");
while($record = mysql_fetch_array($a, MYSQL_ASSOC)) {
foreach($record as $val){
$ID = $val;
}
}
function form(){
@$username = $_SESSION['username'];
$a = mysql_query("SELECT nome FROM utenti WHERE username = username");
while($record = mysql_fetch_array($a, MYSQL_ASSOC)) {
foreach($record as $val){
$value0 = $val;
}
}
$a = mysql_query("SELECT cognome FROM utenti WHERE username = username");
while($record = mysql_fetch_array($a, MYSQL_ASSOC)) {
foreach($record as $val){
$value1 = $val;
}
}
$a = mysql_query("SELECT email FROM utenti WHERE username = username");
while($record = mysql_fetch_array($a, MYSQL_ASSOC)) {
foreach($record as $val){
$value2 = $val;
}
}
echo '<h1>Cambia le tue impostazioni personali!</h1><br /><br /><br />
<form method="post">
<br /><br />
<table>
<tr>
<td>
<br /><br /><br />
Nome:*<br /><input type="text" name="nome" value="'.$value0.'" /><br /><br />
Cognome:*<br /><input type="text" name="cognome" value="'.$value1.'" /><br /><br />
E-mail:*<br /><input type="email" name="email" value="'.$value2.'" /><br /><br />
Password corrente:*<br /><input type="password" name="pwc" />
<input type="reset" value="Cancella">
<input type="submit" name="submit" value="Cambia impostazioni!">
</form>';
}
if(!isset($_POST['submit'])){
form();
}
else if(isset($_POST['submit'])){
$errore = 0;
$email = $_POST['email'];
if(strlen($_POST['nome']) <= 2){
$errore = 1;
$errstr[] = "Nome incorretto!";
}
if(strlen($_POST['cognome']) <= 2){
$errore = 1;
$errstr[] = "Cognome incorretto!";
}
$sql = mysql_query("SELECT ID FROM utenti WHERE email = \"$email\"");
$rows = mysql_num_rows($sql);
while($record = mysql_fetch_array($sql, MYSQL_ASSOC)) {
foreach($record as $val){
$IDem = $val;
}
}
if($rows != 0 && $IDem != $ID){
$errore = 1;
$errstr[] = 'E-mail già in uso da un\'altro utente!';
}
if(!preg_match('/^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9_\.\-]+\.[a-z]{2,6}$/', $email)){
$errore = 1;
$errstr[] = "E-Mail incorretta!";
}
$a = mysql_query("SELECT passwordmd5 FROM utenti WHERE username = username");
while($record = mysql_fetch_array($a, MYSQL_ASSOC)) {
foreach($record as $val){
$pass = $val;
}
}
if(md5($_POST['pwc']) != $pass){
$errore = 1;
$errstr[] = "La password attuale è errata.";
}
if($errore == 1){
foreach($errstr as $err){
echo "<li><strong>",$err,"</strong></li>";
}
form();
}
else{
$nome = $_POST['nome'];
$cognome = $_POST['cognome'];
$email = $_POST['email'];
echo "Dati modificati correttamente!";
mysql_query("UPDATE utenti SET nome = '$nome', cognome = '$cognome', email = '$email'") OR DIE(mysql_error());
}
Controlla solo bene, l'ho scritto un po' velocemente