Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

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





Grupa: Zarejestrowani
Postów: 256
Pomógł: 16
Dołączył: 21.12.2014

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


Czy mógłby mi to ktoś poprawić tak aby skrypt działał poprawnie
  1. Rejestracja
  2. <form action="rejestracja.php" method="POST">
  3. Nazwa Użytkownika/login: <input type="text" name="login" /><br />
  4. Hasło: <input type="password" name="haslo" /><br />
  5. Powtórz hasło: <input type="password" name="haslo1" /><br />
  6. Adres E-mail: <input type="text" name="email" /> <br />
  7. <input type="submit" value="Zarejestruj się!!" /><br />
  8. <?php
  9. if(isset($_SESSION['blad1'])) echo $_SESSION['blad'];
  10. ?>

  1. <?php
  2.  
  3. if ((!isset($_POST['login'])) || (!isset($_POST['haslo'])) || (!isset($_POST['haslo1'])) || (!isset($_POST['email'])))
  4. {
  5. header('Location: index.php');
  6. exit();
  7. }
  8.  
  9. require_once "polaczenie.php";
  10. $polaczenie = @new mysqli($host, $db_user, $db_password, $db_name);
  11. if ($polaczenie->connect_erron!=0)
  12. {
  13. echo "Error: ".$polaczenie->connect_errno . "Opis: ". $polaczenie->connect_error;
  14. }
  15. else
  16. {
  17. $login = $_POST['login'];
  18. $haslo = $_POST['haslo'];
  19. $haslo1 = $_POST['haslo1'];
  20. $email = $_POST['email'];
  21.  
  22. $login = htmlentities($login, ENT_QUOTES, "UTF-8");
  23. $haslo = htmlentities($haslo, ENT_QUOTES, "UTF-8");
  24. $haslo = htmlentities($haslo1, ENT_QUOTES, "UTF-8");
  25. $haslo = htmlentities($email, ENT_QUOTES, "UTF-8");
  26.  
  27. if($resultat = @$polaczenie->query(
  28. sprintf("INSERT INTO `uzytkownicy` (`id`, `user`, `pass`, `email`) VALUES ('', '%s', '%s', '%s', '%s')",
  29. mysqli_real_escape_string($polaczenie, $login),
  30. mysqli_real_escape_string($polaczenie, $haslo),
  31. mysqli_real_escape_string($polaczenie, $haslo1),
  32. mysqli_real_escape_string($polaczenie, $email))))
  33. {
  34. $ilu_userow = $resultat->num_rows;
  35. if($ilu_userow>0)
  36. {
  37. $_SESSION['zarejestrowany'] = true;
  38.  
  39.  
  40.  
  41. unset($_SESSION['blad']);
  42. $resultat->free_result();
  43. header('Location: index.php');
  44. }else
  45. {
  46. $_SESSION['blad'] = '<span style="color:red" >Nieprawidłowy Login lub Hasło! </span>';
  47. header('Location: index.php');
  48. }
  49. }
  50. $polaczenie->close();
  51. }
  52.  
  53. ?>

do tej pory jest taki błąd
  1. Notice: Undefined property: mysqli::$connect_erron IN C:\xampp\htdocs\rejestracja.php ON line 12


Ten post edytował jaca121212 6.04.2015, 08:04:49
Go to the top of the page
+Quote Post
3 Stron V   1 2 3 >  
Start new topic
Odpowiedzi (1 - 19)
Raito
post
Post #2





Grupa: Zarejestrowani
Postów: 156
Pomógł: 19
Dołączył: 27.04.2014

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


Kod
if ($polaczenie->connect_erron!=0)
nie powinno być errno?

Ten post edytował Raito 6.04.2015, 08:22:33
Go to the top of the page
+Quote Post
jaca121212
post
Post #3





Grupa: Zarejestrowani
Postów: 256
Pomógł: 16
Dołączył: 21.12.2014

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


ale nawet nie zapisuje rekordów do bazy danych może źle jest napisana skladnia INSERT INTO

Ten post edytował jaca121212 6.04.2015, 10:44:51
Go to the top of the page
+Quote Post
Raito
post
Post #4





Grupa: Zarejestrowani
Postów: 156
Pomógł: 19
Dołączył: 27.04.2014

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


if($resultat = @$polaczenie->query( - usuń @
Go to the top of the page
+Quote Post
Turson
post
Post #5





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Zacznij od wywalenia wszystkich @ z kodu i Temat: Jak poprawnie zadac pytanie
Go to the top of the page
+Quote Post
jaca121212
post
Post #6





Grupa: Zarejestrowani
Postów: 256
Pomógł: 16
Dołączył: 21.12.2014

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


Cytat(Raito @ 6.04.2015, 09:22:14 ) *
Kod
if ($polaczenie->connect_erron!=0)
nie powinno być errno?

jeśli usunę linie 12 to wyskakuje kolejny błąd z else w lini 16
Go to the top of the page
+Quote Post
Raito
post
Post #7





Grupa: Zarejestrowani
Postów: 156
Pomógł: 19
Dołączył: 27.04.2014

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


To nie usuwaj całej linii, tylko zamień if ($polaczenie->connect_erron!=0) na if ($polaczenie->connect_errno!=0).
Go to the top of the page
+Quote Post
jaca121212
post
Post #8





Grupa: Zarejestrowani
Postów: 256
Pomógł: 16
Dołączył: 21.12.2014

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


Cytat(Raito @ 6.04.2015, 11:51:25 ) *
To nie usuwaj całej linii, tylko zamień if ($polaczenie->connect_erron!=0) na if ($polaczenie->connect_errno!=0).

jak zmieniłem na if ($polaczenie->connect_errno!=0) to zaden błąd się nie pojawił ale jest problem bo nie zamisuje się do bazy żaden rekord możliwe jest to że źle jest napisany skrypt dodawania usera do bazy teraz kod cały wygląda tak:
  1. <?php
  2.  
  3. if ((!isset($_POST['login'])) || (!isset($_POST['haslo'])) || (!isset($_POST['haslo1'])) || (!isset($_POST['email'])))
  4. {
  5. header('Location: index.php');
  6. exit();
  7. }
  8.  
  9. require_once "polaczenie.php";
  10. $polaczenie = new mysqli($host, $db_user, $db_password, $db_name);
  11. if ($polaczenie->connect_errno!=0)
  12. {
  13. echo "Error: ".$polaczenie->connect_errno . "Opis: ". $polaczenie->connect_error;
  14. }
  15. else
  16. {
  17. $login = $_POST['login'];
  18. $haslo = $_POST['haslo'];
  19. $haslo1 = $_POST['haslo1'];
  20. $email = $_POST['email'];
  21.  
  22. $login = htmlentities($login, ENT_QUOTES, "UTF-8");
  23. $haslo = htmlentities($haslo, ENT_QUOTES, "UTF-8");
  24. $haslo = htmlentities($haslo1, ENT_QUOTES, "UTF-8");
  25. $haslo = htmlentities($email, ENT_QUOTES, "UTF-8");
  26.  
  27. if($resultat = $polaczenie->query(
  28. sprintf("INSERT INTO `uzytkownicy` (`id`, `user`, `pass`, `email`) VALUES ('', '%s', '%s', '%s', '%s')",
  29. mysqli_real_escape_string($polaczenie, $login),
  30. mysqli_real_escape_string($polaczenie, $haslo),
  31. mysqli_real_escape_string($polaczenie, $haslo1),
  32. mysqli_real_escape_string($polaczenie, $email))))
  33. {
  34. $ilu_userow = $resultat->num_rows;
  35. if($ilu_userow>0)
  36. {
  37. $_SESSION['zarejestrowany'] = true;
  38.  
  39.  
  40.  
  41. unset($_SESSION['blad']);
  42. $resultat->free_result();
  43. header('Location: index.php');
  44. }else
  45. {
  46. $_SESSION['blad'] = '<span style="color:red" >Nieprawidłowy Login lub Hasło! </span>';
  47. header('Location: index.php');
  48. }
  49. }
  50. $polaczenie->close();
  51. }
  52.  
  53. ?>
Go to the top of the page
+Quote Post
Raito
post
Post #9





Grupa: Zarejestrowani
Postów: 156
Pomógł: 19
Dołączył: 27.04.2014

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


  1. sprintf("INSERT INTO `uzytkownicy` (`id`, `user`, `pass`, `email`) VALUES ('', '%s', '%s', '%s', '%s')",
  2. mysqli_real_escape_string($polaczenie, $login),
  3. mysqli_real_escape_string($polaczenie, $haslo),
  4. mysqli_real_escape_string($polaczenie, $haslo1),
  5. mysqli_real_escape_string($polaczenie, $email))))


Próbujesz dodać do 4 wartości (`id`, `user`, `pass`, `email`) 5 wartości ('', '%s', '%s', '%s', '%s').
Go to the top of the page
+Quote Post
jaca121212
post
Post #10





Grupa: Zarejestrowani
Postów: 256
Pomógł: 16
Dołączył: 21.12.2014

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


Cytat(Raito @ 6.04.2015, 12:04:46 ) *
  1. sprintf("INSERT INTO `uzytkownicy` (`id`, `user`, `pass`, `email`) VALUES ('', '%s', '%s', '%s', '%s')",
  2. mysqli_real_escape_string($polaczenie, $login),
  3. mysqli_real_escape_string($polaczenie, $haslo),
  4. mysqli_real_escape_string($polaczenie, $haslo1),
  5. mysqli_real_escape_string($polaczenie, $email))))


Próbujesz dodać do 4 wartości (`id`, `user`, `pass`, `email`) 5 wartości ('', '%s', '%s', '%s', '%s').

ok już działa teraz pytanie jak sprawdzić czy hasła są takie same wpisane i jak kodować hasło md5 lub sh1 które kodowanie będzie najlepszę
Go to the top of the page
+Quote Post
Raito
post
Post #11





Grupa: Zarejestrowani
Postów: 156
Pomógł: 19
Dołączył: 27.04.2014

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


Pobierasz z bazy zakodowane hasło i porównujesz z zakodowanym wpisanym hasłem.
Lepsze jest md5.
md5(cos);
Go to the top of the page
+Quote Post
jaca121212
post
Post #12





Grupa: Zarejestrowani
Postów: 256
Pomógł: 16
Dołączył: 21.12.2014

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


mam jeszcze problem bo jak wpisałem haslo to zamiast w bazie zapisac haslo zapisuje adres e mail w miejsce wpisania hasla tak wyglada to w bazie (IMG:http://www.iv.pl/images/33107898534028340754.png)
Go to the top of the page
+Quote Post
Turson
post
Post #13





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Cytat(Raito @ 6.04.2015, 12:15:27 ) *
Pobierasz z bazy zakodowane hasło i porównujesz z zakodowanym wpisanym hasłem.
Lepsze jest md5.
md5(cos);

Czemu lepsze md5? Już dawno zostało złamane. Lepsza opcja to hash+sól
Go to the top of the page
+Quote Post
jaca121212
post
Post #14





Grupa: Zarejestrowani
Postów: 256
Pomógł: 16
Dołączył: 21.12.2014

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


Cytat(Turson @ 6.04.2015, 12:24:12 ) *
Czemu lepsze md5? Już dawno zostało złamane. Lepsza opcja to hash+sól

a mógłby mi ktoś pokzać przykład jak ma być to poprawinie zrobione lub jak to powinno wyglądać
Go to the top of the page
+Quote Post
Raito
post
Post #15





Grupa: Zarejestrowani
Postów: 156
Pomógł: 19
Dołączył: 27.04.2014

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


@jaca121212:
http://www.dobreprogramy.pl/Ardziej/Gdy-zw...malo,29553.html
@Turson:
Dzięki za info, nie wiedziałem o tym. Sam przy okazji sobie o tym poczytam (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
jaca121212
post
Post #16





Grupa: Zarejestrowani
Postów: 256
Pomógł: 16
Dołączył: 21.12.2014

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


mam problem z sprawdzaniem zmiennych czy istnieja w polach przy rejestracji np. czy haslo jest takie same jak haslo powtórzone w formularzu tak samo czy są wszystkie pola uzupełnione poprawilibyście ten skrypt
  1. <?php
  2.  
  3. if ((!isset($_POST['login'])) || (!isset($_POST['haslo'])) || (!isset($_POST['haslo1'])) || (!isset($_POST['email'])))
  4. {
  5. header('Location: index.php');
  6. exit();
  7. }
  8.  
  9. require_once "polaczenie.php";
  10. $polaczenie = new mysqli($host, $db_user, $db_password, $db_name);
  11. if ($polaczenie->connect_errno!=0)
  12. {
  13. echo "Error: ".$polaczenie->connect_errno . "Opis: ". $polaczenie->connect_error;
  14. }
  15. else
  16. {
  17.  
  18. $login = $_POST['login'];
  19. $haslo = md5($_POST['haslo']);
  20. $haslo1 = md5($_POST['haslo1']);
  21. $email = $_POST['email'];
  22.  
  23. $login = htmlentities($login, ENT_QUOTES, "UTF-8");
  24. $haslo = htmlentities($haslo, ENT_QUOTES, "UTF-8");
  25. $haslo1 = htmlentities($haslo1, ENT_QUOTES, "UTF-8");
  26. $email = htmlentities($email, ENT_QUOTES, "UTF-8");
  27.  
  28. if(empty($_POST['login'])){
  29. echo "nie podałeś loginu";
  30.  
  31. }elseif(empty($_POST['haslo']==$_POST['haslo1'])){
  32. echo "hasła się różnią";
  33. }elseif(empty($_POST['email'])){
  34. echo "proszę podać adres e-mail";
  35. }else
  36.  
  37. if($resultat = $polaczenie->query(
  38. sprintf("INSERT INTO `uzytkownicy` (`id`, `user`, `pass`, `email`) VALUES ('', '%s', '%s', '%s')",
  39. mysqli_real_escape_string($polaczenie, $login),
  40. mysqli_real_escape_string($polaczenie, $haslo),
  41. mysqli_real_escape_string($polaczenie, $email))))
  42. {
  43. $ilu_userow = $resultat->num_rows;
  44. if($ilu_userow>0)
  45. {
  46. $_SESSION['zarejestrowany'] = true;
  47.  
  48.  
  49.  
  50. unset($_SESSION['blad']);
  51. $resultat->free_result();
  52. header('Location: index.php');
  53. }else
  54. {
  55. $_SESSION['komunikat'] = '<span style="color:red" >Zostałeś/aś poprawnie zarejestrowany/na. Zaloguj się!</span>';
  56. header('Location: index.php');
  57. }
  58. }
  59. $polaczenie->close();
  60. }
  61.  
  62. ?>


  1. Rejestracja
  2. <form action="rejestracja.php" method="POST">
  3. Nazwa Użytkownika/login: <input type="text" name="login" /><br />
  4. Hasło: <input type="password" name="haslo" /><br />
  5. Powtórz hasło: <input type="password" name="haslo1" /><br />
  6. Adres E-mail: <input type="text" name="email" /> <br />
  7. <input type="submit" value="Zarejestruj się!!" name="wyślij" /><br />
  8. <?php
  9. if(isset($_SESSION['komunikat'])) echo $_SESSION['komunikat'];
  10. ?>

Go to the top of the page
+Quote Post
Raito
post
Post #17





Grupa: Zarejestrowani
Postów: 156
Pomógł: 19
Dołączył: 27.04.2014

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


  1. }elseif(empty($_POST['haslo']==$_POST['haslo1'])){
A coż to?
  1. elseif($_POST['haslo']!=$_POST['haslo1']){
  2. echo "Wpisane hasła różnią się.";}
  3. elseif(empty($_POST['haslo'])){
  4. ...
  5. }elseif(empty($_POST['haslo1'])){
  6. ...
  7. }


Ten post edytował Raito 6.04.2015, 19:40:04
Go to the top of the page
+Quote Post
Boshi
post
Post #18





Grupa: Zarejestrowani
Postów: 342
Pomógł: 15
Dołączył: 30.08.2011

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


Dla sprawdzenia czy wszystkie pola zostały uzupelnione wystarczy pętla foreach po tablicy POST

Ten post edytował Boshi 6.04.2015, 19:43:01
Go to the top of the page
+Quote Post
jaca121212
post
Post #19





Grupa: Zarejestrowani
Postów: 256
Pomógł: 16
Dołączył: 21.12.2014

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


W jaki sposób sprawdzić czy login taki jest w bazie jeśli tak to żeby pokazał komunikat

Ten post edytował jaca121212 7.04.2015, 06:49:33
Go to the top of the page
+Quote Post
Turson
post
Post #20





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Zapytaniem liczącym ilośc wierszy gdzie login = wpisany_login
Go to the top of the page
+Quote Post

3 Stron V   1 2 3 >
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 - 04:02