Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Dodaje puste rekordy do bazy danych, Dane do kilku tabelek
thomson89
post 20.12.2010, 13:45:17
Post #1





Grupa: Zarejestrowani
Postów: 1 178
Pomógł: 51
Dołączył: 7.01.2009
Skąd: Gdańsk

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


Witam!

W skrypcie rejestracji w sklepie mam pewne problemy. Otóż, niektórym osobom skrypt dodaje do bazy danych puste rekordy do jednej z tabel lub kilku, a niektórym w ogóle nic nie dodaje mimo iż dane i zapytania są poprawne.

Przed tym skryptem są trzy kroki. Na każdym z kroków uzupełniane są dane w sesji i sprawdzane - ewentualnie przenosi do danego kroku i każe coś poprawić. Nie wiem niestety w czym jest błąd.

Kod może nie jest idealny, ale pierwszy raz robię rejestrację i to jeszcze tak zaawansowaną.

Skrypt dodający:
  1. $polaczenie = new baza;
  2.  
  3. //Po pierwsze dodajemy dane adresowe --------------------------------------------------------------------------------------------
  4. $query = 'INSERT INTO klienci_dane_adresowe (imie, nazwisko, kraj, województwo, miasto, kod_pocztowy, ulica, numer_m_d, adres_podstawowy) VALUES (';
  5. $query .= '\''.$_SESSION['rejestracja']['dane'][2]['imie'].'\',';
  6. $query .= '\''.$_SESSION['rejestracja']['dane'][2]['nazwisko'].'\',';
  7. $query .= '\''.$_SESSION['rejestracja']['dane'][2]['kraj'].'\',';
  8. $query .= '\''.$_SESSION['rejestracja']['dane'][2]['wojewodztwo'].'\',';
  9. $query .= '\''.$_SESSION['rejestracja']['dane'][2]['miejscowosc'].'\',';
  10. $query .= '\''.$_SESSION['rejestracja']['dane'][2]['kodpocztowy'].'\',';
  11. $query .= '\''.$_SESSION['rejestracja']['dane'][2]['nazwaulicy'].'\',';
  12. $query .= '\''.$_SESSION['rejestracja']['dane'][2]['numermieszkania'].'\',';
  13. $query .= '1)';
  14.  
  15. $result = mysql_query($query);
  16. $klienci_dane_adresowe_id = mysql_insert_id();
  17.  
  18. //Po drugie umieszczamy dane do aktywacji ---------------------------------------------------------------------------------------
  19. $kod = sha1(substr(md5(date("d.m.Y.H.i.s").rand(1,1000000)) , 0 , 12));
  20.  
  21. $query = 'INSERT INTO klienci_dane_aktywacji (kod_aktywacji) VALUES (\''.$kod.'\')';
  22.  
  23. $result = mysql_query($query);
  24. $klienci_dane_aktywacji_id = mysql_insert_id();
  25.  
  26.  
  27. //Po trzecie dane kontaktowe ----------------------------------------------------------------------------------------------------
  28. $query = 'INSERT INTO klienci_dane_kontaktowe (email, numer_tel, numer_dom) VALUES (';
  29. $query .= '\''.$_SESSION['rejestracja']['dane'][1]['email'].'\',';
  30. $query .= '\''.$_SESSION['rejestracja']['dane'][2]['telkom'].'\',';
  31. $query .= '\''.$_SESSION['rejestracja']['dane'][2]['teldom'].'\')';
  32.  
  33. $result = mysql_query($query);
  34. $klienci_dane_kontaktowe_id = mysql_insert_id();
  35.  
  36. //Po czwarte dane podstawowe ----------------------------------------------------------------------------------------------------
  37. $haslo = sha1($_SESSION['rejestracja']['dane'][1]['haslo']);
  38. //echo $_SESSION['rejestracja']['dane'][1]['haslo'].'<br>';
  39.  
  40. $query = 'INSERT INTO klienci_dane_podstawowe (login, haslo, pytanie, odpowiedz, imie, nazwisko) VALUES (';
  41. $query .= '\''.$_SESSION['rejestracja']['dane'][1]['identyfikator'].'\',';
  42. $query .= '\''.$haslo.'\',';
  43. $query .= '\''.$_SESSION['rejestracja']['dane'][1]['pytanie'].'\',';
  44. $query .= '\''.$_SESSION['rejestracja']['dane'][1]['odpowiedz'].'\',';
  45. $query .= '\''.$_SESSION['rejestracja']['dane'][2]['imie'].'\',';
  46. $query .= '\''.$_SESSION['rejestracja']['dane'][2]['nazwisko'].'\')';
  47.  
  48. $result = mysql_query($query);
  49. $klienci_dane_podstawowe_id = mysql_insert_id();
  50.  
  51. //Po piąte dane statystyczne ----------------------------------------------------------------------------------------------------
  52. $query = 'INSERT INTO klienci_dane_statystyczne (ile_kupil) VALUES (0)';
  53.  
  54. $result = mysql_query($query);
  55. $klienci_dane_statystyczne_id = mysql_insert_id();
  56.  
  57. //Po szóste dane ustawień -------------------------------------------------------------------------------------------------------
  58. $wartosc = $_POST['sysprom'] == 'zgoda' ? '1' : '0';
  59. $query = 'INSERT INTO klienci_dane_ustawien (maile_promocyjne) VALUES ('.$wartosc.')';
  60.  
  61. $result = mysql_query($query);
  62. $klienci_dane_ustawien_id = mysql_insert_id();
  63.  
  64. //KOŃCZYMY IMPREZE --------------------------------------------------------------------------------------------------------------
  65. $query = 'INSERT INTO klienci (iddanepodstawowe, iddanekontaktowe, iddaneustawien, iddanestatystyczne, iddaneadresowe, iddaneaktywacji, typ, aktywowane) VALUES (';
  66. $query .= '\''.$klienci_dane_podstawowe_id.'\',';
  67. $query .= '\''.$klienci_dane_kontaktowe_id.'\',';
  68. $query .= '\''.$klienci_dane_ustawien_id.'\',';
  69. $query .= '\''.$klienci_dane_statystyczne_id.'\',';
  70. $query .= '\''.$klienci_dane_adresowe_id.'\',';
  71. $query .= '\''.$klienci_dane_aktywacji_id.'\',';
  72. $query .= '0,';
  73. $query .= '0)';


Proszę o pomoc!
Powód edycji: [thek]: Poprawiłem na znacznik php zamiast codebox. Następnym razem będzie ochrzan :) Za długo tu jesteś by nie znać reguł :)


--------------------
Sklep 70%
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 Wersja Lo-Fi Aktualny czas: 18.07.2025 - 02:49