Użytkownik ma możliwość edycji danych. Fragment formularza związany z e-mail'em:
  1. <tr>
  2. <td colspan="2">
  3. <input type="checkbox" name="unemail" onClick="UnLockInput('unemail','newemail');" />
  4. <label for="checkbox">Edytuj e-mail (zostanie wysłany mail potwierdzający)</label>
  5. </td>
  6. </tr>
  7. <tr>
  8. <td>Nowy e-mail:</td>
  9. <td><input type="text" name="newemail" class="disabled" value="<?php echo $email; ?>" maxlength="255" disabled="disabled" /></td>
  10. </tr>

Pole jest domyślnie zablokowane, pierwsze (checkbox) może je odblokować. Domyślna wartość 'newemail' jest brana z bazy danych.
Dalej fragment w php:
  1. <?php
  2. if ($_POST['unemail']) {
  3. $this->send_md5($_POST['newemail'],'edit_email');
  4. }
  5. ?>

I funkcja send_md5():
  1. <?php
  2. function send_md5($email,$mode) {
  3. require_once('funkcje.php');
  4. require_once('mysql.php');
  5. $to = $email;
  6. $sql = "SELECT id FROM users WHERE email='$to' LIMIT 1";
  7. $mysql = new db();
  8. $result = $mysql->query($sql);
  9. $user = $mysql->fetch_array($result);
  10. $id = $user['id'];
  11. switch ($mode) {
  12. case 'edit_email':
  13. $kodmd = 'jakis kod;p';
  14. $kod = md5($kodmd);
  15. $subject = 'Edycja e-mail';
  16. $body = 'Aby potwierdzić edycję e-mail dla <b>'.$_SESSION['login'].'</b>, kliknij w poniższy link:<br />';
  17. $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>';
  18. $text = $to;
  19. break;
  20. }
  21. $sql = "INSERT INTO md5 VALUES ($id,'$kod','$text')";
  22. if ($mysql->query($sql))
  23. if (!email($to,$subject,$body)) return false;
  24. else return true;
  25. }
  26. ?>

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'? worriedsmiley.gif

pzdr