ajax传递session值问题

lcxooo 2010-09-25 04:56:39
index.php中
在这个页面中可以获取到$_SESSION["name"];

<script language="javascript" src="js/manage.js"></script>
<div id="picdiv" class="bigclass">相册管理</div>
<div id="two" class="hiddendiv" style="display:none;">
<div class="smallclass"><a id="addpic">添加相册</a></div>
<div class="smallclass"><a id="showpic">浏览相册</a></div>
<div class="smallclass"><a id="pictype">相册类别</a></div>
</div>

manage.js中
$('addpic').onclick = function(){
xmlhttp.open('get','pics/addpics.php',true);
xmlhttp.onreadystatechange = showclass;
xmlhttp.send(null);
}
这样做在addpics.php页面中获取不到$_SESSION["name"];
怎么将做才能在addpics.php页面中获取到$_SESSION["name"]呢?
请大家帮帮忙!
...全文
747 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
lcxooo 2010-09-25
  • 打赏
  • 举报
回复
这样不行获取不到,试了好多方法都不行,最后想到一种方法,用这种方法解决了
我在index.php中加了一个隐藏域,将其value设置为SESSION["user_name"],在js页面中获取其值,
将其作为参数值在页面中传递。
<div><input type="hidden" id="admin" name="admin" value="<?php echo $_SESSION["user_name"];?>"></div>

js中admin_name = $('admin').value;
$('addpic').onclick =function()
{
xmlhttp.open('POST','pics/addpics.php?name='+admin_name,true);
xmlhttp.onreadystatechange = showclass;
xmlhttp.send(null);
}
yaoweibo654321 2010-09-25
  • 打赏
  • 举报
回复
你可以在addpics.php中用
session_start();
$username=@$_SESSION['username'];
来获取index.php中$_SESSION['username'].
lcxooo 2010-09-25
  • 打赏
  • 举报
回复
index.php
<?php
session_start();
header('Content-Type:text/html;charset=gb2312');
include_once '../conn/conn.php';
$_SESSION['user_name']=$_SESSION['user_name'];
echo $_SESSION['user_name'];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>博客文章管理页面</title>
<script language="javascript" src="js/xmlhttprequest.js"></script>
<script language="javascript" src="js/pictype.js"></script>
<script language="javascript" src="js/manage.js"></script>
<script language="javascript" src="js/addpics.js"></script>
<script language="javascript" src="js/choose.js"></script>
<script language="javascript" src="js/rows.js"></script>
<link href="../css/manage.css" rel="stylesheet" type="text/css" />
</head>
<body>


<div id="contain">
<div id="header"></div>
<div id="left">
<div id="persondiv" class="bigclass">个人管理</div>
<div id="zero" class="hiddendiv" style="display:none;">
<div class="smallclass"><a id="showinfo">详细资料</a></div>
<div class="smallclass"><a id="modinfo">修改密码</a></div>
</div>
<div id="artdiv" class="bigclass">文章管理</div>
<div id="one" class="hiddendiv" style="display:none;">
<div class="smallclass"><a id="addart">添加文章</a></div>
<div class="smallclass"><a id="showart">文章列表</a></div>
<div class="smallclass"><a id="arttype">文章类别</a></div>
</div>
<div id="picdiv" class="bigclass">相册管理</div>
<div id="two" class="hiddendiv" style="display:none;">
<div class="smallclass"><a id="addpic">添加相册</a></div>
<div class="smallclass"><a id="showpic">浏览相册</a></div>
<div class="smallclass"><a id="pictype">相册类别</a></div>
</div>
<div id="frddiv" class="bigclass">好友管理</div>
<div id="four" class="hiddendiv" style="display:none;">
<div class="smallclass"><a id="addfrd">添加好友</a></div>
<div class="smallclass"><a id="showfrd">查看好友</a></div>
</div>
<div id="messdiv" class="bigclass">留言管理</div>
<div id="five" class="hiddendiv" style="display:none;">
<div class="smallclass"><a id="showmess">查看留言</a></div>
</div>
<div id="scripdiv" class="bigclass">小纸条</div>
<div id="six" class="hiddendiv" style="display:none;">
<div class="smallclass"><a id="showscrip">查看纸条</a></div>
</div>
</div>
<div id="right">
<div id="showmenu"></div>
</div>
</div>
</body>
</html>
参数值应该只能是SESSION["user_name"],SESSION["user_name"]没机会传过去啊!
kyzy_yy_pm 2010-09-25
  • 打赏
  • 举报
回复
$('addpic').onclick = function(){
xmlhttp.open('post','pics/addpics.php?name=".SESSION["user_name"]."',true);
xmlhttp.onreadystatechange = showclass;
xmlhttp.send(null);
}

楼主别激动,你这是js页面怎么能=".SESSION["user_name"]."',这是什么啊,
你应该在对象id为addpic被点击的时候给函数传值来给定参数

lcxooo 2010-09-25
  • 打赏
  • 举报
回复
$('addpic').onclick = function(){
xmlhttp.open('post','pics/addpics.php?name=".SESSION["user_name"]."',true);
xmlhttp.onreadystatechange = showclass;
xmlhttp.send(null);
}
这样不行!
hello_niha 2010-09-25
  • 打赏
  • 举报
回复
然后 $id=$_REQUEST["id"]; 获取
hello_niha 2010-09-25
  • 打赏
  • 举报
回复
function RunOnUnload(ids)
{

xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request")
return
}
var url="ajaxonline.php"
url=url+"?id="+ids
url=url+"&sid="+Math.random()

xmlHttp.onreadystatechange=stateChanged
xmlHttp.open("POST",url,true)

xmlHttp.send(null)

}
kyzy_yy_pm 2010-09-25
  • 打赏
  • 举报
回复
$_SESSION['user_name']=$_SESSION['user_name'];//这块没用

//一下是传值方式:
$('addpic').onclick = function(){
xmlhttp.open('get','pics/addpics.php?username=zhangsan&password=zs&age=18',true);
xmlhttp.onreadystatechange = showclass;
xmlhttp.send(null);
}
君望永远 2010-09-25
  • 打赏
  • 举报
回复
LZ在
manage.js中
$('addpic').onclick = function(){
xmlhttp.open('get','pics/addpics.php',true);
xmlhttp.onreadystatechange = showclass;
xmlhttp.send(null);
}
里用AJAX请求POST提交参数过去啊,表要用Session挖
lcxooo 2010-09-25
  • 打赏
  • 举报
回复
ajax中我没有传递参数
可是参数怎么设置呢,我试着将name=$_SESSION['user_name']
但还是不行
lcxooo 2010-09-25
  • 打赏
  • 举报
回复
index.php
<?php
session_start();
header('Content-Type:text/html;charset=gb2312');
include_once '../conn/conn.php';
$_SESSION['user_name']=$_SESSION['user_name'];
echo $_SESSION['user_name'];
?>
<script language="javascript" src="js/manage.js"></script>
<div id="picdiv" class="bigclass">相册管理</div>
<div id="two" class="hiddendiv" style="display:none;">
<div class="smallclass"><a id="addpic">添加相册</a></div>
<div class="smallclass"><a id="showpic">浏览相册</a></div>
<div class="smallclass"><a id="pictype">相册类别</a></div>
</div>
代码我简写了,不是session_start()的问题;
addpics.php中我也写了session_start()
<?php
session_start;
header("Content-Type:text/html;charset=GB2312");
include_once "../../conn/conn.php";
echo "11111111111";
$name=$_GET["name"];

$sql="select type_id,type_name from pto_type where stu_name='".$name."'";
$result=$conne->getRowsArray($sql);
?>
kyzy_yy_pm 2010-09-25
  • 打赏
  • 举报
回复
怎么就没有看见在哪里设置session呢,也没看见ajax传参
hello_niha 2010-09-25
  • 打赏
  • 举报
回复
直接session_start();不就好了??

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧