![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 4.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam, stworzyłem w bazie mysql baze gdzie znajdują się 2 tabele
users:
hasla:
Chciałbym powiązać ze sobą tabele id_hasla. Jak to zrobić oraz jak później te dane odczytać, zapisać nowe oraz jak sprawdzić(IMG:style_emoticons/default/questionmark.gif) Chcę stworzyć logowanie oraz rejestrację i przy rejestracji aby hasło zapisywało się w tabeli hasla a w tabeli users aby w kolumnie id_hasla pokazywal sie identyfikator hasla. W logowaniu abym mógł te dane wyczytywać a potem w edycji profilu zmieniać. Proszę o pomoc i dziękuję. Jestem początkujący jeżeli chodzi o MySQL, jednak wypisywać, edytować, dodawać umiem ale nie w tej sytuacji :/ ps. Chciałbym powiązać te tabele (jak jest taka możliwość) przez kod php :] |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 855 Pomógł: 145 Dołączył: 17.07.2008 Skąd: High Memory Area Ostrzeżenie: (0%) ![]() ![]() |
A dlaczego w ogóle rozbiłeś to na dwie tabele?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 4.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Hmm, z 2 powodów:
1. Chcę się nauczyć jak tworzyć relacje 2. Ponieważ łatwiej mi będzie zarządzać takim układem (bynajmniej tak mi się wydaję) |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
1) Ale tutaj nie ma relacji. Hasło jest pewną "składową" użytkownika (jak jego nazwa czy mail), a nie jakimś "zewnętrznym elementem",
2) Nie za bardzo potrafię sobie wyobrazić jak miałoby to ułatwić życie. Chcesz nauczyć się operacji na relacjach? Zrób sobie bazę danych dla sklepu, forum, bloga, szkoły czy czegokolwiek. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 4.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
no ok, niech wam będzie spróbuje w jednej tabeli zrobić (IMG:style_emoticons/default/smile.gif) a masz może jakiegoś tutoriala lub coś o relacjach? Mam jeszcze pytanie jak zaszyfrować hasło (IMG:style_emoticons/default/smile.gif)
Ten post edytował skala91 18.06.2010, 21:31:24 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 855 Pomógł: 145 Dołączył: 17.07.2008 Skąd: High Memory Area Ostrzeżenie: (0%) ![]() ![]() |
To co próbowałeś zrobić, to byłaby relacja typu 'jeden do jeden'. W sumie nic w tym złego, ale nie bardzo w tym przypadku ma sens.
Najczęściej będziesz się spotykał z relacjami typu 'jeden do wielu' i 'wiele do wielu' (która tak naprawdę jest złożeniem dwóch relacji typu 'jeden do wielu'). Przykład relacji typu jeden do wielu: tabela 'klienci' tabela 'zamowienia' jeden klient może złożyć wiele zamówień. Jak byś to rozwiązał? Jeśli chodzi o szyfrowanie hasła, temat obszerny. Zazwyczaj hasła się nie szyfruje, tylko przepuszcza przez algorytm mieszający typu MD5. To jest temat dosyć rozległy i zasługuje na osobną dyskusję (poza tym jestem przekonany, że w którymś z działów forum znajduje się już dosyć pokaźna dyskusja na ten temat). |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 4.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
no ok dzieki (IMG:style_emoticons/default/winksmiley.jpg)
Proszę o pomoc :/ Mam 2 pliki (IMG:style_emoticons/default/smile.gif) start.php
funkcje.php
Moja tabelka w mysql wygląda tak:
I gdy chcę się zalogować (dane już mam wprowadzone do bazy) wyskakuje mi komunikat: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in D:\WebServ\httpd-users\shoutbox\logowanie.php on line 24 Czy ktoś wie o co chodzi? Podczas rejestracji nie czepia się momentu zliczania :/ ja myślę że błąd leży w tej linijce:
A co wy na to?? Ten post edytował skala91 19.06.2010, 18:37:35 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 855 Pomógł: 145 Dołączył: 17.07.2008 Skąd: High Memory Area Ostrzeżenie: (0%) ![]() ![]() |
A my na to: pokaż co zwraca mysql_error();
PS. Zapoznaj się z tematem SQL injection Ten post edytował Mchl 19.06.2010, 18:51:25 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 4.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
wyskakuje mi:
1065: Zapytanie było puste :/ dzięki za cynk z SQL Injection (IMG:style_emoticons/default/smile.gif) ciekawy sposób (IMG:style_emoticons/default/winksmiley.jpg) jednak trzeba się zabezpieczyć x) Ten post edytował skala91 19.06.2010, 20:17:10 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 471 Pomógł: 89 Dołączył: 29.07.2008 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
no i masz odpowiedz na swoje pytanie |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 855 Pomógł: 145 Dołączył: 17.07.2008 Skąd: High Memory Area Ostrzeżenie: (0%) ![]() ![]() |
wyskakuje mi: 1065: Zapytanie było puste :/ dzięki za cynk z SQL Injection (IMG:style_emoticons/default/smile.gif) ciekawy sposób (IMG:style_emoticons/default/winksmiley.jpg) jednak trzeba się zabezpieczyć x) Podstawa: mysql_real_escape_string() do tekstu i rzutowanie na odpowiednie typy (int, float) dla liczb |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 4.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 19:22 |