Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Wydajny sposób na aktywacje
Deotho
post
Post #1





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 2.05.2012
Skąd: Hogwart

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


Witam.
Tworzę grę via www i mam dylemat dotyczący rejestracji. Wszystko działa i sprawnie rejestruje konta chciałbym teraz dodać jakąś aktywacje. Myślałem nad aktywacją email, ale coś źle robię i gdy klikam zarejestruj wyświetla mi się informacja.

" Twoje konto zostało założone. Sprawdź swoją pocztę i aktywuj konto. "

Gdy wchodzę na pocztę widzę email, ale nie ma w nim linku aktywacyjnego pomimo, że w skrypcie jest wpisany.

Czy są jakieś inne sposoby na aktywacje?

.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
CuteOne
post
Post #2





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


To teraz zadaj sobie podstawowe pytanie - w jakim celu chcesz mieć aktywacje konta? Mail z linkiem jest podstawową i powszechną metoda aktywacji konta i sprawdzenia czy ta osoba nie jest botem.

ps. brak linka w mailu - podaj kod
Go to the top of the page
+Quote Post
Deotho
post
Post #3





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 2.05.2012
Skąd: Hogwart

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


Chcę mieć aktywacje, aby właśnie uniknąć botów. Oto kod.
  1. <?php
  2. include('templates/header.php');
  3. include('config/db.php');
  4. include('modules/functions.php');
  5.  
  6. if ($board_config['register_on'] != 1)
  7. {
  8. die('<center>Przepraszamy, ale rejestracja jest obecnie wyłączona.</center>');
  9. }
  10.  
  11. if (isset($_POST['login'])) {
  12.  
  13. $login = addslashes($_POST['login']);
  14. $haslo = md5($_POST['haslo']);
  15. $email = addslashes($_POST['email']);
  16. if (preg_match("/^[a-zA-Z0-9_ ]+$/" , $login)) {
  17. } else {
  18. echo "Nazwa uĹźytkownika zawiera niedozwolone znaki!";
  19. }
  20. if (preg_match("/^[a-zA-Z0-9_ ]+$/" , $haslo)) {
  21. } else {
  22. echo "Hasło zawiera niedozwolone znaki!";
  23. }
  24.  
  25. if (empty($login)) die ('Pole z nazwą użytkonika nie może być puste!');
  26. if (empty($haslo)) die ('Pole z haslem nie może być puste!');
  27. if (empty($email)) die ('Pole z emailem nie może być puste!');
  28.  
  29. $db = mysql_query("SELECT * FROM users WHERE login=' ".$login."' or email = '".$email."' ") or die(mysql_error());
  30. if (!$_POST['login'] || !$_POST['haslo'] || !$_POST['email']) die ("Nie wypełniono wszystkich pól formularza.");
  31. if (mysql_num_rows($db)==1) {
  32. print "Podany login lub email jest juĹź uĹźywany przez innego uĹźytkownika."; }
  33. else {
  34. $actCode=str_shuffle("qwertyuiopasdfghjklzxcvbnm1234567890");
  35. $headers="MIME-Version: 1.0\r\n";
  36. $headers.="Content-type: text/html; charset=iso-8859-2\r\n";
  37. $content="<html><head><title>Aktywacja Konta</title</head>
  38. <body>
  39. Aby aktywować konto kliknij poniższy link aktywujący:<br>
  40. <a href=\"http://deotho.cba.pl/register.php?active=".$actCode."\">Aktywuj swoje konto.</a><br>
  41. Pozdrawiamy.</body></html>";
  42. mail($_POST["email"], "Link Aktywacyjny", $content, $headers);
  43. mysql_query("INSERT INTO users (`login`, `haslo`, `email`, `active_key`) VALUES('$login', '$haslo', '$email', '$actCode')") or die(mysql_error());
  44. echo '<center>Na podany adres emailowy zostal wyslany klucz aktywacyjny.</center>';
  45. }
  46. }
  47. ?>
  48.  
  49. <?php if (isset($_SESSION['login'])) { echo ''; } else {?>
  50. <center><form action="register.php" method="post">
  51. <table>
  52. <tr>
  53. <td>Login:</td>
  54. <td><input type='text' name='login' maxlength='20'></td>
  55. </tr>
  56.  
  57. <tr>
  58. <td>Hasło:</td>
  59. <td><input type='password' name='haslo' maxlength='30'></td>
  60. </tr>
  61.  
  62. <tr>
  63. <td>Email:</td>
  64. <td><input type='text' name='email' maxlength='30'></td>
  65. </tr>
  66.  
  67. <tr>
  68. <td><input type='submit' value='Zarejestruj się'></td>
  69. </tr>
  70.  
  71. </table>
  72. </form></center>
  73. <?php } ?>
  74.  
  75. <?php if (!isset($_SESSION['login'])) { echo ''; } else {?>
  76. <center>Jesteś zalogowany! Nie możesz stworzyć konta.</center>
  77. <?php } ?>
  78.  
  79. <?php include_once('templates/footer.php'); ?>
Go to the top of the page
+Quote Post
Giluś
post
Post #4





Grupa: Zarejestrowani
Postów: 377
Pomógł: 9
Dołączył: 2.11.2010

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


Wysyłasz E-Mail z Localhostu czy z Serwera ?.

Mi przykładowo Webserwer na localhoscie nie chciał wysłać żadnego e-mail, wiec może masz podobny problem ?.

Pozdrawiam.
Go to the top of the page
+Quote Post
Deotho
post
Post #5





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 2.05.2012
Skąd: Hogwart

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


Stronę mam na hostingu cba.pl (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
CuteOne
post
Post #6





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


oki twój kod to tzw. spaghetti zobacz na google bibliotekę do wysyłania maili - phpmailer
Go to the top of the page
+Quote Post
Deotho
post
Post #7





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 2.05.2012
Skąd: Hogwart

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


Cytat(CuteOne @ 27.06.2012, 21:24:13 ) *
oki twój kod to tzw. spaghetti zobacz na google bibliotekę do wysyłania maili - phpmailer


No, ale po co mi phpmailer skoro mam stronę na cba? (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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: 24.08.2025 - 00:42