Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Aktywacja konta przez e-mail do tego skryptu
MrGohut
post
Post #1





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 29.04.2013

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


  1. <?php
  2. require_once 'config.php';
  3. require_once 'user.class.php';
  4. ?>
  5. <!doctype HTML>
  6. <html>
  7. <head>
  8. <meta charset="utf-8" />
  9. <title>Testowa Strona WWW</title>
  10. <meta name="Description" content="" />
  11. <meta name="Keywords" content="" />
  12. <link rel="stylesheet" href="main.css" />
  13. <!--[if lt IE 9]>
  14. <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
  15. <![endif]-->
  16. </head>
  17. <body>
  18. <header>
  19. <h1 id="link"><a href="http://www.bundlelist.ugu.pl/">BundleList.pl</a></h1>
  20. <nav>
  21. <ul id="menu">
  22. <li><a href="#">Forum</a></li>
  23. <li>
  24. <a href="pages/humblebundle.php">Humble Bundle</a>
  25. <ul>
  26. <li><a href="pages/weeklysale.php">Humble Weekly Sale</a></li>
  27. </ul>
  28. </li>
  29. <li><a href="pages/indiegala.php">Indie Gala</a></li>
  30. <li><a href="pages/indieroyale.php">Indie Royale</a></li>
  31. <li><a href="pages/groupees.php">Groupees</a></li>
  32. </ul>
  33. </nav>
  34. </header>
  35. <div id="panel">
  36. <div id="logowanie_rejestracja">
  37. <?php
  38. if (user::isLogged()) {
  39. $user = user::getData('', '');
  40.  
  41. echo '<p id="witaj">Jesteś zalogowany, witaj <a href="profile.php?id='.$user['id'].'">'.$user['login'].'</a>!</p>';
  42. echo '<a id="wyloguj" href="logout.php">Wyloguj</a>';
  43. }
  44. else {
  45. echo '
  46. <p id="nie_zalogowany">Nie jesteś zalogowany. </p>
  47. <p id="nie_zalogowany2"><a href="login.php">Zaloguj</a> się lub <a href="register.php">zarejestruj</a> jeśli jeszcze nie masz konta.</p>
  48. ';
  49. }
  50. ?>
  51. </div>
  52. </div>
  53. <main>
  54. <div id="box1">
  55. <?php
  56. /**
  57.  * Skrypt i formularz rejestracji
  58.  * @author Sobak
  59.  * @package User System
  60.  */
  61.  
  62. /**
  63.  * Sprawdź czy formularz został wysłany
  64.  */
  65. if ($_POST['send'] == 1) {
  66. // Zabezpiecz dane z formularza przed kodem HTML i ewentualnymi atakami SQL Injection
  67. $login = mysql_real_escape_string(htmlspecialchars($_POST['login']));
  68. $pass = mysql_real_escape_string(htmlspecialchars($_POST['pass']));
  69. $pass_v = mysql_real_escape_string(htmlspecialchars($_POST['pass_v']));
  70. $email = mysql_real_escape_string(htmlspecialchars($_POST['email']));
  71. $email_v = mysql_real_escape_string(htmlspecialchars($_POST['email_v']));
  72.  
  73. /**
  74.   * Sprawdź czy podany przez użytkownika email lub login już istnieje
  75.   */
  76. $existsLogin = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM users WHERE login='$login' LIMIT 1"));
  77. $existsEmail = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM users WHERE email='$email' LIMIT 1"));
  78.  
  79. $errors = ''; // Zmienna przechowująca listę błędów które wystąpiły
  80.  
  81.  
  82. // Sprawdź, czy nie wystąpiły błędy
  83. if (!$login || !$email || !$pass || !$pass_v || !$email_v ) $errors .= '- Musisz wypełnić wszystkie pola<br />';
  84. if ($existsLogin[0] >= 1) $errors .= '- Ten login jest zajęty<br />';
  85. if ($existsEmail[0] >= 1) $errors .= '- Ten e-mail jest już używany<br />';
  86. if ($email != $email_v) $errors .= '- E-maile się nie zgadzają<br />';
  87. if ($pass != $pass_v) $errors .= '- Hasła się nie zgadzają<br />';
  88.  
  89. /**
  90.   * Jeśli wystąpiły jakieś błędy, to je pokaż
  91.   */
  92. if ($errors != '') {
  93. echo '<p class="error">Rejestracja nie powiodła się, popraw następujące błędy:<br />'.$errors.'</p>';
  94. }
  95.  
  96. /**
  97.   * Jeśli nie ma żadnych błędów - kontynuuj rejestrację
  98.   */
  99. else {
  100.  
  101. // Posól i zasahuj hasło
  102. $pass = user::passSalter($pass);
  103.  
  104. // Zapisz dane do bazy
  105. mysql_query("INSERT INTO users (login, email, pass, adresip) VALUES('$login','$email','$pass','{$_SERVER['REMOTE_ADDR']}');") or die ('<p class="error">Wystąpił błąd w zapytaniu i nie udało się zarejestrować użytkownika.</p>');
  106. echo '<p class="success">'.$login.', zostałeś zarejestrowany.
  107. <br /><a href="login.php">Logowanie</a></p>';
  108. }
  109. }
  110. ?>
  111.  
  112. <form method="post" action="">
  113. <label for="login">Login:</label>
  114. <input maxlength="32" type="text" name="login" id="login" />
  115.  
  116. <label for="pass">Hasło:</label>
  117. <input maxlength="32" type="password" name="pass" id="pass" />
  118.  
  119. <label for="pass_again">Hasło (ponownie):</label>
  120. <input maxlength="32" type="password" name="pass_v" id="pass_again" />
  121.  
  122. <label for="email">Email:</label>
  123. <input type="text" name="email" maxlength="50" id="email" />
  124.  
  125. <label for="email_again">Email (ponownie):</label>
  126. <input type="text" maxlength="255" name="email_v" id="email_again" /><br />
  127.  
  128.  
  129. <input type="hidden" name="send" value="1" />
  130. <input id="zarejestruj" type="submit" value="Zarejestruj" />
  131. </form>
  132. </div>
  133. <aside>
  134. <h2 class="bg">Facebook</h2>
  135. <div class="fb-like-box" data-href="http://www.facebook.com/bundlelistpl" data-width="340" data-height="300" data-colorscheme="light" data-show-faces="true" data-header="false" data-stream="false" data-show-border="false"></div>
  136. <h2 class="bg">Obecne Bundle</h2>
  137. <ul>
  138. <li class="bundle_spis"><a href="#"><img class="bundle_img" src="images/1.png" alt="Humble Bundle with android 7" /><p>Coś tutaj pisze .... to tylko napis</p></a></li>
  139. <li class="bundle_spis"><a href="#"><img class="bundle_img" src="images/1.png" alt="Humble Bundle with android 7" /><p>Coś tutaj pisze .... to tylko napis</p></a></li>
  140. <li class="bundle_spis"><a href="#"><img class="bundle_img" src="images/1.png" alt="Humble Bundle with android 7" /><p>Coś tutaj pisze .... to tylko napis</p></a></li>
  141. <li class="bundle_spis"><a href="#"><img class="bundle_img" src="images/1.png" alt="Humble Bundle with android 7" /><p>Coś tutaj pisze .... to tylko napis</p></a></li>
  142. <li class="bundle_spis"><a href="#"><img class="bundle_img" src="images/1.png" alt="Humble Bundle with android 7" /><p>Coś tutaj pisze .... to tylko napis</p></a></li>
  143. <li class="bundle_spis"><a href="#"><img class="bundle_img" src="images/1.png" alt="Humble Bundle with android 7" /><p>Coś tutaj pisze .... to tylko napis</p></a></li>
  144. </ul>
  145. </aside>
  146. </main>
  147. <div id="fb-root"></div>
  148. <script>(function(d, s, id) {
  149. var js, fjs = d.getElementsByTagName(s)[0];
  150. if (d.getElementById(id)) return;
  151. js = d.createElement(s); js.id = id;
  152. js.src = "//connect.facebook.net/pl_PL/all.js#xfbml=1";
  153. fjs.parentNode.insertBefore(js, fjs);
  154. }(document, 'script', 'facebook-jssdk'));
  155. </script>
  156. <footer>
  157. <div id="copyright"><a href="http://www.bundlelist.pl/">BundleList.pl</a> &copy; 2013. Wszystkie prawa zastrzeżone.</div>
  158. </footer>
  159. </body>
  160. </html>


Może mi ktoś powiedzieć co / gdzie powinienem zrobić, aby dodać aktywację przez e-mail ? aktualnie w bazie mam dodane 2 tabele:
"Klucz_aktywacyjny" - wiadomo o co chodzi
"aktywacja" domyśla wartość 0, jeżeli jest 1 to użytkownik potwierdził konto.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
com
post
Post #2





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


Naprawdę (IMG:style_emoticons/default/questionmark.gif)
  1. if ($_POST['send'] == 1) {
  2. // Zabezpiecz dane z formularza przed kodem HTML i ewentualnymi atakami SQL Injection
  3. $login = mysql_real_escape_string(htmlspecialchars($_POST['login']));
  4. $pass = mysql_real_escape_string(htmlspecialchars($_POST['pass']));
  5. $pass_v = mysql_real_escape_string(htmlspecialchars($_POST['pass_v']));
  6. $email = mysql_real_escape_string(htmlspecialchars($_POST['email']));
  7. $email_v = mysql_real_escape_string(htmlspecialchars($_POST['email_v']));
  8.  
  9. /**
  10.   * Sprawdź czy podany przez użytkownika email lub login już istnieje
  11.   */
  12. $existsLogin = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM users WHERE login='$login' LIMIT 1"));
  13. $existsEmail = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM users WHERE email='$email' LIMIT 1"));
  14.  
  15. $errors = ''; // Zmienna przechowująca listę błędów które wystąpiły
  16.  
  17.  
  18. // Sprawdź, czy nie wystąpiły błędy
  19. if (!$login || !$email || !$pass || !$pass_v || !$email_v ) $errors .= '- Musisz wypełnić wszystkie pola<br />';
  20. if ($existsLogin[0] >= 1) $errors .= '- Ten login jest zajęty<br />';
  21. if ($existsEmail[0] >= 1) $errors .= '- Ten e-mail jest już używany<br />';
  22. if ($email != $email_v) $errors .= '- E-maile się nie zgadzają<br />';
  23. if ($pass != $pass_v) $errors .= '- Hasła się nie zgadzają<br />';
  24.  
  25. /**
  26.   * Jeśli wystąpiły jakieś błędy, to je pokaż
  27.   */
  28. if ($errors != '') {
  29. echo '<p class="error">Rejestracja nie powiodła się, popraw następujące błędy:<br />'.$errors.'</p>';
  30. }
  31.  
  32. /**
  33.   * Jeśli nie ma żadnych błędów - kontynuuj rejestrację
  34.   */
  35. else {
  36.  
  37. // Posól i zasahuj hasło
  38. $pass = user::passSalter($pass);
  39.  
  40. // Zapisz dane do bazy
  41. mysql_query("INSERT INTO users (login, email, pass, adresip) VALUES('$login','$email','$pass','{$_SERVER['REMOTE_ADDR']}');") or die ('<p class="error">Wystąpił błąd w zapytaniu i nie udało się zarejestrować użytkownika.</p>');
  42. echo '<p class="success">'.$login.', zostałeś zarejestrowany.
  43. <br /><a href="login.php">Logowanie</a></p>';
  44. }
  45. }


pomógbym ale jak to widze to wychodzę... Nie wiem skad to wziołeś ale ten ktoś to robi dokładnie tak jak tego sie nie robi wiec poszykaj czewgoś lepszego jak sam napisac nie potrafisz (IMG:style_emoticons/default/smile.gif) moze ten tutek z yt pomoże (IMG:style_emoticons/default/biggrin.gif)
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: 12.10.2025 - 20:14