Użytkownik ma możliwość edycji danych. Fragment formularza związany z e-mail'em:
<input type="checkbox" name="unemail" onClick="UnLockInput('unemail','newemail');" /> <label for="checkbox">Edytuj e-mail (zostanie wysłany mail potwierdzający)
</label> <td><input type="text" name="newemail" class="disabled" value="<?php echo $email; ?>" maxlength="255" disabled="disabled" />
</td>
Pole jest domyślnie zablokowane, pierwsze (checkbox) może je odblokować. Domyślna wartość 'newemail' jest brana z bazy danych.
Dalej fragment w php:
<?php
if ($_POST['unemail']) {
$this->send_md5($_POST['newemail'],'edit_email');
}
?>
I funkcja send_md5():
<?php
function send_md5($email,$mode) {
require_once('funkcje.php');
require_once('mysql.php');
$to = $email;
$sql = "SELECT id FROM users WHERE email='$to' LIMIT 1";
$mysql = new db();
$result = $mysql->query($sql);
$user = $mysql->fetch_array($result);
$id = $user['id'];
switch ($mode) {
case 'edit_email':
$kodmd = 'jakis kod;p';
$subject = 'Edycja e-mail';
$body = 'Aby potwierdzić edycję e-mail dla <b>'.$_SESSION['login'].'</b>, kliknij w poniższy link:<br />';
$body .= '<a href="http://localhost/trudny/www2/registration.php?action=aktywuj_email&id='.$id.'&kod='.$kod.'">http://localhost/trudny/www2/registration.php?action=aktywuj_email&id='.$id.'&kod='.$kod.'</a>';
$text = $to;
break;
}
$sql = "INSERT INTO md5 VALUES ($id,'$kod','$text')";
if ($mysql->query($sql))
if (!email($to,$subject,$body)) return false;
else return true;
}
?>
Wszystko działa tylko wtedy jeśli podam e-mail taki sam, jak jest, czyli zaznaczę checkbox i zostawię e-mail, taki jaki jest. Może to związane z value w 'newemail'? (IMG:
http://forum.php.pl/style_emoticons/default/worriedsmiley.gif)
pzdr