Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [AJAX][PHP]Przekazanie formularza do PHP, Przekazanie danych z formularza do php
kaminki
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 31.03.2014

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


Chciałbym przenieść dane z formularza metodą POST do pliku z php. Na stronie są dwie strefy div. Na jednej jest formularz a na drugiej obszar w którym ma się pokazać wynik przetworzony przez skrypt php w pliku dane.php. Nastąpić to ma po kliknięciu przycisku BUTTON. Przeglądałem o Ajax ale nie ma konkretnie sprecyzowanego do tej sytuacji. Jest błąd lub wynik otwiera się na nowej stronie. Może będzie ktoś wiedział co zrobić.

CODE
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Dokument bez tytułu</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
function loadPage(file) {
$('#wynik').load(file);
}
</script>

</head>

<body>

<div id="formularz" style="width:800px; height:300px; background:#0C9; margin: 0 auto">
<div style="text-align:center;">
<p>&nbsp;</p>
<p>&nbsp;</p>
<form id="form" method="post" action="dane.php">
<label id="produkt1" for="produkt1">Produkt</label>
<input type="text" name="produkt1" id="produkt1" /><br/>
<label for="produkt2">Produkt</label>
<input type="text" name="produkt2" id="produkt2" /><br/>
<label for="produkt3">Produkt</label>
<input type="text" name="produkt3" id="produkt3" /><br/>
<label for="produkt4">Produkt</label>
<input type="text" name="produkt4" id="produkt4" /><br/>
<label for="produkt5">Produkt</label>
<input type="text" name="produkt5" id="produkt5" /><br/>
<input id="submit" type="submit" value="Wyslij" onClick="loadPage('dane.php');"/>
<input name="wyczysc" type="reset" value="Wyczysc" />
</form>
</div>
</div>
<div id="wynik" style="width:800px; min-height:300px; background:#0FF; margin: 0 auto">
<?php
include 'dane.php';
?>
</div>

</body>
</html>


Ten post edytował kaminki 31.03.2014, 16:44:47
Go to the top of the page
+Quote Post
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Spróbuj tak:
  1. function loadPage(file) {
  2. $('#wynik').load(file);
  3. return false;
  4. }

I podepnij pod onsubmit, a nie onclick.
Choć w ten sposób dane z formularza nie zostaną nigdzie przekazane....bo ich nie przekazujesz Ajaxem do PHP.
Go to the top of the page
+Quote Post
kaminki
post
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 31.03.2014

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


Już sprawdzałem to i nie działa. A w jaki sposób przekazać zmienne do php żebym mógł je odczytać w taki sposób
CODE
$produkt1 = $_POST['produkt1'];


Plik załaduje mi się przy starcie strony do div i jest zbłędami bo jeszcze nie otrzymał wartosci zmiennych z formularza a po kliknięciu SUBMIT nic to juz nie zmienia.

Go to the top of the page
+Quote Post
trueblue
post
Post #4





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


  1. $.post( "test.php", $( "#testform" ).serialize() );

Pozostałe opcje (np. jak odbierać dane): https://api.jquery.com/jQuery.post/
Go to the top of the page
+Quote Post
kaminki
post
Post #5





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 31.03.2014

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


Próbuje i jakoś mi nie wychodzi oczekiwany rezultat. W dolnym div po wpisaniu np. w górnym okienku "ser" powinno w dolnym pojawic sie "tosty z ogorkiem". Albo mam błąd albo na nowej stronie pokazuje się i nie mogę nic ruszyć dalej. Może ktoś wymyśli coś w tej sytuacji.

CODE
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <title>Dokument bez tytułu</title>
  5. <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js" type="text/javascript"></script>
  6. <script type="text/javascript">
  7. $.post( "dane.php", $( "#form" ).serialize() );
  8.  
  9.  
  10. </head>
  11.  
  12.  
  13. <div id="formularz" style="width:800px; height:300px; background:#0C9; margin: 0 auto">
  14. <div style="text-align:center;">
  15. <p>&nbsp;</p>
  16. <p>&nbsp;</p>
  17. <form id="form" method="post" action="dane.php">
  18. <label id="produkt1" for="produkt1">Produkt</label>
  19. <input type="text" name="produkt1" id="produkt1" /><br/>
  20. <label for="produkt2">Produkt</label>
  21. <input type="text" name="produkt2" id="produkt2" /><br/>
  22. <label for="produkt3">Produkt</label>
  23. <input type="text" name="produkt3" id="produkt3" /><br/>
  24. <label for="produkt4">Produkt</label>
  25. <input type="text" name="produkt4" id="produkt4" /><br/>
  26. <label for="produkt5">Produkt</label>
  27. <input type="text" name="produkt5" id="produkt5" /><br/>
  28. <input id="submit" type="submit" value="Wyslij" onClick="loadPage('dane.php');/>
  29. <input name="wyczysc" type="reset" value="Wyczysc" />
  30. </form>
  31. </div>
  32. </div>
  33. <div id="wynik" style="width:800px; min-height:300px; background:#0FF; margin: 0 auto">
  34. </div>
  35.  
  36. </body>
  37. </html>



CODE
  1. <?php
  2. $produkt1 = $_POST['produkt1'];
  3. $produkt2 = $_POST['produkt2'];
  4. $produkt3 = $_POST['produkt3'];
  5. $produkt4 = $_POST['produkt4'];
  6. $produkt5 = $_POST['produkt5'];
  7. // polaczenie z serwerem
  8. if ( !mysql_connect('localhost','root','1234') )
  9. {
  10. echo 'Nie moge polaczyc sie z baza danych';
  11. exit (0);
  12. }
  13. // polaczenie z baza danych
  14. if ( !mysql_select_db('przepisy') )
  15. {
  16. echo 'Blad otwarcia bazy danych';
  17. exit (0);
  18. }
  19. // pobieramy wszystkie dane z tabeli
  20. if (isset($produkt1) && empty($produkt2))
  21. {$zapytanie = "SELECT * FROM skladniki where produkt1='$produkt1' or produkt2='$produkt1' or produkt3='$produkt1'
  22. or produkt4='$produkt1' or produkt5='$produkt1'";}
  23. elseif (isset($produkt1) && isset($produkt2) && empty($produkt3))
  24. {$zapytanie = "SELECT * FROM skladniki where (produkt1='$produkt1' or produkt2='$produkt1' or produkt3='$produkt1'
  25. or produkt4='$produkt1' or produkt5='$produkt1')
  26. && (produkt1='$produkt2' or produkt2='$produkt2' or produkt3='$produkt2'
  27. or produkt4='$produkt2' or produkt5='$produkt2')";}
  28. elseif (isset($produkt1) && isset($produkt2) && isset($produkt3) && empty($produkt4))
  29. {$zapytanie = "SELECT * FROM skladniki where (produkt1='$produkt1' or produkt2='$produkt1' or produkt3='$produkt1'
  30. or produkt4='$produkt1' or produkt5='$produkt1')
  31. && (produkt1='$produkt2' or produkt2='$produkt2' or produkt3='$produkt2'
  32. or produkt4='$produkt2' or produkt5='$produkt2')
  33. && (produkt1='$produkt3' or produkt2='$produkt3' or produkt3='$produkt3'
  34. or produkt4='$produkt3' or produkt5='$produkt3')
  35. ";}
  36. elseif (isset($produkt1) && isset($produkt2) && isset($produkt3) && isset($produkt4) && empty($produkt5))
  37. {$zapytanie = "SELECT * FROM skladniki where (produkt1='$produkt1' or produkt2='$produkt1' or produkt3='$produkt1'
  38. or produkt4='$produkt1' or produkt5='$produkt1')
  39. && (produkt1='$produkt2' or produkt2='$produkt2' or produkt3='$produkt2'
  40. or produkt4='$produkt2' or produkt5='$produkt2')
  41. && (produkt1='$produkt3' or produkt2='$produkt3' or produkt3='$produkt3'
  42. or produkt4='$produkt3' or produkt5='$produkt3')
  43. && (produkt1='$produkt4' or produkt2='$produkt4' or produkt3='$produkt4'
  44. or produkt4='$produkt4' or produkt5='$produkt4')
  45. ";}
  46. elseif (isset($produkt1) && isset($produkt2) && isset($produkt3) && isset($produkt4) && isset($produkt5))
  47. {$zapytanie = "SELECT * FROM skladniki where (produkt1='$produkt1' or produkt2='$produkt1' or produkt3='$produkt1'
  48. or produkt4='$produkt1' or produkt5='$produkt1')
  49. && (produkt1='$produkt2' or produkt2='$produkt2' or produkt3='$produkt2'
  50. or produkt4='$produkt2' or produkt5='$produkt2')
  51. && (produkt1='$produkt3' or produkt2='$produkt3' or produkt3='$produkt3'
  52. or produkt4='$produkt3' or produkt5='$produkt3')
  53. && (produkt1='$produkt4' or produkt2='$produkt4' or produkt3='$produkt4'
  54. or produkt4='$produkt4' or produkt5='$produkt4')
  55. && (produkt1='$produkt5' or produkt2='$produkt5' or produkt3='$produkt5'
  56. or produkt4='$produkt5' or produkt5='$produkt5')
  57. ";}
  58. // zpytanie do mysql
  59. $wynik = mysql_query($zapytanie);
  60. // wyswietlanie danych
  61. while($row = mysql_fetch_array($wynik))
  62. {
  63. echo $row['danie']."<br />";
  64. }

Go to the top of the page
+Quote Post
trueblue
post
Post #6





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


  1. <script type="text/javascript">
  2. $(document).ready(function(){
  3. $('#form').on('submit',function(e){
  4. e.preventDefault();
  5. $.post( "dane.php",
  6. $( "#form" ).serialize(),
  7. function(data){
  8. $('#wynik').html(data);
  9. }
  10. );
  11. });
  12. });


Ten post edytował trueblue 31.03.2014, 18:34:29
Go to the top of the page
+Quote Post
kaminki
post
Post #7





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 31.03.2014

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


Nic nie zmieniło się. Nadal otwiera się na nowej pustej stronie. Restartowałem serwer i też nic
Go to the top of the page
+Quote Post
trueblue
post
Post #8





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Sprawdź nowy kod, edytowałem.

EDIT: jQuery 1.5.0 więc:
  1. $('#form').submit(function(e){


Ten post edytował trueblue 31.03.2014, 18:38:39
Go to the top of the page
+Quote Post
kaminki
post
Post #9





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 31.03.2014

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


Teraz wszystko ładnie wygląda. Dzięki
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 25.08.2025 - 23:47