![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 10.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam, jestem dosyć początkujący i od razu wystąpił pewien problem, otóż mam taki sobie tutaj skrypt:
I oczywiście wywala mi błąd Kod Parse error: syntax error, unexpected '<' in /home/sites/i/in/inf/xxx/final.php on line 16 Czy ktoś mógłby mi powiedzieć, co robię nie tak? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 202 Pomógł: 36 Dołączył: 10.06.2011 Skąd: Dokąd Ostrzeżenie: (0%) ![]() ![]() |
Kolego... mysql_query() sie klania.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 548 Pomógł: 105 Dołączył: 4.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
nie masz zamknięcia formularza a to w linii 12 to jak ma niby działać
może powinno być tam mysql_query() poczytaj też o POST i GET |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 10.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Dodałem, przeczytałem o post i get, niby wszystko robię tak jak jest na schematach, ale nijak mi nie chce dodać rekordów do bazy. Ten post edytował wafel611 10.11.2011, 20:22:13 |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 376 Pomógł: 47 Dołączył: 23.08.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Jakie rozszerzenie ma Twoj plik? W formularzu masz wpisana akcje do HTML... Poza tym na dole sprobuj otworzyc skrypt znacznikiem <?php . Generalnie to nie ma znaczenia, ale spotkalem serwery skonfigurowane tak, ze otwarcie <? nie dzialalo.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 10.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Plik ma rozszerzenie .html, próbowałem w php tak samo i nic nie daje. Dopisałem też <?php i nic.
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 376 Pomógł: 47 Dołączył: 23.08.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
1) plik do ktorego wysylasz akcje musi miec rozszerzenie PHP. No chyba, ze ktos ustawil inaczej, ale to graniczy z cudem.
2) Czy ten plik ktory zaprezentowales nazywa sie final.php? 3) Jaki blad Ci sie wyswietla? A moze sie nic nie wyswietla. Daj strukture tabeli, do ktorej dodajesz ten rekord... |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Zapis:
jest nieprawidłowy. Zamykasz formularz zaraz po jego otwarciu, a pole imie i przycisk 'Zatwierdź' znajdują się poza tym formularzem i nie będą przesłane. Powinno być: I pozostaje jeszcze kwestia zapytania. Łańcuchy znaków ze zmiennymi łączymy np. tak: O tym radzę również poczytać. Rozumiem, że serwer www z obsługą PHP masz postawiony i uruchomiony, a pliki znajdują się w odpowiednim katalogu? Pominąłem kwestię budowy tabeli final. Czy mamy rozumieć, że ma ona w tej chwili jedną kolumnę. Jeśli nie, to zapytanie również nie zadziała. Posłuchaj rad Kaloryfera - parafrazując "ogrzej się". Ten post edytował mortus 10.11.2011, 21:17:51 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 10.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Dalej nic. Tabela posiada jedną kolumnę, nic więcej. Żadnego błędu. Sprawdziłem też czy dobrze łączy się z bazą danych, nie ma z tym żadnego problemu, nie ma żadnych błędów. Ten post edytował wafel611 10.11.2011, 22:35:50 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 590 Pomógł: 107 Dołączył: 25.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
Może jestem przewrażliwiony, ale...
1. w tym przykładzie wszystko co zaczyna się od mysql_ jest FUNKCJĄ. Jak wiadomo, istotą funkcji jest zwracanie pewnych wartości. 2. mysql_connect zwraca wartość typu resource, warto tę wartość zbadać (mimo, że jest "or die...") 3. mysql_select_db jest funkcją, której przekazuje się jeden (opcjonalnie dwa) argumenty. Pierwszym, obowiązkowym, jest nazwa tabeli. Drugim (opcjonalnym) jest resource (zwrócone przez funkcję mysql_connect). U Ciebie są cztery - po kiego grzyba? Czytałeś w ogóle manual, czy wywołujesz funkcje "na czuja"? Jeśli to drugie, to nie dziw się 4. mysql_query - tu też warto zbadać wynik funkcji. A tak w ogóle, to w celu zdiagnozowania kodu powinieneś: 1. na końcu użyć (w celu debugu) funkcji mysql_num_rows 2. zamiast mysql_query("INSERT INTO final VALUES('{$_POST['imie']}')"); użyj: Kod $query="INSERT INTO final VALUES('{$_POST['imie']}')"; echo "$query"; $result=mysql_query ($query); ... przynajmniej do czasu, kiedy nie nabędziesz biegłości w konstruowaniu zapytań sql. P.S. Jesteś pewien, że cztery apostrofy w jednym query do mysql nie robią kuku całej operacji? Spacja po "VALUES" nie wydaje Ci się potrzebna? |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 10.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
echo $query i $res dawało Kod INSERT INTO final VALUES('xxx') oraz Kod Resource id #2 Skrypt w końcu działa tak jak powinien. Mam jednak pytanie, skąd na końcu? Ten post edytował wafel611 10.11.2011, 23:34:21 |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 376 Pomógł: 47 Dołączył: 23.08.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Cytat Jesteś pewien, że cztery apostrofy w jednym query do mysql nie robią kuku całej operacji? 1) Apostrofy sa konieczne przy wstawianiu wartosci tekstowych... przynajmniej w tym wypadku. A w tablicy... czy napiszesz $_POST['imie'] czy $_POST["imie"] to jest wszystko jedno. Sam uzywam apostrofow od kilku lat i nigdy nie mam problemow. Mozna to jeszcze napisac tak i nie bedzie problemu (no chyba, ze literowke zrobilem ![]() Cytat Spacja po "VALUES" nie wydaje Ci się potrzebna? Mnie wydaje sie niepotrzebna... @wafel611 1) Dodaje Ci pusty rekord czy nic nie dodaje? 2) Daj strukture bazy danych. Jakiego typu masz to pole w bazie, do ktorego wstawiasz rekord? Ten post edytował Kaloryfer 10.11.2011, 23:42:10 |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 10.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Dodaje już mi każdy rekord. Jedna tabela, jedno pole 'imie' text bez atrybutów. Problem rozwiązany już jest. Dziękuję wszystkim za pomoc, następnym razem postaram się trochę bardziej pogłówkować
![]() |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 590 Pomógł: 107 Dołączył: 25.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
Mnie wydaje sie niepotrzebna... Wiesz... ja wychodzę z założenia, że nadmierna spacja w query nie narobi zamieszania, a jej brak potrafi namieszać, i to bardzo. Poza tym, sama czytelność kodu jest ciutkę lepsza. Ale ja ekspertem nie jestem, w php piszę amatorsko (a nawet, rzekłbym, że rekreacyjnie). |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 376 Pomógł: 47 Dołączył: 23.08.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Cytat Dodaje już mi każdy rekord. Jedna tabela, jedno pole 'imie' text bez atrybutów. Problem rozwiązany już jest. Dziękuję wszystkim za pomoc, następnym razem postaram się trochę bardziej pogłówkować A moglbys napisac co bylo nie tak? Nastepnym razem daj wiecej informacji, a nie ze nie dziala ![]() Cytat Wiesz... ja wychodzę z założenia, że nadmierna spacja w query nie narobi zamieszania, a jej brak potrafi namieszać, i to bardzo. Poza tym, sama czytelność kodu jest ciutkę lepsza. Ale ja ekspertem nie jestem, w php piszę amatorsko (a nawet, rzekłbym, że rekreacyjnie). Masz racje, czasem tak moze byc, fajny nawyk sobie wypracowales. To prawda, czytelnosc kodu, choc to kwestia indywidualna, moze byc troszke lepsza. Ale w tym przypadku nie byla konieczna po prostu ![]() |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 10.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Po zmienieniu z:
na:
oraz usunięciu niepotrzebnych zmiennych z zaczęło dodawać rekordy. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 00:30 |