Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][PHP]PHP -> JS -> PHP nie przekazuje wartości zmiennych
Forum PHP.pl > Forum > Przedszkole
maverickoti
Witam.

Napotkałem następujący problem.

  1. Mianowicie w pliku A.php podaje wartości zmiennych
  2. Klikam przycisk "Dalej"
  3. Włącza się plik "Pytanie.js", który wyświetla komunikat "Czy zatwierdzić?"
  4. Klikam "TAK" i teraz ma się włączyć plik B.php który pobiera zmienne z pliku A.php


Problem pewnie polega na tym, że między plikami A.php i B.php stoi plik Pytanie.js i przez niego dane się nie przekazują. Do przesłania wartości zmiennych między plikami Ai i użyłem $_POST.
Damonsson
Wiedząc już na czym polega problem, możesz go rozwiązać. Cieszymy się jednak, że postanowiłeś się tym pochwalić na forum, jednocześnie nie pokazując super tajnego kodu napisanego dla NASA.

Oprócz $_POST, jest jeszcze $_SESSION, które nie zgubi zmiennej choćby było 100 plików pomiędzy.
Turson
Pomiędzy każdym plikiem możesz także przesyłać ukrytego inputa i wtedy nie zgubisz danych z żadnego formularza.
maverickoti
ok powalczyłem trochę z sesjami iii mam oczywiście problm.
Czy chodzi o coś takiego? Jednakże nadal jest ten $_POST.
A.php
<input name="model" id="model" type="text" />

B.php
session_start();
$_SESSION['model']=$_POST['model'];


Jak zapisać w pliku B.php aby otrzymać wartość pod zmienna np: $model?
Damonsson
A.php

  1.  
  2. $_SESSION['zmienna'] = $_POST['zmiennaZformularz'];
  3.  

B.php

  1.  
  2. $model = $_SESSION['zmienna'];
  3.  


oczywiście session_start() itd.
maverickoti
Sugerujesz, żeby zrobić coś takiego:

  1. <?php
  2. ?>
  3. <html>
  4. <input name="model" id="model" type="text" />
  5. </html>
  6. <?php
  7. $_SESSION['model']= $_POST['model'];
  8. ?>


Reasumując czy można tak w jednym pliku odnieść się do zmiennej przy pomocy metody POST?
Damonsson
Reasumując pokaż co masz teraz (wszystkie kody z plików A.php B.php Pytanie.js) i co nadal nie działa.
maverickoti
A.html
  1. <script type='text/javascript' src='jquery/Pytanie.js'></script>
  2. </head>
  3. <table width="850px">
  4. <tr>
  5. <td>Model:</td>
  6. <td><input name="model" id="model" type="text" /></td>
  7. </tr>
  8. <tr>
  9. <div id='container'>
  10. <div id='content'>
  11. <div id='confirm-dialog'>
  12. <input type='button' name='confirm' class='confirm' value='Dalej'/>
  13. </div>
  14. <div id='confirm'>
  15. <div class='header'><span>UWAGA</span></div>
  16. <div class='message'></div>
  17. <div class='buttons'>
  18. <div class='no simplemodal-close'>Nie</div><div class='yes'>Tak</div>
  19. </div>
  20. </div>
  21. <div style='display:none'>
  22. <img src='img/confirm/header.gif' alt='' />
  23. <img src='img/confirm/button.gif' alt='' />
  24. </div>
  25. </div>
  26. </div>
  27. </form>
  28. </center>
  29. <img src="photoopis/stopka-email.jpg"/>
  30. </td>
  31. </tr>
  32. </body>
  33. </html>


Pytanie.js
  1. jQuery(function ($) {
  2. $('#confirm-dialog input.confirm, #confirm-dialog a.confirm').click(function (e) {
  3. e.preventDefault();
  4.  
  5. // example of calling the confirm function
  6. // you must use a callback function to perform the "yes" action
  7. confirm("Dawaj kase biggrin.gif", function () {
  8. window.location.href = 'B.php';
  9. });
  10. });
  11. });
  12.  
  13. function confirm(message, callback) {
  14. $('#confirm').modal({
  15. closeHTML: "<a href='#' title='Close' class='modal-close'>x</a>",
  16. position: ["20%",],
  17. overlayId: 'confirm-overlay',
  18. containerId: 'confirm-container',
  19. onShow: function (dialog) {
  20. var modal = this;
  21.  
  22. $('.message', dialog.data[0]).append(message);
  23.  
  24. // if the user clicks "yes"
  25. $('.yes', dialog.data[0]).click(function () {
  26. // call the callback
  27. if ($.isFunction(callback)) {
  28. callback.apply();
  29. }
  30. // close the dialog
  31. modal.close(); // or $.modal.close();
  32. });
  33. }
  34. });
  35. }


B.php
  1. <?php
  2. $model=$_SESSION['model'];
  3. echo "Model: "$model;
  4. ?>


Chodzi o przekazanie wartości model. Oczywiście moj kod troszkę uprościłem, ale idea jest w tym pokazana.
Damonsson
To co robisz teraz jest bez sensu. Poczytaj jak się obsługuje formularze w PHP z pomocą JS.
maverickoti
Możesz przybliżyć co dokładnie jest źle. Jak nie daje komunikatu, który jest w js to wszystko działa i zapisuje mi do bazy MySQL. Poprostu po kliknięciu "Dalej" chcę by wyskoczył komunikat z możliwością wyboru TAk/NIE i tutaj robi się problem.
Damonsson
Więc przeczytaj jak się tworzy formularze w języku PHP, oraz jak się je obsługuje z pomocą JS. Na każdą kolejną głupszą odpowiedź odpiszę to samo.

http://lmgtfy.com/?q=php+form+confirm
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.