Javascript 在来自ajax的php中使用父php中定义的变量
我正在创建一个项目,在这个项目中,用户可以在登录时查看其配置文件……但我希望仪表板通过ajax加载所有其他配置文件页面(即查看配置文件、编辑配置文件等) 到目前为止,我已经创建了一个Javascript 在来自ajax的php中使用父php中定义的变量,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我正在创建一个项目,在这个项目中,用户可以在登录时查看其配置文件……但我希望仪表板通过ajax加载所有其他配置文件页面(即查看配置文件、编辑配置文件等) 到目前为止,我已经创建了一个home.php页面,向load page.php发送ajax请求。它根据用户请求加载数据并检查请求的页面,然后将结果返回到home.php home.php <div id="pageContent" class="col-md-9"> </div> </section&g
home.php
页面,向load page.php
发送ajax请求。它根据用户请求加载数据并检查请求的页面,然后将结果返回到home.php
home.php
<div id="pageContent" class="col-md-9">
</div>
</section>
<script type="text/javascript">
$(document).ready(function(){
loadPage('#dashbord');
})
</script>
function loadPage(url) //the function that loads pages via AJAX
{
url=url.replace('#page','');
$('#loading').css('visibility','visible'); //show the rotating gif animation
$.ajax({ //create an ajax request to load_page.php
type: "POST",
url: "load-page.php",
data: {page:url}, //with the page number as a parameter
dataType: "html", //expect html to be returned
success: function(msg){
if(parseInt(msg)!=0) //if no errors
{
$('#pageContent').html(msg); //load the returned html into pageContet
$('#loading').css('visibility','hidden');//and hide the rotating gif
}
});
$(文档).ready(函数(){
加载页(“#dashbord”);
})
function loadPage(url)//通过AJAX加载页面的函数
{
url=url.replace(“#page”,”);
$(“#加载”).css('visibility','visibility');//显示旋转gif动画
$.ajax({//创建一个ajax请求以加载\u page.php
类型:“POST”,
url:“load page.php”,
数据:{page:url},//页码作为参数
数据类型:“html”,//希望返回html
成功:功能(msg){
if(parseInt(msg)!=0)//如果没有错误
{
$('#pageContent').html(msg);//将返回的html加载到pageContent中
$('#load').css('visibility','hidden');//并隐藏旋转的gif
}
});
load-page.php
<?php
if(!$_POST['page']) die("0");
$page =$_POST['page'];
$page=explode('#', $page);
if(strpos($page[1],'?id=')){
$probstr=$page[1];
$newpage = explode('?', $probstr);
$id=explode('=', $newpage[1]);
$_GET['id'] = $id[1];
echo include ''.$newpage[0].'';
}else{
if(file_exists(''.$page[1].'.php')){
echo include ''.$page[1].'.php';
}
else {echo 'There is no such page!';}
}
?>
我想使用home.php中定义的变量在来自ajax的页面中使用。但是,目前我遇到了一个未定义的索引错误。使用会话变量将信息从一个页面传递到另一个页面 在每个脚本的开头放置:
session_start();
在home.php中,您可以执行以下操作:
$_SESSION['username'] = $username;
在你得到用户名之后
在load page.php
中,您可以执行以下操作:
$username = $_SESSION['username'];
开始时,然后在脚本的其余部分使用此变量。使用会话变量将信息从一个页面传递到另一个页面 在每个脚本的开头放置:
session_start();
在home.php中,您可以执行以下操作:
$_SESSION['username'] = $username;
在你得到用户名之后
在load page.php
中,您可以执行以下操作:
$username = $_SESSION['username'];
开始时,然后在脚本的其余部分使用此变量。只有会话变量在不同的脚本之间存在。或者您可以在AJAX中将变量作为参数发送。@Barmar如何?请编写一些代码您在哪里尝试使用
加载页.php中home.php
中的变量?所有变量都是c来自$\u POST['page']的ome
。为什么在您的include
语句之前有echo
?请阅读有关PHP会话变量的教程。只有会话变量在不同的脚本之间存在。或者您可以在AJAX中将变量作为参数发送。@Barmar如何?请编写一些代码您在哪里尝试使用home.PHP 在load page.php
中,所有变量都来自$\u POST['page']
。为什么在include
语句之前有echo
?请阅读有关php会话变量的教程。