Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Problem z systemem rejestracji
Forum PHP.pl > Forum > Przedszkole
ScorpionX
Witam poskładałem taki skrypt do rejestracji

rejestracja.php:

  1. <?php
  2. include("baza.php");
  3. include("funkcjewalidacji.php");
  4.  
  5.  
  6. if(isset($_POST['Rejestruj']))
  7. {
  8. $username = $_POST['username'];
  9. $email = $_POST['email'];
  10. $password = $_POST['password'];
  11. $password_confirm = $_POST['password_confirm'];
  12. $firstname = $_POST['firstname'];
  13. $lastname = $_POST['lastname'];
  14. $data = $_POST['data'];
  15. $telefon = $_POST['telefon'];
  16. $ulica = $_POST['ulica'];
  17. $miasto = $_POST['miasto'];
  18. $wojewodztwo = $_POST['wojewodztwo'];
  19. $Nr_domu = $_POST['Nr_domu'];
  20. $Nr_mieszkania = $_POST['Nr_mieszkania'];
  21. $Kod_pocztowy = $_POST['Kod_pocztowy'];
  22. $regulamin1 = $_POST['regulamin1'];
  23. $regulamin2 = $_POST['regulamin2'];
  24.  
  25. // Walidacja wszystkich pól
  26. if ((compare($password,$password_confirm)) &&
  27. (!(walidacja_email($email))) &&
  28. (!(czywypelnione($firstname))) &&
  29. (!(czywypelnione($lastname))) &&
  30. (!(czywypelnione($telefon))) &&
  31. (!(czywypelnione($ulica))) &&
  32. (!(czywypelnione($miasto))) &&
  33. (!(czywypelnione($wojewodztwo))) &&
  34. (!(czywypelnione($Nr_domu))) &&
  35. (!(czywypelnione($Kod_pocztowy))) &&
  36. (sprawdzCheckbox($regulamin1)) &&
  37. (sprawdzCheckbox($regulamin2)) &&
  38. wal($username))
  39. {
  40. ///// filtrujemy dane
  41. $password_confirm = trim(strip_tags( mysql_real_escape_string(HTMLSpecialChars($password_confirm))));
  42. $wojewodztwo = trim(strip_tags( mysql_real_escape_string(HTMLSpecialChars($wojewodztwo))));
  43. $Nr_mieszkania = trim(strip_tags( mysql_real_escape_string(HTMLSpecialChars($Nr_mieszkania))));
  44. $Kod_pocztowy = trim(strip_tags( mysql_real_escape_string(HTMLSpecialChars($Kod_pocztowy))));
  45.  
  46. $password = md5($password);
  47.  
  48. $query = mysql_query("INSERT INTO rejestr VALUES('$login', '$email', '$password', '$password_confirm', '$firstname', '$lastname', '$data', '$telefon', '$ulica', '$miasto', '$wojewodztwo', '$Nr_domu', '$Nr_mieszkania', '$Kod_pocztowy')");
  49.  
  50. if(mysql_query($query))
  51. {
  52. $mesage = 'Rejestraca Zakończona Powodzeniem';
  53. }
  54.  
  55. }
  56. }
  57. if (!compare($password,$password_confirm) && (!($_POST['$password'] == $_POST['$password_confirm'])) && (isset($_POST['Rejestruj'])) ){ $mesage='Wprowadzone hasła nie są identyczne'; }
  58. elseif (!sprawdzCheckbox($regulamin1) && (isset($_POST['$regulamin1'])) ) { $mesage='Wymagana akceptacja regulaminu';}
  59. elseif (!sprawdzCheckbox($regulamin2) && (isset($_POST['$regulamin2'])) ) { $mesage='Wymagana akceptacja na przetwarzanie';}
  60. elseif (czywypelnione($username) && (isset($_POST['Rejestruj']))) { $mesage='Wypełnij Wszystkie dane';}
  61. elseif (czywypelnione($email) && (isset($_POST['Rejestruj']))) { $mesage='Wypełnij Wszystkie dane';}
  62. elseif (czywypelnione($firstname) && (isset($_POST['Rejestruj']))) { $mesage='Wypełnij Wszystkie dane';}
  63. elseif (czywypelnione($lastname) && (isset($_POST['Rejestruj']))) { $mesage='Wypełnij Wszystkie dane';}
  64. elseif (czywypelnione($data) && (isset($_POST['Rejestruj']))) { $mesage='Wypełnij Wszystkie dane';}
  65. elseif (czywypelnione($telefon) && (isset($_POST['Rejestruj']))) { $mesage='Wypełnij Wszystkie dane';}
  66. elseif (czywypelnione($ulica) && (isset($_POST['Rejestruj']))) { $mesage='Wypełnij Wszystkie dane';}
  67. elseif (czywypelnione($miasto) && (isset($_POST['Rejestruj']))) { $mesage='Wypełnij Wszystkie dane';}
  68. elseif (czywypelnione($wojewodztwo) && (isset($_POST['Rejestruj']))) { $mesage='Wypełnij Wszystkie dane';}
  69. elseif (czywypelnione($Nr_domu) && (isset($_POST['Rejestruj']))) { $mesage='Wypełnij Wszystkie dane';}
  70. elseif (czywypelnione($Kod_pocztowy) && (isset($_POST['Rejestruj']))) { $mesage='Wypełnij Wszystkie dane';}
  71. elseif (!wal() && (isset($_POST['Rejestruj'])) ) { $mesage='Podany login jest już zajęty';}
  72. mysql_close($conn);
  73.  
  74. ?>


baza.php:
  1. <?php
  2.  
  3. $host = 'localhost'; // Tu wpisz nazwę hosta b.d
  4. $user = 'root'; //Tu wpisz nazwę uzytkownika b.d
  5. $pass = ''; //Tu wpisz hasło b.d
  6. $db = 'stronka'; //tu wpisz nazwę b.d
  7. ////////////////////////
  8. //////////Legeda////////
  9. /// b.d = baza danych///
  10. ////////////////////////
  11. $conn = mysql_connect($host, $user, $pass)or die ('Połąnczenie z bazą danych nie powiodło się.');
  12. mysql_select_db($db) or dir ('Podany schemat bazy danych nie istnieje');
  13.  
  14.  
  15. ?>


Funkcje walidacji:
  1. <?php
  2. function wal()
  3. {
  4. if( isset($_POST['Rejestruj']))
  5. {
  6. $nick5 = $_POST['username'];
  7. $result = mysql_query("SELECT * FROM users WHERE nick='$nick5'");
  8. if(@mysql_num_rows($result)!=0)
  9. {
  10. return false;
  11. }
  12. else
  13. {
  14. return true;
  15. }
  16. }
  17. }
  18.  
  19.  
  20.  
  21. function walidacja_email($email) {
  22.  
  23. if (!preg_match('/^[a-zA-Z0-9\.\-\_]+\@[a-zA-Z0-9\.\-\_]+\.[a-z] {2,4}$/D',$email))
  24. {
  25. return true;
  26. }
  27. else
  28. {
  29. return false;
  30. }
  31. }
  32.  
  33. /////////////////////////////Czy wpisano więcej niż 1 znak (nie pusty) ///////////////////////////////////////
  34.  
  35. function czywypelnione($dana)
  36. {
  37. if (strlen($dana)<1)
  38. {
  39. return true;
  40.  
  41. }
  42. else
  43. {
  44. return false;
  45. }
  46. }
  47. ///////////////////////////////////// Funkcja porównująca dwa pola ////////////////////////////////////////
  48. function compare($dana1, $dana2 )
  49. {
  50. if ((!($dana1==$dana2 )) || (empty($dana1)))
  51. {
  52. return false;
  53. }
  54. else
  55. {
  56. return true;
  57. }
  58. }
  59. function sprawdzCheckbox($dana1)
  60. {
  61. if (isset($dana1) && !empty($dana1))
  62. {
  63. return true;
  64. }
  65. else
  66. {
  67. return false;
  68. }
  69. }
  70. ?>



Jednak gdy wypełniam wszystkie pola i klikam "Rejestruj" w bazie nie pojawiają się żadne rekordy. Jaka jest tego przyczyna questionmark.gif
kongi90
W skrypcie masz:
$query = mysql_query("INSERT INTO rejestr VALUES('$login', '$email', '$password', '$password_confirm', '$firstname', '$lastname', '$data', '$telefon', '$ulica', '$miasto', '$wojewodztwo', '$Nr_domu', '$Nr_mieszkania', '$Kod_pocztowy')");


Przyjrzyj się i popraw powinno działać

INSERT INTO nazwa_tabeli (nazwa_pola1, nazwa_pola2) VALUES (wartosc_pola1, wartosc_pola2)
cycofiasz
kongi90 , nie wprowadzaj w błąd.

ScorpionX: czy pojawia się info "Rejestraca Zakończona Powodzeniem" ? Robisz gdzieś echo $message?
ScorpionX
Przenosi mnie do http://localhost/strona/skrypty%20PHP/Rejestracja.php.
Nic się nie wyświetla. Tylko biały ekran. A wpisów nie ma.
maciusiek995
o to:

  1. $query = mysql_query("INSERT INTO rejestr VALUES('$login', '$email', '$password', '$password_confirm', '$firstname', '$lastname', '$data', '$telefon', '$ulica', '$miasto', '$wojewodztwo', '$Nr_domu', '$Nr_mieszkania', '$Kod_pocztowy')");



zamień na to:


  1. $query = mysql_query("INSERT INTO rejestr VALUES('".$login."', '".$email."',
  2. ///....
  3. '".$Nr_mieszkania."', '".$Kod_pocztowy."')");


Powinno zadziałać

a najlepiej dodaj mysql_error na koniec sobie i zobaczy co jest
ScorpionX
Mimo tego że pozmieniałem '$' na ' " . $ . " ' (bez przerw) i tak nie działa zrobiłem coś źle questionmark.gif

  1. <?php
  2. include("baza.php");
  3. include("funkcjewalidacji.php");
  4.  
  5.  
  6. if(isset($_POST['Rejestruj']))
  7. {
  8. $username = $_POST['username'];
  9. $email = $_POST['email'];
  10. $password = $_POST['password'];
  11. $password_confirm = $_POST['password_confirm'];
  12. $firstname = $_POST['firstname'];
  13. $lastname = $_POST['lastname'];
  14. $data = $_POST['data'];
  15. $telefon = $_POST['telefon'];
  16. $ulica = $_POST['ulica'];
  17. $miasto = $_POST['miasto'];
  18. $wojewodztwo = $_POST['wojewodztwo'];
  19. $Nr_domu = $_POST['Nr_domu'];
  20. $Nr_mieszkania = $_POST['Nr_mieszkania'];
  21. $Kod_pocztowy = $_POST['Kod_pocztowy'];
  22. $regulamin1 = $_POST['regulamin1'];
  23. $regulamin2 = $_POST['regulamin2'];
  24.  
  25. // Walidacja wszystkich pól
  26. if ((compare($password,$password_confirm)) &&
  27. (!(walidacja_email($email))) &&
  28. (!(czywypelnione($firstname))) &&
  29. (!(czywypelnione($lastname))) &&
  30. (!(czywypelnione($telefon))) &&
  31. (!(czywypelnione($ulica))) &&
  32. (!(czywypelnione($miasto))) &&
  33. (!(czywypelnione($wojewodztwo))) &&
  34. (!(czywypelnione($Nr_domu))) &&
  35. (!(czywypelnione($Kod_pocztowy))) &&
  36. (sprawdzCheckbox($regulamin1)) &&
  37. (sprawdzCheckbox($regulamin2)) &&
  38. wal($username))
  39. {
  40. ///// filtrujemy dane
  41. $password_confirm = trim(strip_tags( mysql_real_escape_string(HTMLSpecialChars($password_confirm))));
  42. $wojewodztwo = trim(strip_tags( mysql_real_escape_string(HTMLSpecialChars($wojewodztwo))));
  43. $Nr_mieszkania = trim(strip_tags( mysql_real_escape_string(HTMLSpecialChars($Nr_mieszkania))));
  44. $Kod_pocztowy = trim(strip_tags( mysql_real_escape_string(HTMLSpecialChars($Kod_pocztowy))));
  45.  
  46. $password = md5($password);
  47.  
  48. $query = mysql_query("INSERT INTO rejestr VALUES('".$username."', '".$email."', '".$password."', '".$password_confirm."', '".$firstname."', '".$lastname."', '".$data."', '".$telefon."', '".$ulica."', '".$miasto."', '".$wojewodztwo."', '".$Nr_domu."', '".$Nr_mieszkania."', '".$Kod_pocztowy."')");
  49.  
  50. if(mysql_query($query))
  51. {
  52. $mesage = 'Rejestraca Zakończona Powodzeniem';
  53. }
  54.  
  55. }
  56. }
  57. if (!compare($password,$password_confirm) && (!($_POST['$password'] == $_POST['$password_confirm'])) && (isset($_POST['Rejestruj'])) ){ $mesage='Wprowadzone hasła nie są identyczne'; }
  58. elseif (!sprawdzCheckbox($regulamin1) && (isset($_POST['$regulamin1'])) ) { $mesage='Wymagana akceptacja regulaminu';}
  59. elseif (!sprawdzCheckbox($regulamin2) && (isset($_POST['$regulamin2'])) ) { $mesage='Wymagana akceptacja na przetwarzanie';}
  60. elseif (czywypelnione($username) && (isset($_POST['Rejestruj']))) { $mesage='Wypełnij Wszystkie dane';}
  61. elseif (czywypelnione($email) && (isset($_POST['Rejestruj']))) { $mesage='Wypełnij Wszystkie dane';}
  62. elseif (czywypelnione($firstname) && (isset($_POST['Rejestruj']))) { $mesage='Wypełnij Wszystkie dane';}
  63. elseif (czywypelnione($lastname) && (isset($_POST['Rejestruj']))) { $mesage='Wypełnij Wszystkie dane';}
  64. elseif (czywypelnione($data) && (isset($_POST['Rejestruj']))) { $mesage='Wypełnij Wszystkie dane';}
  65. elseif (czywypelnione($telefon) && (isset($_POST['Rejestruj']))) { $mesage='Wypełnij Wszystkie dane';}
  66. elseif (czywypelnione($ulica) && (isset($_POST['Rejestruj']))) { $mesage='Wypełnij Wszystkie dane';}
  67. elseif (czywypelnione($miasto) && (isset($_POST['Rejestruj']))) { $mesage='Wypełnij Wszystkie dane';}
  68. elseif (czywypelnione($wojewodztwo) && (isset($_POST['Rejestruj']))) { $mesage='Wypełnij Wszystkie dane';}
  69. elseif (czywypelnione($Nr_domu) && (isset($_POST['Rejestruj']))) { $mesage='Wypełnij Wszystkie dane';}
  70. elseif (czywypelnione($Kod_pocztowy) && (isset($_POST['Rejestruj']))) { $mesage='Wypełnij Wszystkie dane';}
  71. elseif (!wal() && (isset($_POST['Rejestruj'])) ) { $mesage='Podany login jest już zajęty';}
  72. mysql_close($conn);
  73.  
  74. ?>


Proszé o pomoc.
sada
masz gdzieś połączenie z bazą?
peter13135
@maciusiek995.
Twój sposób jest lepszy, ale nie rozwiązuje problemu.

po kodzie :
  1. if(mysql_query($query))
  2. {
  3. $mesage = 'Rejestraca Zakończona Powodzeniem';
  4. }
  5.  

dodaj :
  1. else
  2. {
  3. $message = mysql_error();
  4. }
  5. die($message);


powiedz co się wyświetla w przypadku próby rejestracji.
sada
ja bym dołożył
do danych gdzie mogą wystąpić np.polskie litery
i dla świętego spokoju
  1. mysql_query("SET NAMES 'utf8'");
po connect jeśli baza w UTF8

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.