Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Nie dodaje rekordu do bazy MySQL
ComBox
post
Post #1





Grupa: Zarejestrowani
Postów: 77
Pomógł: 0
Dołączył: 11.09.2006
Skąd: Bydgoszcz

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


Witam!
Mam problem, otoz skrypt laczy sie poprawnie z baza danych, lecz nie dodaje do niej rekordow. Moj skrypt polega na zwyklej rejestracji (login, haslo, email). Skrypt nawet sprawdza, czy w bazie jest juz dany login czy email (jesli sie powtarza skrypt o tym informuje), ale po podaniu prawidlowych danych skrypt nie dodaje tych informacji do bazy. Podaje funkcje odpowiedzialna za dodaje usera do bazy:

  1. <?php
  2. # dodaje nowego użytkownika
  3. function add_user($login, $password, $email)
  4. {
  5. $ip = IP;
  6. $data = DATA;
  7.  
  8. $password = md5(SECRET_HASH.$password);
  9. $zapytanie = mysql_query("INSERT INTO `users` (`id`, `data_rej`, `data_log`, `ip`, `login`, `email`, `password`, `active`) VALUES
  10. (NULL, $data, '0000-00-00 00:00:00', $ip, $login, $email, $password, '0');");
  11. if($zapytanie)
  12. return True;
  13. else
  14. return False;
  15. }
  16. ?>


Dodam, ze korzystam z PHP5 oraz MySQL5 (bazy InnoDB).
Dzieki za pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
skowron-line
post
Post #2





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


  1. <?php
  2. $_POST['email'];
  3. ?>

i tak dalej jesli dane sa przesylane z formularza
Go to the top of the page
+Quote Post
wipo
post
Post #3





Grupa: Zarejestrowani
Postów: 856
Pomógł: 19
Dołączył: 30.08.2005
Skąd: 100lica

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


....
$password = md5(SECRET_HASH.$password);
$zapytanie = mysql_query("INSERT INTO `users` (`id`, `data_rej`, `data_log`, `ip`, `login`, `email`, `password`, `active`) VALUES
(NULL, $data, '0000-00-00 00:00:00', $ip, $login, $email, $password, '0');");

wpisz tutaj
print mysql_error();
i zobacz co pokazuje

if($zapytanie)
return True;
else
return False;
....

@skowron-online : niekoniecznie. Niektóre hostingi post i get odbierają jako zmienna. Ponadto jeżeli register_globals jest na YES to tez się tak dzieje

Ten post edytował wipo 5.11.2006, 18:00:12
Go to the top of the page
+Quote Post
ComBox
post
Post #4





Grupa: Zarejestrowani
Postów: 77
Pomógł: 0
Dołączył: 11.09.2006
Skąd: Bydgoszcz

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


$_POST['login'] mam......


Cytat
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '17:59:32, '0000-00-00 00:00:00', 83.8.253.35, master, email@o2.pl, cos' at line 2Wszystko przebieglo pomyslnie. Sprawdz skrzynke i kliknij w odnosnik.


Ten post edytował ComBox 5.11.2006, 18:00:53
Go to the top of the page
+Quote Post
wipo
post
Post #5





Grupa: Zarejestrowani
Postów: 856
Pomógł: 19
Dołączył: 30.08.2005
Skąd: 100lica

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


Pola gdzie wpisujesz tekst daj w apostrofach (')
Go to the top of the page
+Quote Post
ComBox
post
Post #6





Grupa: Zarejestrowani
Postów: 77
Pomógł: 0
Dołączył: 11.09.2006
Skąd: Bydgoszcz

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


Tak mam:

  1. <?php
  2. $zapytanie = mysql_query("INSERT INTO `users` (`id`, `data_rej`, `data_log`, `ip`, `login`, `email`, `password`, `active`) VALUES
  3. (NULL, $data, '0000-00-00 00:00:00', $ip, $login, $email, $password, '0')");
  4. ?>


Podaje strukture tabeli:

  1. CREATE TABLE `users` (
  2. `id` int(8) NOT NULL AUTO_INCREMENT,
  3. `data_rej` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  4. `data_log` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  5. `ip` varchar(15) NOT NULL DEFAULT '000.000.000.000',
  6. `login` varchar(25) NOT NULL DEFAULT 'error',
  7. `email` varchar(30) NOT NULL DEFAULT 'error',
  8. `password` varchar(32) NOT NULL DEFAULT 'error',
  9. `active` int(1) NOT NULL DEFAULT '0',
  10. PRIMARY KEY (`id`)
  11. ) TYPE=InnoDB;
Go to the top of the page
+Quote Post
wipo
post
Post #7





Grupa: Zarejestrowani
Postów: 856
Pomógł: 19
Dołączył: 30.08.2005
Skąd: 100lica

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


a pole $email, $password, $login, $ip to nie są wg Ciebie pola tekstowe?

(NULL, '$data', '0000-00-00 00:00:00', '$ip', '$login', '$email', '$password', 0)");

Ten post edytował wipo 5.11.2006, 18:07:02
Go to the top of the page
+Quote Post
ComBox
post
Post #8





Grupa: Zarejestrowani
Postów: 77
Pomógł: 0
Dołączył: 11.09.2006
Skąd: Bydgoszcz

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


Wielkie dzieki (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Myslalem, ze jak jest zmienna to wystarczy zmienna wpisac, a trzeba bylo '$zmienna'.....
Dzieki i pozdrawiam
Go to the top of the page
+Quote Post

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: 23.08.2025 - 08:30