![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 104 Pomógł: 0 Dołączył: 26.10.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Dlaczego mi to nie dziala? Zawsze dzialalo a teraz nagle nie pojawia sie blad ale nie wpisuje nic do bazy... Ten post edytował MarcinJarek 23.08.2004, 13:38:38 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 764 Pomógł: 3 Dołączył: 30.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
1) jezeli pole jest id jest kluczem podstawowym tabeli (primary key auto_increment) to przy dodawaniu rekordu do bazy danych mozesz opuscic to pole i zapytanie napisac tak:
2) co Ty chcesz dokladnie zrobic? czy to co zaprezentowales to kompletny kod? najpierwsz pobierasz dane z jakiejs tabeli a pozniej co? nic z tym nie robisz? w nastepnej kolejnosci dodajesz jakies dane do tej samej tabeli? czy sa to moze jakies fragmenty kodu... (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) - zauwaz co do dodajesz do tabeli uzytkownicy: 'nick', 'haslo', 'data' - przypadkiem nie powinny tam byc jakies zmienne.. czy akurat chcesz dodawac te dane... ale watpie... 3) nie chce mi sie pisac wszystkiego od poczatku wiec przytaj sobie odpowiedz delorian'a z tego watku http://forum.php.pl/index.php?showtopic=20218 Ten post edytował mhs 23.08.2004, 13:51:47 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 166 Pomógł: 0 Dołączył: 1.04.2004 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
mysql_connect (localhost, root, krasnal);
powinno być chyba tak: mysql_connect ('localhost', 'root', 'krasnal'); BTW. wszędzie gdzie masz funkcje mysql_ dodaj na końcu or die(mysql_error()); np.: mysql_connect ('localhost', 'root', 'krasnal') or die(mysql_error()); Teraz powinieneś zobaczyć komunikat o błędzie. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 764 Pomógł: 3 Dołączył: 30.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(Yarecki @ 2004-08-23 14:51:27) mysql_connect (localhost, root, krasnal); powinno być chyba tak: mysql_connect ('localhost', 'root', 'krasnal'); BTW. wszędzie gdzie masz funkcje mysql_ dodaj na końcu or die(mysql_error()); np.: mysql_connect ('localhost', 'root', 'krasnal') or die(mysql_error()); Teraz powinieneś zobaczyć komunikat o błędzie. ech... cale 5 sekund bylem szybszy.. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 166 Pomógł: 0 Dołączył: 1.04.2004 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
Cytat(MarcinJarek @ 2004-08-23 15:11:08) Dzieki za pomoc. To nie jest kompletny kod (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) a jak mozecie to jak zrobic aby zapisywal skrypt zmienne. A moze takie cos wystarczy:
Ja używam takiej składni:
można też tak:
Ten post edytował Yarecki 23.08.2004, 14:25:06 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 104 Pomógł: 0 Dołączył: 26.10.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Kurde - teraz mam kod taki:
I nie chce dzialac - nie dodaje. ID - to jest primary key - wiec omijam go. Dzieki z goryy:) |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 76 Pomógł: 0 Dołączył: 17.02.2004 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Omijasz pole ID?
Cytat nie chce dzialac - nie dodaje. ID - to jest primary key - wiec omijam go. A czy przy polu ID ustawiłeś na AUTO_INCREMENT ? Jeżeli nie to ustaw bo inaczej nie będzie działać! A jeżeli nie chcesz tego zmieniać ta wpisz taki kod:
Pozdrawiam |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 104 Pomógł: 0 Dołączył: 26.10.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Mam AUTO_INCREMENT i w polu artybury mam "UNSIGNED"
Co do kodu - wolalbym, aby dzialalo to autouzupelnianie... |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 76 Pomógł: 0 Dołączył: 17.02.2004 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
To zmień ustawienie żeby nie było UNSIGNED tzn. wyłącz to!
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 104 Pomógł: 0 Dołączył: 26.10.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Nadal nie dziala. Wklejam caly kod bo to moze tego wina...
P.S moze to wina, ze mam ustawione NULL - NIE Ten post edytował MarcinJarek 23.08.2004, 15:47:12 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 80 Pomógł: 0 Dołączył: 2.08.2004 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
Cytat $q ="INSERT INTO uzytkownicy (`login`, `haslo`, `imie`, 'nazwisko', 'mail', 'typ', 'data') VALUES ('$login' , '$haslo' , '$imie, '$nazwisko', '$mail', 'testowani', '$data')"; przy imieniu nie jest domknięty apostrof |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 104 Pomógł: 0 Dołączył: 26.10.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
.....Nadal nie dziala ;(
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 76 Pomógł: 0 Dołączył: 17.02.2004 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
A na końcu tego zapytania
Brakuje średnika zamień na:
Pozdrawiam |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 764 Pomógł: 3 Dołączył: 30.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
jezeli to jest koncowy kod to:
1) jezeli $haslo itd. to nazwy zmiennych prosto pobieranych z formularza to nie rob tak, tylko korzystaj z $_POST -> generalnie poczytaj o register globals 2) po co te dwa zapytania?
wystarczy, ze wykonasz drugie zapytanie i sprawdzisz czy jest taki uzytkownik 3) mozesz nalozyc w projekcie bazy na pole login artybut UNIQUE przez co bedziesz mial zapewniona integralnosc danych w bd (przy zapytaniu, probie dodania uzytkownika o istniejacym loginie system uniemozliwi taka czynnosc) 4) nie musisz tworzyc zmiennej $date wytarczy ze zapiszesz:
5) nie sprawdzasz czy zapytanie zostalo faktycznie wykonane, tylko z gory zakladasz, ze jest ok...
ps. to kilka uwag na poczatek... (jeszcze mozna by napisac o braku walidacji danych... i innych) ---edit--- Cytat Brakuje średnika zamień na: Kod php: 1 2 3 4 5 <?php $q ="INSERT INTO uzytkownicy (`login`, `haslo`, `imie`, 'nazwisko', 'mail', 'typ', 'data') VALUES ('$login' , '$haslo' , '$imie, '$nazwisko', '$mail', 'testowani', '$data');"; ?> Pozdrawiam nie brakuje... w zapytaniach wysylanych z poziomu skryptu nie stosuje sie tego, jezeli natomiast pracujesz na konsoli - to tak... Ten post edytował mhs 23.08.2004, 16:06:43 |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 104 Pomógł: 0 Dołączył: 26.10.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Wkelilem caly skrypt. A wiec w czym jest blad?
Aha nie ma takego czegosc jak 'UNIQUE" Ten post edytował MarcinJarek 23.08.2004, 16:18:33 |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 764 Pomógł: 3 Dołączył: 30.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
napisalem (poprawilem) to wlasciwie z glowy wiec nie dam 100% gwarancji... przede wszystkim to przy sprawdzaniu loginu zapomniales wyslac zapytanie do bazy danych... zobacz czy to bedzie Ci dzialas... niestety dzisiaj juz dalej Ci nie pomoge gdyz za chwile wychodze z pracy... ---e... UNIQUE - jest Ten post edytował mhs 23.08.2004, 16:30:19 |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 104 Pomógł: 0 Dołączył: 26.10.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Kod powinien wygladac tak:
Ale i tak nie dziala...pojawia sie: "nie zostal dodany". pomocy! Ja mam UNIKALNY :-) bo mam PL, wiec to chyba to (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Ten post edytował MarcinJarek 23.08.2004, 16:35:09 |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 166 Pomógł: 0 Dołączył: 1.04.2004 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
Czemu nie użyjesz or die( mysql_error() ) przy mysql_query ?
|
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 103 Pomógł: 0 Dołączył: 1.12.2003 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
Rozwiązanie jest raczej proste moim zdaniem , zapytanie typu insert powinno wyglądać tak
nazwy pól nie powinny być w '' . |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 104 Pomógł: 0 Dołączył: 26.10.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Zapisuje, ale haslo podane zapisuje w polu LOGIN a hasla wogule nie wpisuje...
|
|
|
![]()
Post
#21
|
|
Grupa: Zarejestrowani Postów: 103 Pomógł: 0 Dołączył: 1.12.2003 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
No to teraz chyba już nie trzeb mówić co należy robić dalej.
Echo , print_r, var_dump sie kłaniają. Sprawdz co siedzi w zmiennych które wsadzasz do bazy. Najlepiej jak zrobisz :
sprawdz jakie rzeczywiście jest zapytanie które próbujesz wykonać. Z kodem który tu podałeś nic więcej nie da się zrobić (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
![]()
Post
#22
|
|
Grupa: Zarejestrowani Postów: 104 Pomógł: 0 Dołączył: 26.10.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
A wiec skrypt "gubi" zmienna $login. (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) Prosze o pomoc
|
|
|
![]()
Post
#23
|
|
Grupa: Zarejestrowani Postów: 764 Pomógł: 3 Dołączył: 30.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
jezeli Ci gubi to moze oznaczac ze np. w formularzu masz inna nazwe pola niz oczekujesz w skrypcie...
sluchaj... podaj skrypt tworzacy baze danych, a takze pozostale pliki (formularz i ostatnia wersje skryptu) wowczas bedzie mi najlepiej znalezc bledy... |
|
|
![]()
Post
#24
|
|
Grupa: Zarejestrowani Postów: 104 Pomógł: 0 Dołączył: 26.10.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Ja sam dodaje baze danych w phpmyadmin a to jest tak:
form.html
dodaj.php
|
|
|
![]()
Post
#25
|
|
Grupa: Zarejestrowani Postów: 764 Pomógł: 3 Dołączył: 30.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
i dziwisz sie ze Ci zle dodaje lub tez nie dziala?
zobacz: 1) w formularzu masz: wiec w skrypcie jezeli chcesz pobrac to co wpisales w formularzu musisz odwolac sie do zmiennej $nick a nie $login 2) nastepnie masz: pole to masz pod nazwa (gdzie wpisujesz haslo) masz login(IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) !! EDIT: tak powinno to mniej wiecej wygladac (do idealu duzoooo brakuje) projekt bazy danych (zapewne podobny do tego co Ty masz): Kod mysql> describe uzytkownicy; +----------+------------------+------+-----+------------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------+------------------+------+-----+------------+----------------+ | id | int(10) unsigned | | PRI | NULL | auto_increment | | login | varchar(16) | | UNI | | | | haslo | varchar(32) | | | | | | imie | varchar(30) | | | | | | nazwisko | varchar(50) | | | | | | email | varchar(96) | | | | | | typ | varchar(16) | | | | | | data | date | | | 0000-00-00 | | +----------+------------------+------+-----+------------+----------------+ formularz: skrypt: dodaj.php
1) wykorzystuje tablice $_POST 2) haslo w bazie danych jest haszowane... 3) przyklad dziala, jest sprawdzony, w razie niejasnosci lub bledow pisz... Ten post edytował mhs 24.08.2004, 15:36:33 |
|
|
![]()
Post
#26
|
|
Grupa: Zarejestrowani Postów: 104 Pomógł: 0 Dołączył: 26.10.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Mam jeszczer problem ale z logowaniem:
mam kod:
1. Pojawia sie blad Cytat Notice: Undefined variable: login in c:\usr\krasnal\www\skrypt\logowanie.php on line 6 Notice: Undefined variable: haslo in c:\usr\krasnal\www\skrypt\logowanie.php on line 6 2. Wiem, ze musze jakos rozkodowac haslo, ale nie wiem jak... |
|
|
![]()
Post
#27
|
|
Grupa: Zarejestrowani Postów: 764 Pomógł: 3 Dołączył: 30.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
przede wszystkim to nie rozkodowywujesz hasla poniewaz wlasnie taka jest idea tego wszystkiego by trzymac haslo w bazie danych w formie "zaszyfrowanej"
jezeli chcesz sprawdzic czy uzytkownik podal prawidlowe haslo to tak jak wczesniej (czyli w przygotowaniu zapytania) wykorzystujesz funkcje md5() Twoje zapytanie wysylane do bazy danych bedzie wiec nastepujace:
ps. pisze to prosto z forum (nie sprawdzam kodu) wiec moze byc jakas literowka czy cos takiego... |
|
|
![]()
Post
#28
|
|
Grupa: Przyjaciele php.pl Postów: 215 Pomógł: 0 Dołączył: 28.10.2003 Skąd: - Ostrzeżenie: (0%) ![]() ![]() |
Cytat 1. Pojawia sie blad QUOTE Notice: Undefined variable: login in c:\usr\krasnal\www\skrypt\logowanie.php on line 6 Notice: Undefined variable: haslo in c:\usr\krasnal\www\skrypt\logowanie.php on line 6 To nie jest bład, tylko notka ... uzyj funkcji isset()
|
|
|
![]()
Post
#29
|
|
Grupa: Zarejestrowani Postów: 104 Pomógł: 0 Dołączył: 26.10.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
logowanie.php
loguj.html Nie chce dzialac. czy podam dobre czy zle dane pojawia sie biala strona. |
|
|
![]()
Post
#30
|
|
Grupa: Zarejestrowani Postów: 764 Pomógł: 3 Dołączył: 30.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
przede wszystkim to masz blad w formularzu, wszystkie pola, do ktorych wpisujesz hasla musza byc "typu" "password" poniewaz po pierwsze ktos uzytkownikowi z boku nie podgladnie hasla a po drugie przegladarki interntowe nie beda pamietaly wartosci tego pola... zapomniales zamknac tez ten formularz;
sorry, ale glupie wydaje mi sie przechowywanie w sesji $_SESSION['login'] hasla uzytkownika... nie lepiej juz przechowywac w $_SESSION['haslo']? |
|
|
![]()
Post
#31
|
|
Grupa: Przyjaciele php.pl Postów: 215 Pomógł: 0 Dołączył: 28.10.2003 Skąd: - Ostrzeżenie: (0%) ![]() ![]() |
Uzyj tego http://pear.php.net/manual/en/package.auth....auth.intro.php
tam wszystko opisane jest w sposob jasny i czytelny ... |
|
|
![]()
Post
#32
|
|
Grupa: Zarejestrowani Postów: 104 Pomógł: 0 Dołączył: 26.10.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
mhs zawsze pojawia sie "Niezalogowany". Kurde dlaczego to nie dzaiala!
|
|
|
![]()
Post
#33
|
|
Grupa: Zarejestrowani Postów: 764 Pomógł: 3 Dołączył: 30.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(MarcinJarek @ 2004-08-28 18:26:35) mhs zawsze pojawia sie "Niezalogowany". Kurde dlaczego to nie dzaiala! prawde powiedziawszy to nie wiem.. sprawdzalem ten skrypt u siebie i wszystko prawidlowo dzialalo.... pojawiaja sie jakies bledy... podajesz dobre dane do formularza (zobacz co masz w bazie danych)... |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 14:30 |