Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Kody jednorazowe
patol
post
Post #1





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 7.05.2004

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


Witam,

Chciałbym stworzyć ankietę, którą można wypełnić jedynie po wpisaniu wcześniej wygenerowanego i przesłanego drogą "analogową" jednorazowego kodu.

Inaczej mówiąc. Klient dostaje jednorazowy kod uprawniający do wypełnienia ankiety, przy wypełnianiu ankiety musi wpisać kod, ale kod może być wykorzystany tylko raz!
Wszystko chcę zrobić w PHP i MySQL.

Pozdrawiam
Pawel
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
patol
post
Post #2





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 7.05.2004

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


a jednak sobie z tym nie radzę.
Jeszcze raz od początku przedstawię problem

Stworzyłem prostą ankietą, by ją wypełnić trzeba podać wcześniej wygenerowany niepowtarzalny i otrzymany listem kod.
Pomyślałem, że wygenerowane kody wpiszę do bazy i skrypt zbierający odpowiedzi z ankiety będzie edytował rekordy w bazie gdzie niepowtarzalny kod będzie pełnij rolę ID.
Po wypełnieniu ankiety na podany adres zostaje wysłany inny kod, który uprawnia do rabatu.
Problem polega na tym by móc wypełnić ankietę tylko raz wykorzystując przesłany wcześniej kod.

Mój kod wygląda tak:
  1.  
  2. $kod2 = substr(md5(time()), 0, 6);
  3.  
  4. if ($ac=="uaktualnij") {
  5. $baza = mysql_connect($sql_host, $sql_user, $sql_password);
  6. if ($baza) {
  7. $wynik = mysql_select_db($sql_baza);
  8. if ($wynik && $kod<>"") {
  9. $wynik = mysql_query("
  10.  
  11. UPDATE $sql_tabela
  12. SET
  13. data='$data',
  14. ip='$ip',
  15. imie='$imie',
  16. nazwisko='$nazwisko',
  17. email='$email',
  18. pole1='$pole1',
  19. pole2='$pole2',
  20. pole3='$pole3',
  21. pole3_1='$pole3_1',
  22. status='1'
  23. WHERE kod='$kod' and status = '0'
  24. ");
  25. }
  26.  
  27. if ($wynik) {
  28. $headers = 'From: kod@lcel.com.pl' . "\r\n" .
  29. 'Reply-To: kupon@lcel.com.pl' . "\r\n" .
  30. 'X-Mailer: PHP/' . phpversion();
  31. mail("$email","Kod rabatowy","Kupon rabatowy na zakupy w LC ELEKTRONIK: $kod2",$headers);
  32. echo "
  33.  
  34. <div align=\"center\">
  35. <table width=\"100\" border=\"0\" cellpadding=\"0\">
  36. <tr>
  37. <td><img src=\"http://www.lcel.com.pl/repository/layout/img/szyld3.png\" /></td>
  38. </tr>
  39. <tr>
  40. <td valign=\"top\"><br><br>Dziękujemy za poświęcony czas, kod rabatowy został przesłany na adres: $email
  41.  
  42. </td>
  43. </tr>
  44. <tr>
  45. <td valign=\"top\"></td>
  46. </tr>
  47. </table>
  48. </div>
  49. ";
  50. }else{ echo "<br>Rekord nie został dodany/uaktualniony: ".mysql_error();
  51. mysql_close($baza);
  52. $ac="szukaj";
  53. $szid=$id;
  54. }
  55. }
  56. }


Ten post edytował patol 2.12.2010, 08:57:02
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 8.10.2025 - 07:34