Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][MySQL][PHP]Nie przekazują się zmienne z POST
suchy1
post
Post #1





Grupa: Zarejestrowani
Postów: 246
Pomógł: 8
Dołączył: 2.04.2006
Skąd: Gliwice

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


Cześć,

Pisze plugin do Wordpressa i mam problem. Nie działa mi przekazywanie zmiennych wprowadzonych przez użytkownika. Jeżeli wyrzucę z mojego kodu operatory IF i Switch to zaczyna działać. Mam tu na myśli funkcję, która znajduje się na samym dole.

  1. function ow_display_user() {
  2. wp_enqueue_script('jquery-ui-datepicker');
  3. wp_enqueue_style('jquery-style', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/themes/smoothness/jquery-ui.css');
  4.  
  5. global $wpdb;
  6. $results = $wpdb->get_results ("SELECT adres FROM wp_ow_adres;");
  7. ?>
  8. <h2>Odczyt wodomierzy</h2>
  9. <form method="post" action="">
  10. <table>
  11. <tbody>
  12. <tr>
  13. <th><label for="Adres">Adres zamieszkania</label></th>
  14. <td><select id="adres" name="adres">
  15. <option value="">Wybierz swój adres</option>
  16. <?php
  17. foreach ( $results as $result ) {
  18. echo '<option>'.$result->adres.'</option>';
  19. }
  20. ?>
  21. </select></td>
  22. </tr>
  23. <input type="submit" name="submit" value="Wybierz" />
  24. </tbody>
  25. </table>
  26. </form>
  27. <?php
  28. $adres = $_POST["adres"];
  29. global $wpdb;
  30. if (isset($_POST['submit'])){
  31. $spr_liczbe_wodo = $wpdb->get_var("select liczba_wodomierzy from wp_ow_adres where adres='$adres'");
  32. switch ($spr_liczbe_wodo) {
  33. case 1:
  34. ?>
  35. <form name="adres_form" method="post" action="">
  36. <table>
  37. <tbody>
  38. <tr>
  39. <td>Adres zamieszkania:</td>
  40. <td><?php echo $adres;?></td>
  41. </tr>
  42. <tr>
  43. <td>Stan wodomierza:</td>
  44. <td><input type="text" name="stan_wodomierza" /></td>
  45. </tr>
  46. <tr>
  47. <td>Data odczytu:</td>
  48. <td><input type="text" name="data_odczytu" id="datepicker" /></td>
  49. </tr>
  50. <tr>
  51. <td>Kod lokalu:</td>
  52. <td><input type="text" name="kod_lokalu" /></td>
  53. </tr>
  54. <tr>
  55. <td></td>
  56. <td><input type="submit" name="submit" value="Zapisz" /></td>
  57. </tr>
  58. </tbody>
  59. </table>
  60. </form>
  61. <?php
  62. break;
  63. case 2:
  64. ?>
  65. <form name="adres_form" method="post" action="">
  66. <table>
  67. <tbody>
  68. <tr>
  69. <td>Adres zamieszkania:</td>
  70. <td><?php echo $adres;?></td>
  71. </tr>
  72. <tr>
  73. <td>Woda ciepła:</td>
  74. <td><input type="text" name="woda_ciepla" /></td>
  75. </tr>
  76. <tr>
  77. <td>Woda zimna:</td>
  78. <td><input type="text" name="woda_zimna" /></td>
  79. </tr>
  80. <tr>
  81. <td>Data odczytu:</td>
  82. <td><input type="text" name="data_odczytu" id="datepicker" /></td>
  83. </tr>
  84. <tr>
  85. <td>Kod lokalu:</td>
  86. <td><input type="text" name="kod_lokalu" /></td>
  87. </tr>
  88. <tr>
  89. <td></td>
  90. <td><input type="submit" name="submit" value="Zapisz" /></td>
  91. </tr>
  92. </tbody>
  93. </table>
  94. </form>
  95. <?php
  96. break;
  97. case 4:
  98. ?>
  99. <form method="POST" action="">
  100. <table>
  101. <tbody>
  102. <tr>
  103. <td>Adres zamieszkania:</td>
  104. <td><?php echo $adres;?></td>
  105. </tr>
  106. <tr>
  107. <td>Woda ciepła (kuchnia):</td>
  108. <td><input type="text" name="woda_ciepla_kuchnia" /></td>
  109. </tr>
  110. <tr>
  111. <td>Woda ciepła (łazienka):</td>
  112. <td><input type="text" name="woda_ciepla_lazienka" /></td>
  113. </tr>
  114. <tr>
  115. <td>Woda zimna (kuchnia):</td>
  116. <td><input type="text" name="woda_zimna_kuchnia" /></td>
  117. </tr>
  118. <tr>
  119. <td>Woda zimna (łazienka):</td>
  120. <td><input type="text" name="woda_zimna_lazienka" /></td>
  121. </tr>
  122. <tr>
  123. <td>Data odczytu:</td>
  124. <td><input type="text" name="data_odczytu" id="datepicker" /></td>
  125. </tr>
  126. <tr>
  127. <td>Kod lokalu:</td>
  128. <td><input type="text" name="kod_lokalu" /></td>
  129. </tr>
  130. <tr>
  131. <td></td>
  132. <td><input type="submit" name="submit" value="Zapisz" /></td>
  133. </tr>
  134. </tbody>
  135. </table>
  136. </form>
  137. <?php
  138. if (isset($_POST['submit'])){
  139. global $wpdb;
  140. $kod_lokalu = $_POST['kod_lokalu'];
  141. $spr_kod_lokalu = $wpdb->get_var("select kod_lokalu from wp_ow_adres where adres='. $adres .'");
  142. if ($spr_kod_lokalu == $kod_lokalu) {
  143. $kod_lokalu = $_POST['data_odczytu'];
  144. $woda_ciepla_kuchnia = $_POST['woda_ciepla_kuchnia'];
  145. $woda_ciepla_lazienka = $_POST['woda_ciepla_lazienka'];
  146. $woda_zimna_kuchnia = $_POST['woda_zimna_kuchnia'];
  147. $woda_zimna_lazienka = $_POST['woda_zimna_lazienka'];
  148. $data_odczytu = '0000-00-00 00:00:00';
  149.  
  150. $data = array(
  151. 'id' => '',
  152. 'adres' => $adres,
  153. 'data_odczytu' => $data_odczytu,
  154. 'woda_ciepla_kuchnia' => $woda_ciepla_kuchnia,
  155. 'woda_ciepla_lazienka' => $woda_ciepla_lazienka,
  156. 'woda_zimna_kuchnia' => $woda_zimna_kuchnia,
  157. 'woda_zimna_lazienka' => $woda_zimna_lazienka,
  158. );
  159.  
  160. $wpdb->insert(`wp_ow_odczyty`, $data);
  161. }
  162. }
  163. break;
  164. }
  165.  
  166. }
  167. }


--edycja

Mam wrażenie jakby formularze się sumowały. Jeżeli to jest możliwe.

Ten post edytował suchy1 30.12.2013, 10:25:54
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
suchy1
post
Post #2





Grupa: Zarejestrowani
Postów: 246
Pomógł: 8
Dołączył: 2.04.2006
Skąd: Gliwice

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


Dziękuje wszystkim za dotychczasowa pomoc. Cała funkcja:

  1. function ow_display_user() {
  2. ?>
  3. <pre style="text-align: left;">
  4. <?php if ($_SERVER['REQUEST_METHOD'] === 'POST') var_dump($_POST); ?>
  5. </pre>
  6. <?
  7. wp_enqueue_script('jquery-ui-datepicker');
  8. wp_enqueue_style('jquery-style', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/themes/smoothness/jquery-ui.css');
  9.  
  10. global $wpdb;
  11. $results = $wpdb->get_results ("SELECT adres FROM wp_ow_adres;");
  12. ?>
  13. <form name="one" method="post" action="">
  14. <table>
  15. <tbody>
  16. <tr>
  17. <th><label for="Adres">Adres zamieszkania</label></th>
  18. <td><select id="adres" name="adres">
  19. <option value="">Wybierz swój adres</option>
  20. <?php
  21. foreach ( $results as $result ) {
  22. echo '<option>'.$result->adres.'</option>';
  23. }
  24. ?>
  25. </select></td>
  26. </tr>
  27. <tr>
  28. <td><input type="submit" name="ok" value="Wybierz" />
  29.  
  30. <td>
  31.  
  32. </tr>
  33. </tbody>
  34. </table>
  35. </form>
  36. <?php
  37. $adres = $_POST["adres"];
  38.  
  39. if (isset($_POST['ok'])){
  40. $spr_liczbe_wodo = $wpdb->get_var("select liczba_wodomierzy from wp_ow_adres where adres='$adres'");
  41.  
  42. if ($spr_liczbe_wodo == 4) {
  43. ?>
  44. <form name="two" method="post" action="http://localhost.local/">
  45. <table>
  46. <tbody>
  47. <tr>
  48. <td>Adres zamieszkania:</td>
  49. <td><?php $adres?></td>
  50. </tr>
  51. <tr>
  52. <td>Woda ciepła (kuchnia):</td>
  53. <td><input type="text" id="woda_ciepla_kuchnia" name="woda" /></td>
  54. </tr>
  55. <tr>
  56. <td></td>
  57. <td><input type="submit" id="zapisz" name="zapisz" value="Zapisz" /></td>
  58. </tr>
  59. </tbody>
  60. </table>
  61. </form>
  62. <?
  63.  
  64. if(isset($_POST['zapisz']))
  65. {
  66. $woda_ciepla_kuchnia=1;
  67. $data_odczytu = '0013-00-00 22:00:00';
  68.  
  69. $data = array(
  70. 'id' => '',
  71. 'adres' => 'dasd',
  72. 'data_odczytu' => $data_odczytu,
  73. 'woda_ciepla_kuchnia' => 1,
  74.  
  75. );
  76.  
  77. $wpdb->insert(wp_ow_odczyty, (array)$data);
  78.  
  79. }
  80. }
  81.  
  82. }
  83.  
  84. }


Po dodaniu:

  1. <pre style="text-align: left;">
  2. <?php if ($_SERVER['REQUEST_METHOD'] === 'POST') var_dump($_POST);
  3. </pre>


wyświetla się:

  1. array(2) {
  2. ["woda"]=>
  3. string(1) "4"
  4. ["zapisz"]=>
  5. string(6) "Zapisz"
  6. }


ale dalej nie wpadam w if(isset($_POST['zapisz']))

Cytat(fate @ 30.12.2013, 13:42:45 ) *
<option value="">Wybierz swój adres</option>

$_POST adres jest puste bo optiony nie maja zadnego value tylko tekst opisujacy.

Masz rację ale ta zmienna jest przekazywana dalej.

Ten post edytował suchy1 30.12.2013, 13:51:50
Go to the top of the page
+Quote Post
mar1aczi
post
Post #3





Grupa: Zarejestrowani
Postów: 731
Pomógł: 141
Dołączył: 9.05.2011
Skąd: śląskie

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


Cytat(suchy1 @ 30.12.2013, 13:49:37 ) *
ale dalej nie wpadam w if(isset($_POST['zapisz']))

Bo jest w warunku
  1. if ($spr_liczbe_wodo == 4) {

Go to the top of the page
+Quote Post

Posty w temacie


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: 14.10.2025 - 20:35