Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Rejestracja
Deotho
post
Post #1





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

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


  1. <?php
  2. ?>
  3.  
  4. <?php include('templates/header.php'); ?>
  5.  
  6. <?php
  7. include ("config/db.php");
  8.  
  9. //Flirtujemy dane.
  10. $login = addslashes($_POST['login']);
  11. $haslo = addslashes($_POST['haslo']);
  12. $email = addslashes($_POST['email']);
  13.  
  14. //Sprawdzamy czy użytkownik podał poprawne dane.
  15. if (isset($_POST['submit'])) {
  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. if (!eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,4}$",$_POST["userEmail"])) {
  25. } else {
  26. echo "Email zawiera niedozwolone znaki!";
  27. }
  28. if (empty($login)) die ('Pole z nazwą użytkonika nie może być puste!');
  29. if (empty($haslo)) die ('Pole z haslem nie może być puste!');
  30. if (empty($email)) die ('Pole z emailem nie może być puste!');
  31.  
  32. $db = mysql_query("SELECT * FROM users WHERE u_name='$_POST[login]' ");
  33. if (!$_POST['login'] OR !$_POST['haslo'] OR !$_POST['email']) {
  34. print "Nie wypełniono wszystkich pól formularza.";
  35. if (mysql_num_rows($db)==1) {
  36. print "Podana nazwa użytkownika jest już zajęta."; }
  37. else {
  38. $_POST["haslo"]=SHA1($_POST["haslo"]);
  39. $actCode=str_shuffle("qwertyuiopasdfghjklzxcvbnm1234567890");
  40. $headers="MIME-Version: 1.0\r\n";
  41. $headers.="Content-type: text/html; charset=iso-8859-2\r\n";
  42. $content="<html><head><title>Aktywacja Konta</title</head>
  43. <body>
  44. Aby aktywować konto musisz kliknąć poniższy link aktywujący:<br>
  45. <a href=\"http://twojastrona.com/register.php?active=".$actCode."\"> <a href="http://twojastrona.com/register.php?active=&quot;.$actCode.&quot;" target="_blank">http://twojastrona.com/register.php?active...;actCode."</a> </a><br></body></html>";
  46. mail($_POST["email"], "Link Aktywacyjny", $content, $headers);
  47. mysql_query("INSERT INTO users (login, haslo, email, active_key) VALUES('$_POST[login]', '$_POST[haslo]', '$_POST[email]', '$actCode')");
  48. print"Na podany adres emailowy został wysłany klucz aktywacyjny.";
  49. }
  50. }
  51. elseif($_GET["active"])
  52. {
  53. mysql_query("UPDATE users SET active=1 WHERE active_key='$_GET[active]' ");
  54. {
  55. print"Twoje konto zostało aktywowane.";
  56. }
  57. else
  58. {
  59. print"Podany kod aktywacyjny jest nieprawidłowy.";
  60. }
  61. }
  62. }
  63. ?>
  64.  
  65. <form action="register.php" method="post">
  66. <input type="hidden" name="submit" value="true">
  67. Nazwa <input type="text" name="login" maxlength="20"><br>
  68. Hasło <input type="password" name="haslo" maxlength="30"><br>
  69. Podaj E-Mail <input type="text" name="email" maxlength="64"><br>
  70. <input type="submit" value="Rejestracja">
  71. </form>
  72.  
  73. <?php include('templates/footer.php'); ?>


Po kliknięciu na Rejestracja wszystko jest ok, ale nie tworzy konta w bazie.
Dodatkowo prosiłbym o ocenę kodu - to mój pierwszy.

Ten post edytował Deotho 13.05.2012, 16:54:24
Go to the top of the page
+Quote Post

Posty w temacie


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 Aktualny czas: 21.08.2025 - 16:07