[PHP][MySQL] Problem z przekazaniem danych do bazy, na dynamicznym szablonie strony |
[PHP][MySQL] Problem z przekazaniem danych do bazy, na dynamicznym szablonie strony |
7.09.2019, 21:09:00
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 31.12.2010 Ostrzeżenie: (0%) |
Witam,
zaczynając od kodu ( odpowiednio: index.php, portal.php, 130.php ):
Nigdy nie potrzebowałem połączenia z bazą danych, aż do dziś... Jak widać po kodzie nie jestem jakoś zaawansowany w tych sprawach, ale na własne potrzeby wystarcza ; ) Proszę o pomoc, sugestię, jak mam zdefiniować "form action", aby działało wysyłanie danych z strony zbudowanej w sposób "dynamiczny". Część dynamiczna adresu w/w przypadku to "index.php?page=130". Z góry dziękuję za czas poświęcony mojej osobie!! Ten post edytował kyokun 7.09.2019, 21:59:37 |
|
|
7.09.2019, 21:19:08
Post
#2
|
|
Grupa: Zarejestrowani Postów: 286 Pomógł: 46 Dołączył: 10.01.2016 Ostrzeżenie: (0%) |
Zmień nazwę ostatniego pliku na np. index2.php oraz wyrzuć kod PHP do pliku 130.php.
130.php: Cały kod pod spodem tego wrzuć do 130.php, a to powyżej razem z tym wrzuć do pliku index2.php. Chodzi o to, że gdy masz napisane w form action="pages/130.php", to wtedy zostaniesz tam przekierowany, a że coś chyba namieszałeś, to nie powinno działać jak trzeba. Po przekierowaniu na pages/130.php może być np. uruchomiony odpowiedni skrypt, np. łączenia się z bazą danych. Ten post edytował Neutral 7.09.2019, 21:31:26 |
|
|
7.09.2019, 21:56:57
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 31.12.2010 Ostrzeżenie: (0%) |
jeszcze przed edycją, wpisałem coś takiego:
metoda "prób i błędów" ; ) w przypadku jak mam dynamicznie otworzoną podstronę "130.php", widzę formularz, nic nie uzupełniam ( nie mam jeszcze wstawione, że niektóre pola są wymagane ), klikam "dodaj" i strona się odświeża, ale jestem na tej samej stronie w momencie, jak uzupełnię inputy losowymi wartościami i teraz klikam "dodaj" wyrzuca mi ( okroję komunikat z danych strony ):
linia 39 z 130.php, to:
dane ( ukryłem ) mam raczej dobrze uzupełnione, ponieważ na tych samych danych działa mi skrypt logowania i sprawdzania sesji linia 12 z portal.php, to:
linia 23 z index.php, to:
pełne pliki są w pierwszym poście, nie mam zielonego pojęcia, co ten error do mnie "mówi"... |
|
|
7.09.2019, 22:08:39
Post
#4
|
|
Grupa: Zarejestrowani Postów: 286 Pomógł: 46 Dołączył: 10.01.2016 Ostrzeżenie: (0%) |
Po pierwsze nie używaj @, ponieważ tylko ukrywasz błędy. Nie używaj także mysql, ponieważ to zostało usunięte w wersji 7. i jeśli korzystasz z najnowszej wersji to nic dziwnego, że taki błąd Ci poleciał. Zamiast tego korzystaj tylko z mysqli i/lub PDO.
Do sprawdzania, co masz zainstalowane/skonfigurowane możesz zastosować taką linię kodu phpinfo();. Później naciśnij Ctrl+F i wpisz tam w pole wyszukiwania mysql, zobaczysz, że tego nie masz w wersji 7. Ten post edytował Neutral 8.09.2019, 19:43:17 |
|
|
8.09.2019, 11:21:10
Post
#5
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 31.12.2010 Ostrzeżenie: (0%) |
CODE <?php if(!$add_site) exit; ?> <br /><br /> <form method="post" action="index.php?page=130"> <label for="nazwa">Nazwa:</label> <input maxlength="255" type="text" name="nazwa" id="nazwa" required><br /><br /> <label for="adres_1">Adres (1):</label> <input maxlength="255" type="text" name="adres_1" id="adres_1" required><br /><br /> <label for="adres_2">Adres (2):</label> <input maxlength="255" type="text" name="adres_2" id="adres_2" required><br /><br /> <label for="kontakt_os">Osoba kontaktowa:</label> <input maxlength="255" type="text" name="kontakt_os" id="kontakt_os" required><br /><br /> <label for="kontakt_te">Numer kontaktowy:</label> <input maxlength="255" type="text" name="kontakt_te" id="kontakt_te" required><br /><br /><br /> <input type="submit" value="Dodaj!"><br /><br /><br /> </form> <br /><br /> <?php if ($_POST) { $con = mysql_connect("{xyz}","{xyz}","{xyz}"); if (!$con) { die("<p class='error'>Brak połączenia z bazą MySQL: " .mysql_error(). "</p>"); } mysql_select_db("{xyz}", $con) or die("<p class='error'>Brak połączenia z tablicą MySQL: " .mysql_error(). "</p>"); $sql = "INSERT INTO klienci (nazwa, adres_1, adres_2, kontakt_os, kontakt_te) VALUES ('$_POST[nazwa]', '$_POST[adres_1]', '$_POST[adres_2]', '$_POST[kontakt_os]', '$_POST[kontakt_te]')"; if (!mysql_query($sql,$con)) { die("<p class='error'>Błąd: " .mysql_error(). "</p>"); } echo "<p class='success'>Dodano nowe dane!</p>"; mysql_close($con); } ?> zakładając moje potrzeby, zmieniłem na PHP5.6, poprawiłem literówkę i działa ; ) Neutral, dziękuję za pomoc! Ten post edytował kyokun 8.09.2019, 11:23:45 |
|
|
8.09.2019, 11:28:39
Post
#6
|
|
Grupa: Zarejestrowani Postów: 594 Pomógł: 66 Dołączył: 22.02.2008 Skąd: Dublin Ostrzeżenie: (0%) |
stosuj mysqli lub pdo
https://www.w3schools.com/php/php_mysql_connect.asp Ten post edytował dublinka 8.09.2019, 11:35:52 -------------------- |
|
|
Wersja Lo-Fi | Aktualny czas: 25.04.2024 - 00:16 |