Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] kod weryfikacyjny
Forum PHP.pl > Forum > Przedszkole
thekoks
Chce zrobić coś takiego że po wpisaniu maila na niech zostaje wysłany losowy kod z bazy po wpisaniu prawidłowego kody jest on usuwany z bazy i wykonuje się jakaś czynność np dodaje pewną wartość do tabeli w bazie proszę was o pomoc bo nie za bardzo wiem jak to zrobić smile.gif
wysyłanie kodu i zapisywanie go do bazy już mam
  1. <?
  2. require('conn.php');
  3. if(isset($_POST['ok']) && isset($_POST['mail'])) {
  4. $mail = $_POST['mail'];
  5. {
  6. while (strlen($los1)<6)
  7. {
  8.  do
  9.  {
  10.      $n = rand(48,122);
  11.  } while ( ($n<48) || ($n>57 && $n<65) || ($n>65 && $n<97) );
  12.  
  13.  $los1.= chr($n);
  14. }
  15. $kod = $los1;
  16. mysql_query("INSERT INTO kody (kod,email) VALUES('$kod','$mail')")or die("Błąd bazy danych");
  17. $message = "Twój kod weryfikacyjny to ".$kod." .Wejdz na strona jakas";
  18. $message = wordwrap($message, 65);
  19. @mail($mail, 'Kod weryfikacyjny', $message, 'From: XXXXXX');
  20. echo 'Kod został wysłany.';
  21. }
  22. }
  23. ?>
porady-it.pl
Zaczął bym od dodania pola zweryfikowany określającego czy dany e-mail został zweryfikowany.

  1. <?php
  2. mysql_query("INSERT INTO kody (kod,email,zweryfikowany) VALUES('$kod','$mail','Nie')")or die("Błąd bazy danych");
  3. ?>


Następnie w mailu dodał bym link ułatwiając weryfikację w ten sposób:

  1. <?php
  2. $message = "Twój kod weryfikacyjny to <a href="index.php?kod={$kod}">Wejdź na strona jakąś</a>";
  3. ?>


Oczywiście na stronie do której będzie prowadził link należało by weryfikować kod:

  1. <?php
  2. //należy zweryfikować przekazany kod czy nie zawiera niedozwolonych znaków, element ten pominąłem tutaj
  3. $kod = $_REQUEST['kod'];
  4.  
  5. $istnieje = mysql_fetch_assoc(mysql_query("SELECT COUNT(*) ilosc FROM kody WHERE kod = '{$kod}'"));
  6.  
  7. if($istnieje['ilosc']) {
  8.  
  9.    $dane = mysql_fetch_assoc(mysql_query("SELECT * FROM kody WHERE kod = '{$kod}'"));
  10.  
  11.    if($dane['zweryfikowany'] == 'Nie') {
  12.  
  13.        if(mysql_query("UPDATE kody SET zweryfikowany = 'Tak' WHERE kod = '{$kod}' ")) {
  14.            echo 'Weryfikacja powiodła się.';
  15.        }
  16.  
  17.    } else {
  18.  
  19.        echo 'Ten kod został już zweryfikowany.';
  20.    }
  21.  
  22. } else {
  23.  
  24.    echo 'Podany kod nie istnieje.';
  25. }
  26. ?>


PS.
To co napisałem nie zostało sprawdzone jednak powinno zadziałać, a na pewno przedstawia konwencję jakiej powinieneś użyć aby przeprowadzić weryfikacje.
thekoks
wielkie dzięki na pewno się przyda smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.