![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 19.11.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam, dopiero raczkuję w tej dziedzinie, potrzebuję pomocy ekspertów.
Zrobiłem sobie przykładowy formularz, potrzebuje waszej pomocy aby połączyć go z bazą danych! - powiedzcie mi czy te wszystkie dane zmieszczą się w jednym pliku, czy potrzebne będzie więcej, jak to zrobić i jeszcze jak zainstalować na serwerze. Przykładowy formularz: Co zrobić aby po naciśnięciu przycisku, te dane: "imie", "nazwisko" - zostały wysłane do bazy w której ja sobie je odczytam? Proszę o pomoc, pozdrawiam. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 83 Pomógł: 1 Dołączył: 26.02.2013 Ostrzeżenie: (0%) ![]() ![]() |
Aby połączyć twój formularz z bazą danych potrzebujesz użyć biblioteki mysql lub mysqli(zalecana) http://www.php.net/manual/en/book.mysqli.php. Twój formularz jest błędny bo nie zawiera tagu otwierającego formularz <form action ="plik_do_którego_wysyłasz_dane" method="sposób_przesłania">
http://ti.zs2-stargard.edu.pl/kurs_php/bazy.html http://www.kess.snug.pl/?sid=10&pid=42 http://funkcje.net/view/2/8/64/ http://edodatki.pl/porada-dla-webmasterow/...ze-w-phpmyadmin powyższe linki zawierają dość proste wytłumaczenie jak wykonać podstawowe operacje na bazie z poziomu PHP, tylko funkcje, których używa autor są już przestarzałe i nie powinno się ich używać, natomiast zasada działania ta sama. Ten post edytował q3trm 19.11.2013, 22:54:40 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 19.11.2013 Ostrzeżenie: (0%) ![]() ![]() |
Aby połączyć twój formularz z bazą danych potrzebujesz użyć biblioteki mysql lub mysqli(zalecana) http://www.php.net/manual/en/book.mysqli.php. Twój formularz jest błędny bo nie zawiera tagu otwierającego formularz <form action ="plik_do_którego_wysyłasz_dane" method="sposób_przesłania"> http://ti.zs2-stargard.edu.pl/kurs_php/bazy.html http://www.kess.snug.pl/?sid=10&pid=42 http://funkcje.net/view/2/8/64/ powyższe linki zawierają dość proste wytłumaczenie jak wykonać podstawowe operacje na bazie z poziomu PHP, tylko funkcje, których używa autor są już przestarzałe i nie powinno się ich używać, natomiast zasada działania ta sama. Mam pytanie, wszystkie te linijki kodu wpisuje w notatniku który zapisuje jako rozszerzenie .html czy .php? - moja strona została stworzona w notatniku z rozszerzeniem .html, wszystkie te linijki będę musiał dodać do pliku mojej strony czy utworzyć osobne pliki? @edit. Bazę danych już posiadam. Nie potrafię stworzyć tych plików z linijkami kodu dzięki którym dane zostaną przesłane. Ten post edytował Klusek 19.11.2013, 22:59:09 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 83 Pomógł: 1 Dołączył: 26.02.2013 Ostrzeżenie: (0%) ![]() ![]() |
zawsze zapisuj z rozszerzeniem php. Natomiast kod PHP do obsługi twojego formularza najlepiej umieść w osobnym pliku, czyli w miejsce action podaj nazwę pliku np: "obsluga_formularza.php"<-- twój plik, w którym będą funkcje odpowiedzialne za zapis danych z formularza. Pliki musisz trzymać w tym samym katalogu.
//EDIT Pokaż co już masz, to ci zarysuję jak to powinno wyglądać. Ten post edytował q3trm 19.11.2013, 23:08:00 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 19.11.2013 Ostrzeżenie: (0%) ![]() ![]() |
zawsze zapisuj z rozszerzeniem php. Natomiast kod PHP do obsługi twojego formularza najlepiej umieść w osobnym pliku, czyli w miejsce action podaj nazwę pliku np: "obsluga_formularza.php"<-- twój plik, w którym będą funkcje odpowiedzialne za zapis danych z formularza. Pliki musisz trzymać w tym samym katalogu. //EDIT Pokaż co już masz, to ci zarysuję jak to powinno wyglądać. Przepraszam że tak późno, wcześniej się nie dało. Wyszło mi coś takiego: <form action ="zbiornik_danych" - tutaj podaje plik do którego formularz będzie wysyłał dane? Oraz:
$db = @mysql_select_db('test', $connection) - co mam wypełnić w polu "test"? - od czego jest to @mysql_select_db('?', $connection) |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 83 Pomógł: 1 Dołączył: 26.02.2013 Ostrzeżenie: (0%) ![]() ![]() |
<form action ="zbiornik_danych" - tutaj podaje plik do którego formularz będzie wysyłał dane? Tak, dane nie tylko będą wysłane, ale również zostaniesz przeniesiony do tego pliku. [PHP] pobierz, plaintext <?php $imie = $_POST['imie']; $nazwisko = $_POST['nazwisko']; if($imie and $nazwisko) { $connection = @mysql_connect('mysql1.ph-hos.osemka.pl', '1384962389_f', '123456') or die('Brak połączenia z serwerem MySQL'); $db = @mysql_select_db('test', $connection) or die('Nie mogę połączyć się z bazą danych'); $ins = @mysql_query("INSERT INTO test SET imie='$imie', nazwisko='$nazwisko'"); if($ins) echo "Rekord został dodany poprawnie"; else echo "Błąd nie udało się dodać nowego rekordu"; mysql_close($connection); } ?> [PHP] pobierz, plaintext $db = @mysql_select_db('test', $connection) - co mam wypełnić w polu "test"? - od czego jest to @mysql_select_db('?', $connection) mysql_select_db - służy do wyboru bazy danych na jakiej będziesz operował podczas połączenia z serwerem MySQL, a więc w miejsce 'test' podajesz nazwę bazy danych. Linię 13 zmień na $ins = @mysql_query("INSERT INTO test SET imie='{$imie}', nazwisko='{$nazwisko}''"); w miejsce 'test' musisz wstawić nazwę tabeli do której mają się dodać dane. Każdą zmienną dodawaną do funkcji mysql, która ma być typu CHAR,VARCHAR,TEXT dajesz w apostrof i nawiasy klamrowe, lub takie coś ime='".$imie."' nazwisko='".$nazwisko."' w zależności od wersji PHP jaką masz na serwerze. Ten post edytował q3trm 23.11.2013, 00:07:08 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
nie podawaj swoich passów
![]() pomyśl nad zmiana silnika z mysql_* na mysqli_* lub PDO bo mysql_* znikło już php ![]() |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 19.11.2013 Ostrzeżenie: (0%) ![]() ![]() |
Tak, dane nie tylko będą wysłane, ale również zostaniesz przeniesiony do tego pliku. mysql_select_db - służy do wyboru bazy danych na jakiej będziesz operował podczas połączenia z serwerem MySQL, a więc w miejsce 'test' podajesz nazwę bazy danych. Linię 13 zmień na $ins = @mysql_query("INSERT INTO test SET imie='{$imie}', nazwisko='{$nazwisko}''"); w miejsce 'test' musisz wstawić nazwę tabeli do której mają się dodać dane. Każdą zmienną dodawaną do funkcji mysql, która ma być typu CHAR,VARCHAR,TEXT dajesz w apostrof i nawiasy klamrowe, lub takie coś ime='".$imie."' nazwisko='".$nazwisko."' w zależności od wersji PHP jaką masz na serwerze. nie podawaj swoich passów ![]() pomyśl nad zmiana silnika z mysql_* na mysqli_* lub PDO bo mysql_* znikło już php ![]() Kolejny problem, po wrzuceniu plików na hosting i wejściu na dany adres, nic nie wyskakuje "strona jest zablokowana" - tak jakby nic nie działało. Tak powinien wyglądać formularz? - zapisać go w .html i wrzucić na hosting, co trzeba jeszcze dodać aby pliki siebie obługiwały? |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 19.11.2013 Ostrzeżenie: (0%) ![]() ![]() |
<title>test</title> powinno być w sekcji <head></head> (pomiędzy <html> a <body>)
Używasz ModRewrite, że formularz kierujesz na zbiornik_danych? Prędzej zbiornik_danych.php ![]() Poprawione, lecz po wrzuceniu na hosting i wpisaniu adresu strony, nie pokazuje formularza. Pomocy :/ |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Jakie rozszerzenie ma plik formularza?
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 83 Pomógł: 1 Dołączył: 26.02.2013 Ostrzeżenie: (0%) ![]() ![]() |
Spróbuj ten kod
Polecam najpierw nauczyć się HTML'a a potem brać się za PHP. //EDIT Jeżeli chcesz zobaczyć formularz zaraz po wejściu na stronę musisz go trzymać w pliku index najlepiej z rozszerzeniem .php. Ten post edytował q3trm 23.11.2013, 13:08:00 |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 19.11.2013 Ostrzeżenie: (0%) ![]() ![]() |
Spróbuj ten kod
Polecam najpierw nauczyć się HTML'a a potem brać się za PHP. //EDIT Jeżeli chcesz zobaczyć formularz zaraz po wejściu na stronę musisz go trzymać w pliku index najlepiej z rozszerzeniem .php. Strona działa: http://testtestowyrazdwa.aq.pl/ Lecz teraz kolejna sprawa, "zbiornik_danych.php" - jaki kod trzeba zastosować aby zostały one zapisane? + jak robi się to z tabelami w php my admin, przepraszam że pytam ale na filmikach/tutorialach próbowałem to robić lecz bez skutku. Baza danych stworzona, teraz jak się z nią połączyć i zapisać dane w tabeli? Spróbuj ten kod
Polecam najpierw nauczyć się HTML'a a potem brać się za PHP. //EDIT Jeżeli chcesz zobaczyć formularz zaraz po wejściu na stronę musisz go trzymać w pliku index najlepiej z rozszerzeniem .php. Strona działa: http://testtestowyrazdwa.aq.pl/ Lecz teraz kolejna sprawa, "zbiornik_danych.php" - jaki kod trzeba zastosować aby zostały one zapisane? + jak robi się to z tabelami w php my admin, przepraszam że pytam ale na filmikach/tutorialach próbowałem to robić lecz bez skutku. Baza danych stworzona, teraz jak się z nią połączyć i zapisać dane w tabeli? |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
masz bom w pliku zbiornik_danych.php
![]()
A ten kod to nie jest do tego? |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 19.11.2013 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli chodzi o bom:
http://stackoverflow.com/questions/1742461...-utf-8-with-bom Nie będę przepisywał manuala na nowo, zalecam skorzystanie z mysqli lub pdo... ale wracając do twojego nie szczęsnego kodu to Wygłuszasz błedy @ wiec nie wiesz naprawdę co się tam dzieje... ten warunek if($ins) zostanie zawsze spełniony wiec jest bez sensu, do dodawania do bazy służy właśnie insert tak jak tu masz przejrzyj dokumentacje bo tam jest wszytko opisane : http://us2.php.net/manual/en/ref.mysql.php ewentualnie zajrzyj tu: http://it.dth.pl/id/podstawowy-kurs-jezyka-sql/ btw nie SET bo insert budujesz tak:
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 29.04.2025 - 04:58 |