Pobieranie zmiennej z jQuery do PHP

0

Witam

Mam funkcję losującą w jQuery i chciałbym przekazać jej wynik do zmiennej w PHP, ale nie mam pojęcia jak to wykonać. Szukałem i znalazłem coś pod JS, ale wgłębiając się w temat wyszło, że strasznie dużo zamoty jest i lepiej wykonać to w jQuery.

Nie mogę zrobić losowania w PHP, ponieważ zmienna musi być losowana za każdym kliknięciem w link, który wyświetla okienko popup.

Pozdrawiam

1

Skrypt JS (przykładowy):

$.post('random.php', {liczba: wylosowana_liczba}, function(data){});

W skrypcie PHP odczytujesz to tak:

$Wylosowana_liczba = $_POST['liczba'];

Zapewne można to zrobić o niebo lepiej, lecz to wystarczy.

Drobne wyjaśnienie:

$.post('random.php', {liczba: wylosowana_liczba}, function(data){});

Po wykonaniu tego kodu w zmiennej data będzie to, co wyświetlił wywołany skrypt (tutaj plik random.php).
My chcemy wyłącznie wywołać ten plik, bez wyświetlania dodatkowego okienka, itp.
Jeżeli potrzebujesz zobaczyć to, co wyświetlił kod PHP, to możesz zrobić coś w stylu:

$.post('random.php', {liczba: wylosowana_liczba}, function(data)
{
 alert(data);
});

No ale ja nie mogę wywołać tego w osobnym skrypcie. Mam w jednym pliku skrypt w jQuery, który losuje zmienną i w tym samym pliku skrypt w PHP, który z tej zmiennej ma korzystać.

Plik random.php:

if (!isset($_POST['liczba']))
{
 echo '<script type="text/javascript" src="jquery.js"></script>';
 echo "<script>
 var wylosowana_liczba = random();
 $.post('random.php', {liczba: wylosowana_liczba}, function(data) 
 {
  alert(data); //Powinno wyświetlić `Kod JS wygenerował liczbę (...)`
 });
 </script>";
} else {
 echo "Kod JS wygenerował liczbę ".$_POST['liczba'];
}

?

0

Dzięki serdeczne mistrzu, teraz już rozumiem, straszny wzrokowiec ze mnie :/
Spokojnego wieczora życzę :)

0

A jednak nie jest tak pięknie. Mam coś takiego:

function ajaxTest()
    {
	var zmienna = "<?=$elementy;?>";
        $.post(
            'modules/mod_pudelko/ajax.php',
			{zmienna1: zmienna},
            function(data) {
            alert(data);
            }
        );
    }

Ładanie działa, ale nadal nie mogę przypisać zmiennej data, to zmiennej w php :/
Taka linijka:

echo "Kod JS wygenerował liczbę ".$_POST['data'];

nic nie daje :/

0

Według tego kodu:

function ajaxTest()
    {
        var zmienna = "<?=$elementy;?>";
        $.post(
            'modules/mod_pudelko/ajax.php',
                        {zmienna1: zmienna},
            function(data) {
            alert(data);
            }
        );
    }

Zmienną w PHP odczytujesz poprzez:

$_POST["zmienna1"]

Chyba, że ja nie rozumiem...

0

No tak też próbowałem i nic z tego :/
W JS w alert wyświetla się prawidłowo, ale w php już nie czyta zmiennej :/
Ajax.php wygląda tak:

<?php 
$c = $_POST['zmienna1']; 
$k = rand( 1 , $c );
echo $k; ?>

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