Javascript 将会话变量发送到另一个从未加载的php页面

Javascript 将会话变量发送到另一个从未加载的php页面,javascript,php,jquery,ajax,session,Javascript,Php,Jquery,Ajax,Session,索引页从登录页接收会话变量。我希望这个会话变量被发送到另一个php页面,并包含用户的任何操作。使用script.js文件创建一个表并填充数据。script.js文件具有对dbmanipulate.php文件的ajax调用。php与数据库交互。现在可以将php会话变量从index.php发送到dbmanipulate.php了吗 用户加载的唯一页面是index.php,显示的是一个动态生成的表 编辑后的my index.php页面: <?php session

索引页从登录页接收会话变量。我希望这个会话变量被发送到另一个php页面,并包含用户的任何操作。使用script.js文件创建一个表并填充数据。script.js文件具有对dbmanipulate.php文件的ajax调用。php与数据库交互。现在可以将php会话变量从index.php发送到dbmanipulate.php了吗 用户加载的唯一页面是index.php,显示的是一个动态生成的表

编辑后的my index.php页面:

        <?php
        session_start();
        $fname=$_SESSION['mail'];
        ?>

        <!DOCTYPE HTML>
        <html>
        <title>Addressbook</title>
        <head>
        <script type="text/javascript" src="http://code.jquery.com/jquery-1.11.1.min.js"></script>





 <script type="text/javascript">

 function myFunction () {


$.ajax({
     url:"DbManipulate.php",
              type:"POST",
              data:"<?php echo $fname ?>"

               });

   }

   </script>            
        <link rel="stylesheet" type="text/css" href="crudstyle.css" />

        </head>
        <body onload="myFunction()" bg color="">

            <div id="hidden_form_container" style="display:none;"></div>

        <div id="mhead"><h2>Your Adressbook</h2></div>
        <div id="note"> <span> your addressbook is connected to our servers :) </span></div>
        <?php
        echo $fname;

        ?>
        <table id='demoajax' cellspacing="0">
        </table>
        <script type="text/javascript" src="script.js"></script>

        </body>
        </html>

通讯录
函数myFunction(){
$.ajax({
url:“DbManipulate.php”,
类型:“POST”,
数据:“”
});
}
你的通讯录
您的通讯簿已连接到我们的服务器:)
$(函数(){
$.ajax({
var会话_数据=;
url:“DbManipulate1.php”,
类型:“POST”,
数据:{actionfunction:showData,session\u data:session\u data},
cache:false,
成功:功能(响应){
$('#demoajax').html(回复);
createInput();
}
});
试试这个:)


可能是有点作弊? 将其放入php文件中,而不是包含.js文件

    <script>
  $(function(){
        $.ajax({
                url:"DbManipulate1.php?mail=<?php echo $_SESSION['mail']; ?>",
                type:"POST",
                data:"actionfunction=showData",
                cache: false,
              success: function(response){

                    $('#demoajax').html(response);
                 createInput();

                                         }
               });
   </script>

$(函数(){
$.ajax({
url:“DbManipulate1.php?mail=”,
类型:“POST”,
数据:“actionfunction=showData”,
cache:false,
成功:功能(响应){
$('#demoajax').html(回复);
createInput();
}
});
并在另一页上使用$\u get['mail']获取变量。
编辑:
试试这个:

$( document ).ready(function() {
$.ajax({
 url:"DbManipulate.php",
          type:"POST",
          data:"mail=<?php echo $fname ?>"

           });
}
$(文档).ready(函数(){
$.ajax({
url:“DbManipulate.php”,
类型:“POST”,
数据:“邮件=”
});
}

并使用$_POST['mail']在另一个页面上。不要在body标签上加上load。

在不同的主机中有一些微妙之处。尝试调用该文件中的会话变量,而不声明它只是为了在没有AJAX的情况下进行转换。如果它是生成的,那么一切都应该工作,如果不是,则询问您的主机提供商是否不需要在p中指定会话的路径hp.ini。进一步检查文件本身的编码是否为不带BOM的UTF-8


由于在一个服务器上运行文件会话变量不一定发送POST,这意味着应该使用文件开头的session_start()轻松检索该变量…

您需要定义session_start()在您的DbManipulate1.php.session start中无法运行,因为dbmanipulate文件未通过索引访问。如果它们之间存在连接流,则可以运行。简单地说,使用隐藏的iframe!我在哪里实现它?在index.php中?这样您就可以从函数访问会话变量,哪个函数将通过此ajax调用对不起,我的poo在ajax调用的函数中,只需使用此代码print\r($\u POST)并在浏览器控制台中调试它,您的会话值就会显示在那里。
$( document ).ready(function() {
$.ajax({
 url:"DbManipulate.php",
          type:"POST",
          data:"mail=<?php echo $fname ?>"

           });
}