索引页从登录页面接收会话变量。我希望将此会话变量发送到另一个php页面,而不是来自用户的任何操作。使用script.js文件创建表并填充数据。 script.js文件具有对dbmanipulate.php文件的ajax调用。 dbmanipulate.php与数据库交互。现在无论如何都要将php会话变量从index.php发送到dbmanipulate.php 用户加载的唯一页面是index.php,并显示一个动态生成的表。
编辑后的我的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>
答案 0 :(得分:0)
$(function(){
$.ajax({
var session_data = <?php $_SESSION['mail'] ?>;
url:"DbManipulate1.php",
type:"POST",
data:"{actionfunction:showData,session_data:session_data"},
cache: false,
success: function(response){
$('#demoajax').html(response);
createInput();
}
});
试试这个:)
答案 1 :(得分:0)
<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>
并在另一页上使用$ _GET [&#39; mail&#39;]获取变量。
<小时/> 编辑:
$( document ).ready(function() {
$.ajax({
url:"DbManipulate.php",
type:"POST",
data:"mail=<?php echo $fname ?>"
});
}
并在另一页上使用$ _POST [&#39; mail&#39;]。并且不要将on_load放在正文标记中。
答案 2 :(得分:0)
不同的主机有一些微妙之处。尝试在该文件中调用会话变量,而不仅仅为没有AJAX的转换声明它。如果它已经生成,那么一切都应该工作,如果没有,那么问你的托管服务提供商,如果你不需要在php.ini中指定会话的路径。进一步检查编码文件本身,它们是UTF-8而没有BOM。
由于您在一个服务器上运行文件会话变量不一定发送POST意味着它应该使用文件开头的session_start()轻松检索...