Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][mysql] błąd logiczny?, użytkownik i edycja e-mail
KCG
post 29.09.2007, 11:48:40
Post #1





Grupa: Zarejestrowani
Postów: 449
Pomógł: 4
Dołączył: 1.12.2006

Ostrzeżenie: (0%)
-----


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


--------------------
9242594 - zaczynasz? jak mogę, to pomogę :D /podstawowa znajomość php :P /
"to pomoc zawsze będzie gestem pięknym, zaliczana do tych teraz rzadko spotykanych..."
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 04:39