Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Aktywacja konta przez e-mail do tego skryptu
MrGohut
post 10.11.2013, 18:08:14
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
fizzlebubble
post 10.11.2013, 23:33:07
Post #2





Grupa: Zarejestrowani
Postów: 272
Pomógł: 28
Dołączył: 13.02.2011

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


Bardzo ładny makaron, aż nabrałem ochoty na pizze tongue.gif. Masz już zaimplementowaną jakąkolwiek logikę aktywacji, czy po prostu pobrałeś gotowy kod i chcesz go rozszerzyć?


--------------------
Nie obrażę się, jeśli za udzieloną pomoc odwdzięczysz się klikając w "Pomógł" :).
Go to the top of the page
+Quote Post
rad11
post 10.11.2013, 23:57:57
Post #3





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

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


http://www.youtube.com/watch?v=erFZWX9aGUc
Go to the top of the page
+Quote Post
com
post 11.11.2013, 00:03:55
Post #4





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

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


Naprawdę 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 smile.gif moze ten tutek z yt pomoże biggrin.gif
Go to the top of the page
+Quote Post
NetBeans
post 11.11.2013, 13:15:26
Post #5





Grupa: Zarejestrowani
Postów: 56
Pomógł: 4
Dołączył: 18.01.2012

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


Nikt za darmo nie będzie paprał się w tak syfskim kodzie. Napisz w dziale zlecenia.
Go to the top of the page
+Quote Post
MrGohut
post 11.11.2013, 16:57:54
Post #6





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

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


lol nie wiedziałem że taki syf biggrin.gif Są lepsze kody logowania / rejestracji na necie za free ?
i niby czemu taki syf ? D:

Ten post edytował MrGohut 11.11.2013, 16:58:12
Go to the top of the page
+Quote Post
com
post 11.11.2013, 20:09:31
Post #7





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

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


nie pisz do mnie na priv, bo on nie jest od tego jak chcesz mieć gotowca z neta to puszukaj, nikt Ci nie powie czy są bo to forum słuzy do tego żeby rozwiazywac problemy własne a nie kogoś kto nie ma pojecia i pisze coś a potem wrzuca do neta i inni co nie maja pojecia to powielaja, prawie taki sam kod pojawił się tu na forum niedawno.. nie bd sie powtarzał, pod frazą logawanie i rejestracja znadziesz 430 tematów tu na forum, wiec tam znajdziesz napewno odp, a jak nie to tak jak napisano zlec komuś i Ci to zrobi wink.gif
Go to the top of the page
+Quote Post
Micchaleq
post 11.11.2013, 20:59:06
Post #8





Grupa: Zarejestrowani
Postów: 186
Pomógł: 4
Dołączył: 13.10.2009

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


Po co się brać za coś o czym nie ma się kompletnie pojęcia?



--------------------
Go to the top of the page
+Quote Post
fizzlebubble
post 11.11.2013, 21:06:07
Post #9





Grupa: Zarejestrowani
Postów: 272
Pomógł: 28
Dołączył: 13.02.2011

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


Bo rozumiem, że Ty gdy zabierałeś się za PHP/* wiedziałeś o tym wszystko. Z wiedzą IT nikt się nie rodzi, tylko nabywa i albo autor wątku się ogarnie i sam zgłębi temat, ale się po prostu podda, who cares.


--------------------
Nie obrażę się, jeśli za udzieloną pomoc odwdzięczysz się klikając w "Pomógł" :).
Go to the top of the page
+Quote Post
MrGohut
post 11.11.2013, 21:08:56
Post #10





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

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


Ja pierdole że tak się wyrażę, niektórzy chyba wchodzą tu po to aby kogoś dobić. Po diabła teksty typu "po co się za to brać jak się o tym pojęcia nie ma" przecież takiego człowieka to tylko .. ;_;
Ty wszystko od urodzenia umiałeś ? Chyba po to jest forum, aby się spytać / dopytać ....
Taka pomoc.
Go to the top of the page
+Quote Post
fizzlebubble
post 11.11.2013, 21:16:24
Post #11





Grupa: Zarejestrowani
Postów: 272
Pomógł: 28
Dołączył: 13.02.2011

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


MrGohut nie przejmuj się :-). Co teraz musisz zrobić to po prostu przejżeć jakiś tutorial dot rejestracji/logowania userów (jest tego w CHOLERĘ) i na podstawie wiedzy, której dzięki temu nabędziesz dopisać to czego potrzebujesz. Zasada aktywacji jest prosta, user w bazie ma dodatkową kolumnę, np status lub activated z wartością 0 lub 1 i np jakimś hashem md5. Po jego rejestracji wysyłasz meila do gościa z linkiem np /activate.php?=hash i w samym pliku sprawdzasz który user posiada taki hash i zmieniasz mu status aktywacji z 0 na 1, simple as that :-).


--------------------
Nie obrażę się, jeśli za udzieloną pomoc odwdzięczysz się klikając w "Pomógł" :).
Go to the top of the page
+Quote Post
Micchaleq
post 12.11.2013, 09:58:00
Post #12





Grupa: Zarejestrowani
Postów: 186
Pomógł: 4
Dołączył: 13.10.2009

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


Cytat(MrGohut @ 11.11.2013, 21:08:56 ) *
Ja pierdole że tak się wyrażę, niektórzy chyba wchodzą tu po to aby kogoś dobić. Po diabła teksty typu "po co się za to brać jak się o tym pojęcia nie ma" przecież takiego człowieka to tylko .. ;_;
Ty wszystko od urodzenia umiałeś ? Chyba po to jest forum, aby się spytać / dopytać ....
Taka pomoc.


Oczywiście po to jest forum aby się dopytać doskonale to ująłeś. Co do mjej osoby może byłem gorszym tłukiem od ciebie, ale jak kopiowałem kogos kod to pierwsze co robiłem to go analizowałem i zastanawiałem się dlaczego tak a nie inaczej to działa. Po czym następnie pisałem od początku po swojemu i wtedy miałem pojęcie gdzie należy coś dodać chcąć dodać jakąś funkcjonalność. Ty za to wrzuciłeś kogoś kod i wymagasz aby ktoś za Ciebie wykonał prace. Albo robisz coś konkretnego z czym masz problem i każdy chętnie Ci pomoże w tym ja ( jeżeli bym umiał ), albo kup dobrą książe i się ucz.

Ten post edytował Micchaleq 12.11.2013, 09:59:16


--------------------
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: 12.06.2025 - 13:14