-2

ユーザーがボタンをクリックしたときにページをリロードせずにPHPセッションを設定したいと思います。理想的には、ボタンをクリックすると、download_divという名前のdivがすぐに非表示になり、セッション「close_download」がtrueに設定されます。

JSはユーザー側であり、PHPはサーバー側であることは理解していますが、2つの世界を融合させる方法があるかどうか疑問に思っています。何か案は?ありがとう!

<html>
<head>
<script>
function closeDownload()
{
$('.download_div').hide()
}

<?php
session_start();
$_SESSION['close_download'] = "true";
?>

</script>

</head>
<body>
<a href="close_download.php" data-role="button" onClick="closeDownload()">Close</a>
</body>
</html>
4

3 に答える 3

2

session.php

<?php
session_start();
$_SESSION['close_download'] = "true";
?>

download.html

<html>
<head>
<script>
function closeDownload()
{
   $('.download_div').hide()
   $.get("session.php")   
}
</script>

</head>
<body>
<a href="close_download.php" data-role="button" onClick="closeDownload()">Close</a>
</body>
</html>
于 2013-03-22T07:08:12.743 に答える
1

ajax を使用する必要があり、jquery ajax 呼び出しに関するドキュメントを読むことが最速の方法です。

基本的に、これを含む別のphpファイルが必要です:

session_start();
$_SESSION['close_download'] = "true";

次に、html/js で $.get('newfile.php'); のようなことを行います。

JavaScriptにphpを入れることはできませんが、ajaxを使用すると、uが言ったようにそれらを「ブレンド」できます

于 2013-03-22T07:06:42.520 に答える
1

2 つの世界を融合させる方法は - AJAXです。

$.ajax({
  url: "session.php",
  data: {'name': 'test_session', 'value': 'foobar'}
}).done(function() {
     $('#notification').html('Done!');
});

session.php-

<?php
    session_start();
    $name = $_POST['name'];
    $value = $_POST['value'];
    $_SESSION[$name] = $value;
?>
于 2013-03-22T07:09:33.377 に答える