Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Częściowe wypełnienie formularza
trebron
post 29.12.2022, 01:16:48
Post #1





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 8.11.2020

Ostrzeżenie: (0%)
-----


Witam.
Mam dylemat z częściowym wypełnieniem formularza dodawania napisów do filmu. W opisie filmu- filmy.php mam buton Wstaw napisy, po kliknieciu w niego przechodzi do pliku napisy.php gdzie znajduje się formularz w ktorym to moim celem jest aby pola name oraz id filmu były automatycznie wypełnione z danego filmu. Próbuję metodą POST lub GET oraz Submit dodać w pliku filmy,php ale zamiast przeniesc do pliku napisy.php i wypełnić pola, dodaje napisy do bazy.
Proszę o pomoc w jaki sposób to sformułować w pliku filmy.php wg formularza w napisy.php
Tak mam w pliku filmy,php
  1. print("<form method='post' action=napisy.php>\n");
  2. print("<input type=text name=id size=4>\n");
  3. print("<input type=text name=title size=4>\n");
  4. print("<input type='submit' value='Wstaw' class='klawisz_green' style='padding:3px 30px;'>\n");
  5. print("</form>\n");


Formularz w pliku napisy.php

  1. print("<form enctype='multipart/form-data' method='post' action=?>");
  2. print("<table class='text' width='600px' border='0' cellspacing='0' cellpadding='0'>");
  3. print("<tr><td class='naglowek' colspan='2'>Wstaw plik z napisami - aktualnie baza zawiera pliki: o wadze: ".mksize($size)."</td></tr>");
  4. print("<tr><td class='tableBody'>Tytuł</td><td class='tableBody1'><input type=text name=title size=60></td></tr>\n");
  5. print("<tr><td class='tableBody'>Plik</td><td class='tableBody1'><input type=file name=file size=45><br>(Maksymalna wielkośś: $maxfilesize.)</td></tr>\n");
  6. print("<tr><td class='tableBody'>ID filmu</td><td class='tableBody1'><input type=text name=id size=20></td></tr>\n");
  7. print("<tr><td class='tableBody'>CD</td><td class='tableBody1'>
  8. <select class=select name=ucd>
  9. <option value=1 selected>1</option>
  10. <option value=2>2</option>
  11. <option value=3>3</option>
  12. <option value=4>4</option>
  13. <option value=5>5</option>
  14. <option value=6>6</option>
  15. </select>
  16. <input type=text name=cd size=4><br>Domyślnie: 1</td></tr>");
  17. print("<tr><td class='tableBody'>Klatki</td><td class='tableBody1'>
  18. <select class=select name=ufps>
  19. <option value=15.000>15.000</option>
  20. <option value=20.000>20.000</option>
  21. <option value=23.976 selected>23.976</option>
  22. <option value=24.000>24.000</option>
  23. <option value=25.000>25.000</option>
  24. <option value=29.970>29.970</option>
  25. <option value=30.000>30.000</option>
  26. </select>
  27. <input type=text name=frame size=4><br>Domyślnie: 23.976</td></tr>\n");
  28.  
  29. print("<tr><td class='tableBody'><b>Format<br>napisĂłw</b></td>");
  30. print("<td class='tableBody1'><input type=checkbox name=typ" . ($arr['txt'] == "txt" ? " checked" : "") . " value=txt>TXT");
  31. print("<input type=checkbox name=typ" . ($arr['sub'] == "sub" ? " checked" : "") . " value=sub>SUB");
  32. print("<input type=checkbox name=typ" . ($arr['srt'] == "srt" ? " checked" : "") . " value=srt>SRT");
  33. print("<input type=checkbox name=typ" . ($arr['other'] == "other" ? " checked" : "") . " value=other>Inne");
  34. print("</td></tr>");
  35.  
  36. print("<tr><td class='tableBody'>Info</td><td class='tableBody1'><textarea name=info cols=60 rows=5 lang=bg wrap=virtual></textarea></td></tr>\n");
  37.  
  38. print("<tr><td colspan='2' class='tableBody' align='center'><input type='submit' value='Wstaw' class='klawisz_green' style='padding:3px 30px;'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type='reset' value='Resetuj' class='klawisz_orange' style='padding:3px 30px;'></td></tr>\n");
  39. print("</table>\n");
  40. print("</form>\n");
  41. }
Go to the top of the page
+Quote Post
Robertus
post 16.04.2023, 11:44:45
Post #2





Grupa: Zarejestrowani
Postów: 7
Pomógł: 1
Dołączył: 22.02.2022

Ostrzeżenie: (10%)
X----


Jeśli w pliku napisy.php masz zrobioną akcję dodawania do bazy w momencie gdy przesyłanie jest metodą POST to nie dziwne, że ci się coś tam dodaje.

Są dwa wyjścia:
Pierwsze:
W pliku filmy.php wysyłasz formularz metodą GET.
A w pliku napisy.php dodajesz do formularza takie linie:
  1. print("<input type=hidden name=id value=\"".$_GET['id']."\">\n");
  2. print("<input type=hidden name=title value=\"".$_GET['title']."\">\n");


Drugie:
W pliku napisy.php dodajesz do formularza takie linie:
  1. print("<input type=hidden name=action value=\"dodaj\">\n");
  2. print("<input type=hidden name=id value=\"".$_POST['id']."\">\n");
  3. print("<input type=hidden name=title value=\"".$_POST['title']."\">\n");


I dodajesz warunek, aby dodawanie do bazy odbywało się tylko w momencie gdy zmienna $_POST['action'] == 'dodaj'

Czyli gdzieś tam masz pewnie kod typu:
  1. mysqli_query($mysqli, "INSERT INTO jakastabela ('zmienna 1', 'zmienna 2')");


To musisz zrobić, żeby było tak:
  1. if ($_POST['action'] == 'dodaj') {
  2. mysqli_query($mysqli, "INSERT INTO jakastabela ('zmienna 1', 'zmienna 2')");
  3. }
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.04.2024 - 04:02