Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][MySQL][PHP]Formularz, dlaczego nie działa ?
Forum PHP.pl > Forum > Przedszkole
gizmo1985
Witam
mam taki formularz, ale niestety nie do końca mi działa
Zasada jest taka, że wyświetla się formularz, jeżeli źle wypełniono, to wyświetla pogrubiony komunikat, że wymaga się podania wszystkich pól...
Jeżeli wszyzstko ok, to dodaje do bazy i wyświetla komunikat, że dodano...ale z jakiejś winy mi to nie działa

Może jakieś pomysłu ?

  1. <?php
  2. include "conn.inc.php";
  3. ?>
  4. <html>
  5. <head>
  6. <title>Uzupe?nij dane</title>
  7. </head>
  8. <body>
  9.  
  10. <?php
  11.  
  12. if (isset($_POST['submit']) && $_POST['submit'] == "Uzupe?nij") {
  13. if ($_POST['nazwa_pracodawcy'] != "" &&
  14. $_POST['od_do'] != "" &&
  15. $_POST['stanowisko'] != "" &&
  16. $_POST['jezyk'] != "" &&
  17. $_POST['stopien_zaawansowania'] != "" &&
  18. $_POST['nazwa_kursu'] != "" &&
  19. $_POST['stopien_kursu'] != "" &&
  20. $_POST['tytul_uzyskany'] != "" &&
  21. $_POST['kategoria'] != "" &&
  22. $_POST['rok_wyrobienia'] != "" &&
  23. $_POST['nazwa_szkoly'] != "" &&
  24. $_POST['rok_ukonczenia'] != "" &&
  25. $_POST['uzyskany_tytul'] != "" )
  26. {
  27.  
  28.  
  29.  
  30. $query = "INSERT INTO osoba (login, haslo, imie,nazwisko, data_ur, miasto, wojewodztwo, kod_pocztowy, nr_tel, email, kat_prawa_jazdy)".
  31.  
  32. "VALUES ('" . $_POST['login'] . "', " .
  33. "'" . $_POST['haslo'] . "', '" .
  34. $_POST['imie'] . "', '" . $_POST['nazwisko'] .
  35. "','" . $_POST['data_ur'] . "','" . $_POST['miasto'] . "','" . $_POST
  36.  
  37. ['wojewodztwo'] . "','" . $_POST['kod_pocztowy'] . "','" . $_POST
  38.  
  39. ['nr_tel'] . "','" . $_POST['email'] . "', '" . $_POST
  40.  
  41. ['kat_prawa_jazdy'] . "')";
  42.  
  43. $result = mysql_query($query)
  44.  
  45.  
  46. $query1 = "INSERT INTO praca (nazwa_pracodawcy, od_do, stanowisko, id_osoby) VALUES ('" .$_POST['nazwa_pracodawcy']. "', '" .$_POST['od_do']. "', '" .$_POST['stanowisko']. "', '" .$_SESSION['user_id']. "')";
  47. $result1 = mysql_query($query1)
  48.  
  49. $query2 = "INSERT INTO wyksztalcenie (nazwa_szkoly, rok_ukonczenia, uzyskany_tytul, id_osoby ) VALUES ('".$POST['nazwa_szkoly']."' , '".$POST['rok_ukonczenia']."' , '".$POST['uzyskany_tytul']."', '" .$_SESSION['user_id']. "')";
  50. $result2 = mysql_query($query2)
  51.  
  52.  
  53. $query3 = "INSERT INTO kurs (nazwa_kursu, stopien_kursu, tytul_uzyskany, id_osoby ) VALUES ('".$POST['nazwa_kursu']."' , '".$POST['stopien_kursu']."' , '".$POST['tytul_uzyskany']."', '" .$_SESSION['user_id']. "')";
  54. $result3 = mysql_query($query3)
  55.  
  56. $query4 = "INSERT INTO jezyk (jezyk, stopien_zaawansowania, id_osoby ) VALUES ('".$POST['jezyk']."' , '".$POST['stopien_zaawansowania']."', '" .$_SESSION['user_id']. "')";
  57. $result4 = mysql_query($query4)
  58.  
  59.  
  60. // zakładasz że wszystkio ładnie dodało:)
  61. //header('Location: szukaj.php'); // adres strony gdzie przechodzi
  62. //exit;
  63. echo "Dane uaktualnione ";
  64.  
  65. } else {
  66.  
  67. echo "BŁĄD DODANIA";
  68. ?>
  69. <p>
  70. <font color="#FF0000"><b>Wymagane jest podanie wszystkich danych dla zako?czenia
  71.  
  72. procesu rejestracji!</b></font>
  73.  
  74. <form action="aktualizacja.php" method="post">
  75.  
  76. Nazwa Pracodawcy: <input type="text" name="nazwa_pracodawcy">
  77. value="<?php echo $_POST['nazwa_pracodawcy']; ?>"><br>
  78.  
  79. Zatrudniony od (rok): <input type="text" name="od_do">
  80. value="<?php echo $_POST['od_do']; ?>"><br>
  81.  
  82. Zajmowane stanowisko: <input type="text" name="stanowisko">
  83. value="<?php echo $_POST['stanowisko']; ?>"><br>
  84.  
  85. J?zyk: <input type="text" name="jezyk">
  86. value="<?php echo $_POST['jezyk']; ?>"><br>
  87.  
  88. Poziom zaawansowania: <input type="text" name="stopien_zaawansowania">
  89. value="<?php echo $_POST['stopien_zaawansowania']; ?>"><br>
  90.  
  91. Przebyty kurs: <input type="text" name="nazwa_kursu">
  92. value="<?php echo $_POST['nazwa_kursu']; ?>"><br>
  93.  
  94. Stopie? zaawansowania kursu: <input type="text" name="stopien_kursu">
  95. value="<?php echo $_POST['stopien_kursu']; ?>"><br>
  96.  
  97. Uzyskany tytu?: <input type="int" name="tytul_uzyskany">
  98. value="<?php echo $_POST['tytul_uzyskany']; ?>"><br>
  99.  
  100. Kategoria prawa jazdy: <input type="int" name="kategoria_prawa_jazdy">
  101. value="<?php echo $_POST['kategoria']; ?>"><br>
  102.  
  103. Rok wyrobienia: <input type="text" name="rok_wyrobienia"><br>
  104. value="<?php echo $_POST['rok_wyrobienia']; ?>"><br>
  105.  
  106. Nazwa szko?y: <input type="text" name="nazwa_szkoly">
  107. value="<?php echo $_POST['nazwa_szkoly']; ?>"><br>
  108.  
  109. Rok ukocznenia szkoly: <input type="text" name="rok_ukonczenia">
  110. value="<?php echo $_POST['rok_ukonczenia']; ?>"><br>
  111.  
  112. Tytu? uzyskany: <input type="text" name="uzyskany_tytul"><br>
  113. value="<?php echo $_POST['uzyskany_tytul']; ?>"><br>
  114.  
  115.  
  116. <input type="submit" name="submit" value="Uzupełnij">
  117. <input type="reset" value="Wyczy??">
  118. </form>
  119. </p>
  120.  
  121.  
  122. <?php
  123.  
  124.  
  125.  
  126. }
  127. }
  128. echo "id dla sesji: ";
  129. echo $_SESSION['user_id'];
  130.  
  131. ?>
  132. <p>
  133.  
  134.  
  135.  
  136. <form action="aktualizacja.php" method="post">
  137.  
  138.  
  139.  
  140. Nazwa Pracodawcy: <input type="text" name="nazwa_pracodawcy"><br>
  141.  
  142. Zatrudniony od (rok): <input type="text" name="od_do"><br>
  143.  
  144. Zajmowane stanowisko: <input type="text" name="stanowisko"><br>
  145.  
  146.  
  147. J?zyk: <input type="text" name="jezyk"><br>
  148.  
  149.  
  150. Poziom zaawansowania: <input type="text" name="stopien_zaawansowania"><br>
  151.  
  152.  
  153. Przebyty kurs: <input type="text" name="nazwa_kursu"><br>
  154.  
  155.  
  156. Stopie? zaawansowania kursu: <input type="text" name="stopien_kursu"><br>
  157.  
  158.  
  159. Uzyskany tytu?: <input type="int" name="tytul_uzyskany"><br>
  160.  
  161.  
  162. Kategoria prawa jazdy: <input type="int" name="kategoria_prawa_jazdy"><br>
  163.  
  164.  
  165. Rok wyrobienia: <input type="text" name="rok_wyrobienia"><br>
  166.  
  167.  
  168. Nazwa szko?y: <input type="text" name="nazwa_szkoly"><br>
  169.  
  170.  
  171. Rok ukocznenia szkoly: <input type="text" name="rok_ukonczenia"><br>
  172.  
  173.  
  174. Tytu? uzyskany: <input type="text" name="uzyskany_tytul"><br>
  175.  
  176.  
  177.  
  178. <input type="submit" name="submit" value="Uzupełnij">
  179. <input type="reset" value="Wyczy??">
  180. </form>
  181. </p>
  182.  
  183.  
  184.  
  185. </body>
  186. </html>
Kszyhuu
Tak przejrzałem pobieżnie, bo nie mam teraz czasu na dokładne prześledzenie, ale jedno, co rzuciło mi się w oczy to to, że dodając do bazy dane przez insert into, w przypadku wartości liczbowych nie ujmujemy ich pomiędzy ''.
Insert into tabela (imię, wiek) values ('Kszyhuu', 17).
Poza tym to mi się nie podoba tongue.gif :
  1. $query = "INSERT INTO osoba (login, haslo, imie,nazwisko, data_ur, miasto, wojewodztwo, kod_pocztowy, nr_tel, email, kat_prawa_jazdy)".
  2.  
  3. "VALUES ('" . $_POST['login'] . "', " .
  4. "'" . $_POST['haslo'] . "', '" .
  5. $_POST['imie'] . "', '" . $_POST['nazwisko'] .
  6. "','" . $_POST['data_ur'] . "','" . $_POST['miasto'] . "','" . $_POST
  7.  
  8. ['wojewodztwo'] . "','" . $_POST['kod_pocztowy'] . "','" . $_POST
  9.  
  10. ['nr_tel'] . "','" . $_POST['email'] . "', '" . $_POST
  11.  
  12. ['kat_prawa_jazdy'] . "')";
  13.  
  14. $result = mysql_query($query)

Ogólnie takie coś:
  1. $query = "zapytanie";
  2. $result = mysql_query($query);

Pozamieniałbym na:
  1. $result = mysql_query("zapytanie");

I nie jestem pewien, ale chyba gdzieś rzuciło mi się w oko, że średnika nie ma, ale nie chce mi się już szukać. Pozdro. smile.gif
Cysiaczek
Ok. Dwie informacje

1. Kiedy występuje błąd
2. Co się dzieje mimo, że nie powinno się dziać

Jak sobie wyobrażasz możliwość pomocy Tobie, gdy nie wiadomo co nie działa? hm? Chyba nie chcesz, aby ktoś wstawił za Ciebie testowe echo "jak to widać to jest to źle".

Pozdrawiam
gizmo1985
Generalnie sam formularz się wyświetla, ale ...

Powinno po wykonaniu wykonać echo i poinformować,że dodano, a co z tym idzie, dodać do bazy...nie robi tego winksmiley.jpg To raz

Dwa, jeżeli nie wypełnię wszystkiego powinno wyświetlić na czerwono, że wszystkie pola są wymagane i kazać wprowadzić ponownie...nie robi tego....
Kszyhuu
Sprawdziłeś to, co napisałem?
Rysh
A mi nie pasuje:
  1. if (isset($_POST['submit']) && $_POST['submit'] == "Uzupe?nij") {

  1. <input type="submit" name="submit" value="Uzupełnij">
gizmo1985
Kszyhuu ... tak, sprawdziłem, ale nic to nie dało...
Co do średnika, to nie umiem znaleźć, a wygląda mi, że to może być problem średnika, bo wyglada, jakby poprostu nie przechodził dalej ...

Rysh .... Wyskakuje mi błąd składni :/ sad.gif
Rysh
Jaki błąd dokładnie?

  1. $query = "INSERT INTO osoba (login, haslo, imie, nazwisko, data_ur, miasto, wojewodztwo, kod_pocztowy, nr_tel, email, kat_prawa_jazdy) VALUES ('". $_POST['login'] ."', '". $_POST['haslo'] ."', '". $_POST['imie'] ."', '". $_POST['nazwisko'] ."', '". $_POST['data_ur'] ."', '". $_POST['miasto'] ."', '". $_POST['wojewodztwo'] ."', '". $_POST['kod_pocztowy'] ."', '". $_POST['nr_tel'] ."', '". $_POST['email'] ."', '". $_POST['kat_prawa_jazdy'] ."')";


Podmień te zapytania i zobacz czy pójdzie.

//okazała się literówka winksmiley.jpg
http://forum.php.pl/index.php?showtopic=14...st&p=718752
gizmo1985
unexpected T_String

Zmiana zapytania nic nie dała....ech... gdzieś musiałem coś skopać, ale nie wiem , gdzie winksmiley.jpg definitywnie wygląda na błąd składniowy, bo rejestrację mam podobnie zrobioną i działa...

Generalnie wyświetla formularz i nic się nie dzieje, po naciśnięciu UZUPEŁNIJ
Kszyhuu
  1. if (isset($_POST['submit']) && $_POST['submit'] == "Uzupe?nij") {

Czemu masz coś takiego?
Weź to:
  1. <form action="aktualizacja.php" method="post">

Zamień na:
  1. <form action="aktualizacja.php?krok=wykonaj" method="post">

I zmień całość kodu php, dodając
  1. if (isset ($_GET['krok']) && $_GET['krok'] == 'wykonaj'){

Czyli jeżeli w kodzie nie ma innych błędów, to całość będzie wyglądała tak:

  1. <?php
  2. include "conn.inc.php";
  3. ?>
  4. <html>
  5. <head>
  6. <title>Uzupełnij dane</title>
  7. </head>
  8. <body>
  9.  
  10. <?php
  11.  
  12. if (isset ($_GET['krok']) && $_GET['krok'] == 'wykonaj'){
  13. if ($_POST['nazwa_pracodawcy'] != "" &&
  14. $_POST['od_do'] != "" &&
  15. $_POST['stanowisko'] != "" &&
  16. $_POST['jezyk'] != "" &&
  17. $_POST['stopien_zaawansowania'] != "" &&
  18. $_POST['nazwa_kursu'] != "" &&
  19. $_POST['stopien_kursu'] != "" &&
  20. $_POST['tytul_uzyskany'] != "" &&
  21. $_POST['kategoria'] != "" &&
  22. $_POST['rok_wyrobienia'] != "" &&
  23. $_POST['nazwa_szkoly'] != "" &&
  24. $_POST['rok_ukonczenia'] != "" &&
  25. $_POST['uzyskany_tytul'] != "" )
  26. {
  27.  
  28.  
  29.  
  30. $query = "INSERT INTO osoba (login, haslo, imie,nazwisko, data_ur, miasto, wojewodztwo, kod_pocztowy, nr_tel, email, kat_prawa_jazdy)".
  31.  
  32. "VALUES ('" . $_POST['login'] . "', " .
  33. "'" . $_POST['haslo'] . "', '" .
  34. $_POST['imie'] . "', '" . $_POST['nazwisko'] .
  35. "','" . $_POST['data_ur'] . "','" . $_POST['miasto'] . "','" . $_POST
  36.  
  37. ['wojewodztwo'] . "','" . $_POST['kod_pocztowy'] . "','" . $_POST
  38.  
  39. ['nr_tel'] . "','" . $_POST['email'] . "', '" . $_POST
  40.  
  41. ['kat_prawa_jazdy'] . "')";
  42.  
  43. $result = mysql_query($query)
  44.  
  45.  
  46. $query1 = "INSERT INTO praca (nazwa_pracodawcy, od_do, stanowisko, id_osoby) VALUES ('" .$_POST['nazwa_pracodawcy']. "', '" .$_POST['od_do']. "', '" .$_POST['stanowisko']. "', '" .$_SESSION['user_id']. "')";
  47. $result1 = mysql_query($query1)
  48.  
  49. $query2 = "INSERT INTO wyksztalcenie (nazwa_szkoly, rok_ukonczenia, uzyskany_tytul, id_osoby ) VALUES ('".$POST['nazwa_szkoly']."' , '".$POST['rok_ukonczenia']."' , '".$POST['uzyskany_tytul']."', '" .$_SESSION['user_id']. "')";
  50. $result2 = mysql_query($query2)
  51.  
  52.  
  53. $query3 = "INSERT INTO kurs (nazwa_kursu, stopien_kursu, tytul_uzyskany, id_osoby ) VALUES ('".$POST['nazwa_kursu']."' , '".$POST['stopien_kursu']."' , '".$POST['tytul_uzyskany']."', '" .$_SESSION['user_id']. "')";
  54. $result3 = mysql_query($query3)
  55.  
  56. $query4 = "INSERT INTO jezyk (jezyk, stopien_zaawansowania, id_osoby ) VALUES ('".$POST['jezyk']."' , '".$POST['stopien_zaawansowania']."', '" .$_SESSION['user_id']. "')";
  57. $result4 = mysql_query($query4)
  58.  
  59.  
  60. // zakładasz że wszystkio ładnie dodało:)
  61. //header('Location: szukaj.php'); // adres strony gdzie przechodzi
  62. //exit;
  63. echo "Dane uaktualnione ";
  64.  
  65. } else {
  66.  
  67. echo "BŁĄD DODANIA";
  68. ?>
  69. <p>
  70. <font color="#FF0000"><b>Wymagane jest podanie wszystkich danych dla zako?czenia
  71.  
  72. procesu rejestracji!</b></font>
  73.  
  74. <form action="aktualizacja.php?krok=wykonaj" method="post">
  75.  
  76. Nazwa Pracodawcy: <input type="text" name="nazwa_pracodawcy">
  77. value="<?php echo $_POST['nazwa_pracodawcy']; ?>"><br>
  78.  
  79. Zatrudniony od (rok): <input type="text" name="od_do">
  80. value="<?php echo $_POST['od_do']; ?>"><br>
  81.  
  82. Zajmowane stanowisko: <input type="text" name="stanowisko">
  83. value="<?php echo $_POST['stanowisko']; ?>"><br>
  84.  
  85. J?zyk: <input type="text" name="jezyk">
  86. value="<?php echo $_POST['jezyk']; ?>"><br>
  87.  
  88. Poziom zaawansowania: <input type="text" name="stopien_zaawansowania">
  89. value="<?php echo $_POST['stopien_zaawansowania']; ?>"><br>
  90.  
  91. Przebyty kurs: <input type="text" name="nazwa_kursu">
  92. value="<?php echo $_POST['nazwa_kursu']; ?>"><br>
  93.  
  94. Stopie? zaawansowania kursu: <input type="text" name="stopien_kursu">
  95. value="<?php echo $_POST['stopien_kursu']; ?>"><br>
  96.  
  97. Uzyskany tytu?: <input type="int" name="tytul_uzyskany">
  98. value="<?php echo $_POST['tytul_uzyskany']; ?>"><br>
  99.  
  100. Kategoria prawa jazdy: <input type="int" name="kategoria_prawa_jazdy">
  101. value="<?php echo $_POST['kategoria']; ?>"><br>
  102.  
  103. Rok wyrobienia: <input type="text" name="rok_wyrobienia"><br>
  104. value="<?php echo $_POST['rok_wyrobienia']; ?>"><br>
  105.  
  106. Nazwa szko?y: <input type="text" name="nazwa_szkoly">
  107. value="<?php echo $_POST['nazwa_szkoly']; ?>"><br>
  108.  
  109. Rok ukocznenia szkoly: <input type="text" name="rok_ukonczenia">
  110. value="<?php echo $_POST['rok_ukonczenia']; ?>"><br>
  111.  
  112. Tytu? uzyskany: <input type="text" name="uzyskany_tytul"><br>
  113. value="<?php echo $_POST['uzyskany_tytul']; ?>"><br>
  114.  
  115.  
  116. <input type="submit" name="submit" value="Uzupełnij">
  117. <input type="reset" value="Wyczy??">
  118. </form>
  119. </p>
  120.  
  121.  
  122. <?php
  123.  
  124.  
  125.  
  126. }
  127. }
  128. echo "id dla sesji: ";
  129. echo $_SESSION['user_id'];
  130.  
  131. ?>
  132. <p>
  133.  
  134.  
  135.  
  136. <form action="aktualizacja.php?krok=wykonaj" method="post">
  137.  
  138.  
  139.  
  140. Nazwa Pracodawcy: <input type="text" name="nazwa_pracodawcy"><br>
  141.  
  142. Zatrudniony od (rok): <input type="text" name="od_do"><br>
  143.  
  144. Zajmowane stanowisko: <input type="text" name="stanowisko"><br>
  145.  
  146.  
  147. J?zyk: <input type="text" name="jezyk"><br>
  148.  
  149.  
  150. Poziom zaawansowania: <input type="text" name="stopien_zaawansowania"><br>
  151.  
  152.  
  153. Przebyty kurs: <input type="text" name="nazwa_kursu"><br>
  154.  
  155.  
  156. Stopie? zaawansowania kursu: <input type="text" name="stopien_kursu"><br>
  157.  
  158.  
  159. Uzyskany tytu?: <input type="int" name="tytul_uzyskany"><br>
  160.  
  161.  
  162. Kategoria prawa jazdy: <input type="int" name="kategoria_prawa_jazdy"><br>
  163.  
  164.  
  165. Rok wyrobienia: <input type="text" name="rok_wyrobienia"><br>
  166.  
  167.  
  168. Nazwa szko?y: <input type="text" name="nazwa_szkoly"><br>
  169.  
  170.  
  171. Rok ukocznenia szkoly: <input type="text" name="rok_ukonczenia"><br>
  172.  
  173.  
  174. Tytu? uzyskany: <input type="text" name="uzyskany_tytul"><br>
  175.  
  176.  
  177.  
  178. <input type="submit" name="submit" value="Uzupełnij">
  179. <input type="reset" value="Wyczy??">
  180. </form>
  181. </p>
  182.  
  183.  
  184.  
  185. </body>
  186. </html>

Wklej to i powiedz co wyskoczy, bądź co się stanie.
gizmo1985
Generalnie już wszystko działa winksmiley.jpg , podsumowując winksmiley.jpg
1. Nie działało wcale
2. Omijało obie instrukcje if
3. Nie chciało wykonywać zapytań smile.gif


Posumowujące rozwiązania smile.gif
1. Nie zgodność poleceń w :
  1.  
  2. if (isset($_POST['submit']) && $_POST['submit'] == "Uzupelnij") {


W jednym miejscu miałem z polskim znakiem w innym bez smile.gif Naprawiono

2. Omijało funkcje IF, ponieważ

  1. $_POST['kategoria'] != "" &&


Nie zgadzało się z kolumną tabeli, która nazywała się kategoria_prawa_jazdy ...
Pętla zakładała, że to pole jest nie wypełnione i prosiła o ponowne wypełnienie wszystkich pól ... NAPRAWIONO

3. NIe chciało wykonywać poleceń, bo użyłem $POST, zamiast $_POST


Także jak widać wszystkie błędy powstały głównie ze względu na gapiostwo, jednak dobrze, że razem je wyeliminowaliśmy, za co bardzo Wam dziękuję winksmiley.jpg Pewnie jeszcze tutaj napiszę winksmiley.jpg w każdym razie dzięki temu robota poszła do przodu .... Wszystkim zainteresowanym daję po punkcie do pomocy winksmiley.jpg


Pozdrawiam i ten temat uważam za zamknięty smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.