[HTML][SQL][PHP]nie chce się połączyć z serwerem |
[HTML][SQL][PHP]nie chce się połączyć z serwerem |
21.07.2019, 08:21:55
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 21.07.2019 Ostrzeżenie: (0%) |
Witam,
proszę o pomoc bo siedzę już nad tematem trochę czasu i mózg mi paruje. Stworzyłem plik index.php w którym jest wyłącznie button, po którego naciśnięciu chcę się połączyć z bazą na ftp. Zacznę od tego że mam problem na etapie funkcji @mysql_connect, gdyż nie jestem pewien czy poprawnie wpisuję wartości (mają być dane takie jak do ftp?). W następnej kolejności chciałbym, aby po połączeniu z bazą została utworzona tabela. Poniżej podaję kod dla obu plików które utworzyłem i wrzuciłem na serwer. Dziękuję za pomoc! index.php <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <form action="form.php" method="post"> <input type="submit" value="dodaj" /> </form> </body> </html> form.php <?php /****************************************************** * connection.php * konfiguracja połączenia z bazą danych ******************************************************/ function connection() { // serwer $mysql_server = "..."; // admin $mysql_admin = "..."; // hasło $mysql_pass = "..."; // nazwa baza $mysql_db = "..."; // nawiązujemy połączenie z serwerem MySQL @mysql_connect($mysql_server, $mysql_admin, $mysql_pass) or die('Brak połączenia z serwerem MySQL.'); // łączymy się z bazą danych @mysql_select_db($mysql_db) or die('Błąd wyboru bazy danych.'); CREATE TABLE $nazwa_tabeli ( $id_tabeli INT NOT NULL AUTO_INCREMENT, PRIMARY KEY ($id_tabeli), $nazwa_produktu text, $seria varchar(100), $data date, $ilosc_sztuk INT, $cena float(53), $typ_towaru text ); } ?> Ten post edytował wfilipunas 21.07.2019, 08:24:08 |
|
|
21.07.2019, 10:56:14
Post
#2
|
|
Grupa: Zarejestrowani Postów: 594 Pomógł: 66 Dołączył: 22.02.2008 Skąd: Dublin Ostrzeżenie: (0%) |
Musisz miec gdzies dane do mysql.
Niektore serwery wymagaja ustawienia bazy poprzez panel podajac nazwe a potem serwer generuje haslo itp Poszukaj gdzies w pomocy swojego providera servera Ten post edytował dublinka 21.07.2019, 10:57:16 -------------------- |
|
|
21.07.2019, 11:57:13
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 21.07.2019 Ostrzeżenie: (0%) |
Wydaje mi się że podalem poprawne dane serwera, usera, hasło i db i mimo wszystko po wyrzuceniu plików na serwer i kliknięciu buttona nic dalej się nie dzieje. Po prostu przekierowuje mnie do form.php I tyle. Nie ma żadnej informacji że poprawnie udało połączyć się z bazą i nie ma również nowo dodanej tabeli.
A może mam jakiś błąd w kodzie? Ten post edytował wfilipunas 21.07.2019, 11:57:36 |
|
|
21.07.2019, 13:14:55
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Wyrzuć wszystkie @. Tego rozszerzenia od lat nie ma już w php więc zamień na pdo albo mysqli.
-------------------- |
|
|
21.07.2019, 14:32:34
Post
#5
|
|
Grupa: Zarejestrowani Postów: 594 Pomógł: 66 Dołączył: 22.02.2008 Skąd: Dublin Ostrzeżenie: (0%) |
Podajesz tam zmienne ktorrych nie udostepniles. Nie wiem czy Ci to umknęło czy tego nie ma.
Kolejna sprawa to to ze ta wersja to juz przezytek. Usun na poczatek wszelkie małpy bo one powoduja ze blad/info nie wyswietli sie. Jesli chcesz pokazac info ze polaczenie nastapilo przypisz jakas zmienna do f() mysqli_connect() i potem sprawdz warunkiem. Wogole to musisz zmienic minimum na mysqli. Ten post edytował dublinka 21.07.2019, 14:37:52 -------------------- |
|
|
21.07.2019, 18:24:22
Post
#6
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 21.07.2019 Ostrzeżenie: (0%) |
dublinka i viking, dziękuję za informację. Poszperałem trochę kierując się Waszymi radami i chyba się udało
Mam połączenie, dodaje mi też nową tabelę. A jak dodać dane z inputów tak, żeby znalazły się w tabeli jako rekordy? Mam utworzoną tabelę. Po wypełnieniu pól i kliknięciu dodaj pojawia się komunikat, że rekord został dodany, ale w tabeli nic się nie pojawia. Parametry tabeli: CREATE TABLE persons( id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, first_name VARCHAR(30) NOT NULL, last_name VARCHAR(30) NOT NULL, email VARCHAR(70) NOT NULL UNIQUE index.php CODE <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <form action="form.php" method="post"> imię:<br /> <input type="text" name="imie" /><br /> nazwisko:<br /> <input type="text" name="nazwisko" /><br /> e-mail:<br /> <input type="text" name="email" /><br /> <input type="submit" value="dodaj" /> </form> </body> </html> form.php: CODE <?php $link = mysqli_connect("178.32.219.12", "1179586_MmS", "moje-haslo", "1179586_MmS"); if (!$link) { echo "Error: Unable to connect to MySQL." . PHP_EOL; echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL; echo "Debugging error: " . mysqli_connect_error() . PHP_EOL; exit; } echo "Success: A proper connection to MySQL was made! The my_db database is great." . PHP_EOL; echo "Host information: " . mysqli_get_host_info($link) . PHP_EOL; $imie = $_POST['imie']; $nazwisko = $_POST['nazwisko']; $email = $_POST['email']; if($imie and $nazwisko and $email) { // dodajemy rekord do bazy $sql = mysqli_query("INSERT INTO persons SET first_name='$imie', last_name='$nazwisko', email='$email'"); if($sql) echo "Rekord został dodany poprawnie"; else echo "Błąd nie udało się dodać nowego rekordu"; } mysqli_close($link); ?> Ten post edytował wfilipunas 21.07.2019, 19:37:13 |
|
|
21.07.2019, 20:36:56
Post
#7
|
|
Grupa: Zarejestrowani Postów: 594 Pomógł: 66 Dołączył: 22.02.2008 Skąd: Dublin Ostrzeżenie: (0%) |
Ale nie polecam takiego rozwiazania. Poczytaj to i uzywaj poprawnie. https://websitebeaver.com/prepared-statemen...t-sql-injection Rozwiazanie znajdziesz pod tytułem "Insert, Update and Delete" Ten post edytował dublinka 21.07.2019, 20:51:37 -------------------- |
|
|
24.07.2019, 19:46:50
Post
#8
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 21.07.2019 Ostrzeżenie: (0%) |
dublinka, dzięki za link. Sprawa okazuje się banalnie prosta. Finalny kod którego użyłem:
CODE <?php $link = mysqli_connect("178.32.219.12", "1179586_MmS", "moje-haslo", "1179586_MmS"); if (!$link) { echo "Error: Unable to connect to MySQL." . PHP_EOL; echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL; echo "Debugging error: " . mysqli_connect_error() . PHP_EOL; exit; } echo "Success: A proper connection to MySQL was made! The my_db database is great." . PHP_EOL; echo "Host information: " . mysqli_get_host_info($link) . PHP_EOL; $imie = $_POST['imie']; $email = $_POST['email']; $sql = "insert into test3(imie, email) values ('$imie', '$email');"; if(mysqli_query($link, $sql)){ echo "Table created successfully."; } else{ echo "ERROR: Could not able to execute $sql. " . mysqli_error($link); } mysqli_close($link); ?> No i oczywiście wcześniej utworzyłem tabelę z odpowiednimi kolumnami. Grunt, że wszystko działa |
|
|
24.07.2019, 20:03:25
Post
#9
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
I jest pięknie podatne na atak.
-------------------- |
|
|
27.07.2019, 12:34:47
Post
#10
|
|
Grupa: Zarejestrowani Postów: 101 Pomógł: 2 Dołączył: 26.04.2019 Ostrzeżenie: (10%) |
|
|
|
27.07.2019, 13:13:24
Post
#11
|
|
Grupa: Zarejestrowani Postów: 594 Pomógł: 66 Dołączył: 22.02.2008 Skąd: Dublin Ostrzeżenie: (0%) |
Proste polączenia z bażą są narażone na ataki i tyle.
@Nidan, powinienes się nauvczyc podstaw. Minęło już sporo czasu jak CI odpowiedaiałem a Ty dalej stoisz. Czekasz na inną odpowiedz ? Ten post edytował dublinka 27.07.2019, 13:30:56 -------------------- |
|
|
27.07.2019, 13:57:48
Post
#12
|
|
Grupa: Zarejestrowani Postów: 101 Pomógł: 2 Dołączył: 26.04.2019 Ostrzeżenie: (10%) |
@Nidan, powinienes się nauvczyc podstaw. Minęło już sporo czasu jak CI odpowiedaiałem a Ty dalej stoisz. Czy zabezpieczanie połączenia z bazą w ten sposób to podstawy? Ja bym powiedział, że podstawą jest łączenie się z bazą a zabezpieczanie połączenia to schodek wyżej |
|
|
28.07.2019, 05:21:29
Post
#13
|
|
Grupa: Zarejestrowani Postów: 594 Pomógł: 66 Dołączył: 22.02.2008 Skąd: Dublin Ostrzeżenie: (0%) |
Czy zabezpieczanie połączenia z bazą w ten sposób to podstawy? Tak podstawy. -------------------- |
|
|
Wersja Lo-Fi | Aktualny czas: 25.04.2024 - 00:55 |