Grazie mille ancora una volta, ricordo di aver visto già questa funziona in uno script, perfetto.
Mentre ci sono, ho aggiornato un po il codice riguardo l'update dei dati del profilo (Una volta riuscito con questo poi cercherò di fare lo stesso con la password, che sicuramente non cambierà molto.).
Ho fatto cosi:
e sempre nella pagina account.php
Invece, nella classe user ho inserito questo:
Sicuramente avrò sbagliato la parte finale, per quanto riguarda i "?" credo di aver seguito correttamente il tuo consiglio di sopra, penso.
Mentre ci sono, ho aggiornato un po il codice riguardo l'update dei dati del profilo (Una volta riuscito con questo poi cercherò di fare lo stesso con la password, che sicuramente non cambierà molto.).
Ho fatto cosi:
Codice:
//submit
if(isset($_POST['submit'])) {
$email = $_POST['email'];
$gender = $_POST['gender'];
$location = $_POST['location'];
if($user->update($email,$gender,$location)) {
redirect('account.php');
}
}
e sempre nella pagina account.php
Codice:
<form action="" method="POST">
<table width="500" border="1" cellpadding="5">
<tbody>
<tr>
<th scope="row" width="154">Email</th>
<td width="314"><input type="text" name="email" size="30" value="<?php echo $_SESSION['email']; ?>" /></td>
</tr>
<tr>
<th scope="row">Gender</th>
<td><input type="text" name="gender" size="30" value="<?php echo $_SESSION['gender']; ?>" /></td>
</tr>
<tr>
<th scope="row">Location</th>
<td><textarea cols="20" name="location" rows="5"><?php echo $_SESSION['location']; ?></textarea></td>
</tr>
<tr>
<th scope="row"></th>
<td>
<input type="hidden" name="id" value="<?php echo $_SESSION['memberID']; ?>" />
<input type="submit" name="submit" value="Save" /></td>
</tr>
</tbody>
</table>
</form>
Invece, nella classe user ho inserito questo:
Codice:
// Update profile
public function update($email,$gender,$location) {
try {
$stmt = $this->_db->prepare('UPDATE members SET email = ?, gender = ?, location = ? WHERE memberID = ? ');
$stmt->execute(array($email,$gender,$location));
return $stmt->fetch();
} catch(PDOException $e) {
echo '<p class="bg-danger">'.$e->getMessage().'</p>';
}
}
Sicuramente avrò sbagliato la parte finale, per quanto riguarda i "?" credo di aver seguito correttamente il tuo consiglio di sopra, penso.