Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как передать значение переменной с ява на php (https://javascript.ru/forum/misc/44897-kak-peredat-znachenie-peremennojj-s-yava-na-php.html)

wadim 05.02.2014 21:39

Как передать значение переменной с ява на php
 
Приветствую всех! Вот код:


<script>

DwigX=1;


function Lood() {

location.reload();
document.write(<? echo $b; ?>);
}


setInterval( "Lood()", 1000);
</script>



<?

if (isset($_GET[Dwig]))
{}
else
{
echo '<script>';
echo 'document.location.href="' . $_SERVER['REQUEST_URI'] . '? Dwig=" + DwigX';
echo '</script>';
exit();
}


$b='. $_GET[Dwig]';


?>


Почему не работает? Если вместо '. $_GET[Dwig]' подставить "1", то работает, почему в $b не пишется '. $_GET[Dwig]', как правильно записать строку $b='. $_GET[Dwig]'; ???

Главное надо с яваскрипта передать значение переменной на php, и яваскрипт и php в одном файле:

<script>
мой яваскрипт
<script>

<?
мой php
?>

Нужен любой(безопасный) простой способ, смотрел про куки, но там вроде из пхп на ява.

freethetan 06.02.2014 00:19

Во первых! Очень конфузно поставлена задача!!!!!!
Чётко ставьте задачу!
Лучше если будете описывать функционал...
Если я правельно понял то работать должно как то так!

//1.Version:

<?php
if (!empty($_GET['Dwig'])) {
    // if $_GET is emty redirect to url with get
    header("Location: http://" . $_SERVER['HTTP_HOST'] . "/" . $_SERVER['REQUEST_URI'] . '?Dwig=1');
}
?>

<script>
    //Why setInterval??? Maybe better to use setTimeout
    setInterval(
            function() {
                var Dwig = <?= $_GET['Dwig'] ?>;
                if (Dwig === null) {
                    location.reload();
                } else {
                    document.write(<?= $_GET['Dwig'] ?>);
                }

            }, 1000);</script>

//2.Version:
<?php
if (!empty($_GET['Dwig'])) {
    echo "false";
} else {
    echo "true";
}
?>
<script type="text/javascript" src="http://code.jquery.com/jquery-2.0.3.js"></script>
<script>
    /**
     * request for functionality
     */
    function request(args) {
        $.ajax({
            type: "GET",
            url: <?= "http://" . $_SERVER['HTTP_HOST'] . "/" . $_SERVER['REQUEST_URI'] ?> + '?' + args,
        })
                .done(function(resp) {
                    if (resp == "true") {
                        $('body').append(resp);
                    } else {
                        location.reload();
                    }
                })
    }
    //Why setInterval??? Maybe better to use setTimeout
    setInterval(
            function() {
                var Dwig = 1;
                request("Dwig=" + Dwig);
            },
            1000);
</script>


Часовой пояс GMT +3, время: 22:09.