Zmienne PHP z rodzimego dokumentu w ajax.

Odpowiedz Nowy wątek
2015-01-06 16:15
0

Mam taki problemik, otóż w moim pliku ajax znajduje się formularz. Chciałbym, aby ten ajax mógł skorzystać ze zmiennych php, które są w dokumencie wywołującym ajax.php. Czyli wygląda to np tak:

"plik.php" ma scrypt javascript który wywołuje ajax.php. Chciałbym aby zmienne z "plik.php" śmigały w "ajax.php".

Jak to zrobić? Czy w ogóle się da?

Pozostało 580 znaków

2015-01-06 17:16
0

co to znaczy "wywołuje", bo to można rozumieć na wiele sposobów


To znaczy że jak kliknę button 'odpowiedz' w dokumencie plik.php to niżej pokazuje się zawartość ajaxu. - tymek42 2015-01-06 18:31
ale w jaki sposób "pokazuje się" - może być w ramce, może być ajaxem, daj jakiś kod, albo będziemy sobie teoretyzować do końca świata - dzek69 2015-01-06 18:51

Pozostało 580 znaków

2015-01-06 19:21
0

Wszytskie dane ".data"są pobierane z formularza.

$('.coment').on("click",".clickme", function() {

var id = $(this).data('id');
   var login = $(this).data('login');
       var wpisid = $(this).data('wpisid');

     $.ajax(
                  {           
                      url: "ajax.php",  
                      success: function(data),

                      { 
                            $("a[data-id='" + id + "']").parents(".com").after(data);

                            $('.inputt2').val("@"+login+":");
                            $('.inputid').val(""+wpisid+"");
                            $('.button').attr('data-id', ""+id+"");
                        }
                  }
            );

    var nextForm = $(this).next(".forme");
    var show = !nextForm.is(":visible");

    $('.forme').remove();

});

No i w ajaxie mam również prosty formularz. Który mi się wyświetla. Problem polega konkretnie na tym że nie mogę tam korzystać ze zmiennych z których korzystam w rodzimym dokumencie.

Pozostało 580 znaków

2015-01-06 20:42
0

chodzi Ci o GET/POST czy oba?


pobieram z formularza w javascript z np.<a href="javascript:void(0)" class="clickme" data-wpisid="1" data-id="80" data-login="Fredo">odpowiedz</a> - tymek42 2015-01-06 20:46
nie dogadam się z Tobą. o które dane z plik.php Ci chodzi? - dzek69 2015-01-06 20:51
Mam zmienne w plik.php np. $nazwa_loginu, $avatar_zalogowanego. Chcę je umieścić w formularzu który jest w ajax.php to wszystko. Tyle że nie czyta je tam. Struktura plików jest prosta mam plik.php i tam załadowany ten skrypt jquery który pokaząłem na górze i w nim jest ten ajax.php. W ajaxie jest kolejny formularz w którym chcę umieścić te zmienne. - tymek42 2015-01-06 21:04

Pozostało 580 znaków

2015-01-06 21:13
0

@tymek42 unikaj pisania komentarzy, jeżeli piszesz na temat. dwa razy to pociągnąłem, ale staje się niewygodne.

nie możesz zwykłego

echo "<input type=hidden value='".htmlspecialchars($nazwa_loginu, ENT_QUOTES).'"/>";

zrobić? jeżeli nie to dlaczego?


edytowany 1x, ostatnio: dzek69, 2015-01-06 21:14
Wiesz : ) Ja wiem jak wstawić w formularzu te dane. W tym rzecz że jak je wpisuje w tym pliku ajax to on po prostu ich nie widzi. Pokazuje sam html. Chyba że stworze nowe zmienne w tym pliku, ale to mi nie rozwiązuje problemu, ponieważ ja potrzebuje zmiennych pobieranych chociażby z sesji, których on tez nie widzi. - tymek42 2015-01-06 21:21
Ja odpadam. Nie dość, że się nie dogadujemy, to jeszcze piszesz tak skopany kod, że sam się w tym gubisz. Może pora porzucić to, co robisz i wrócić trochę do nauki teorii, potem to zaorać i postawić od nowa? - dzek69 2015-01-06 21:40
Nie ty po prostu nie rozumiesz o co chodzi, albo nie chcesz zrozumieć. Nie gubię się w swoim kodzie, moim jeden problemem jest być może to że nie potrafię ci to wytłumaczyć. Czy tak trudno zrozumieć to że dołączany ajax.php, w którym jest formularz nie czyta zmiennych które używałem wcześniej w plik.php? - tymek42 2015-01-06 21:57

Pozostało 580 znaków

2015-01-06 22:12
0

Musisz te dane jakoś przekazać, np. GETem. Automagicznie się nie prześlą.


No właśnie o to mi chodzi. :) Nie mam za wiele styczności z ajaxem i takie rzeczy są i obce. Czyli mam rozumieć że to normalny objaw. Czyli zmienne powinienem przekazać jakoś. Jakie są jeszcze sposoby? Getem to nie za bardzo bo linku nie mogę zmienić w czasie rzeczywistym. Czytałem o json, ale nie wiem jak to zrobić jeszcze. - tymek42 2015-01-06 22:29

Pozostało 580 znaków

2015-01-06 22:35
1

Dodawaj posty, nie komentarze;

tymek42 napisał(a)

No właśnie o to mi chodzi. :) Nie mam za wiele styczności z ajaxem i takie rzeczy są i obce. Czyli mam rozumieć że to normalny objaw. Czyli zmienne powinienem przekazać jakoś. Jakie są jeszcze sposoby? Getem to nie za bardzo bo linku nie mogę zmienić w czasie rzeczywistym. Czytałem o json, ale nie wiem jak to zrobić jeszcze.

JSON to sposób serializowania, nie ma nic wspólnego ze sposobem przesyłania (GET/POST).

var data = {zmienna1: "<?=$zmienna1?>"}; // na przykład; zależy od tego, jak ten skrypt includujesz

$.ajax({
 /* ... */
 data: data,
 /* ... */
});

I potem odbierasz w skrypcie PHP za pomocą:

$zmienna1 = $_POST['zmienna1'];

edytowany 2x, ostatnio: Patryk27, 2015-01-06 22:36
ok jak tylko przyjdę do domu to sprawdzę. - tymek42 2015-01-06 23:26
nie odbierze tak bo ajax domyslnie wysyla getem, a ty odbierasz postem. - szalonyfacet 2015-01-07 00:13

Pozostało 580 znaków

2015-01-06 22:39
1

po primo odpowiadajw postach, a nie w komentarzach, latwiej sie czyta i zachowuje ciaglosc dyskusji.

co do twojego komentarza to nie musisz zmieniac adresu tego co masz w przegladarce, tylko do wywolania w ajaxie dodaj te dane ktore potrzebujesz jako parametry. przy ladowaniu plik.php przypisz te zmienne do ukrytego inputa, ew. bezposrednuio do zmiennych w tablicy czy w url. i potem one pojda getem jako paramtery do twojego ajax.php w tle

Pozostało 580 znaków

2015-01-06 23:29
0

One są ukryte w inpucie : ) ""i potem one pojda getem jako paramtery do twojego ajax.php w tle" jak pójdą? : )

Pozostało 580 znaków

2015-01-08 17:51
0

No więc tak zrobiłem tak jak powiedzieliście czyli wysłałem te zmienne GETEM. Ale coś jest nie tak bo pobiera mi dziad np. coś takiego
<?=$zmienna1?> zamiast ta zmienną ;D
Wiecie co jest nie tak? Próbowałem pobrać te zmienne i coś, albo ich nie widzi, albo nie wiem już sam.

edytowany 1x, ostatnio: tymek42, 2015-01-08 17:52

Pozostało 580 znaków

2015-01-08 18:22

bo parser nie przetwarza tego na wartosc. masz to w pliku interpretowanym .php czy w jakims .js???

ODPOWIEDZ DO KOMENTARZA:

poniewaz chcesz ta zmienna wstawic w pliku js ktory nie jest przetwarzany przez php to dlatego jest jak jest.

stworz ze swojego kodu funkcje z twoja zmienna jako parametrem i wywoluj ja w pliku php. ew. zadeklaruj zmienna globalna w pliku js , a w pliku php ja tylko ustawiaj. i wtedy pobieraj dane ze zmiennej globalnej.

edytowany 1x, ostatnio: szalonyfacet, 2015-01-08 22:49

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0