我将一个php文件包含在JQuery中,如下所示:
主要php文件:
<?php
session_start();
?>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<?php
$_SESSION['ID'] = "32";
?>
<div id="sesion"></div>
<script>
$("#sesion").load("fun.php");
</script>
将加载的php文件,fun.php:
<?php
session_start();
echo 'new php';
echo $_SESSION['ID'];
?>
当我添加session_start()时,fun.php显示空白如果我将其删除,它将显示:“new php”
我需要在“fun.php”文件中打开会话,但我似乎无法实现它。
答案 0 :(得分:0)
将session_start()
放在页面顶部,其中包含chalk_element.php
页面
答案 1 :(得分:0)
尝试简化您的环境。
在最顶层创建一个带有session_start()
的新index.php,然后创建几个会话变量。
接下来,创建您的chalk_element.php文件并通过index.php中的jQuery加载它。
现在做一些非常简单的事情来访问会话变量,看看会发生什么。这将为您提供一个简化的测试环境,您可以在其中试验配置。
答案 2 :(得分:0)
这听起来像是在你调用session_start
之前输出的内容(HTML)。您可以移动session_start()
,使其位于页面顶部(位于顶部,没有空格)或首先调用ob_start()
。然后,您可以输出数据并稍后调用session_start()
。
另外,请检查错误日志,以获取有关PHP文件刚停止工作的原因的任何有用错误信息。
答案 3 :(得分:0)
这两个文件在每个文件的顶部需要session_start();
才能输出任何其他文件,因为此函数会发送多个HTTP标头。
<强>的index.php 强>
<?php
//Start session
session_start();
//Set the value in your session
$_SESSION['key']='value';
?>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
</head>
<body>
<script>
$(function() {
$("#Chalk").load('chalk_element.php');
});
</script>
<div id="Chalk">Loading...</div>
</body>
</html>
<强> chalk_element.php 强>
<?php
//Start session also to `resume` session
session_start();
//Check from ajax
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest'){
//output session var if set
echo isset($_SESSION['key']) ? $_SESSION['key'].' was set in session' : 'session value was not set';
}
?>
答案 4 :(得分:0)
保存文件时出现编码问题。我用ANSI代码保存了这两个文件并解决了问题。
答案 5 :(得分:-1)
试试这个..!
ob_start(); //页面顶部
ob_flush(); //页面末尾