斑竹再次救命~~~~!!!
斑竹救命!!!!!关于session传递的过程可不可以给我举个例子!!我非常着急!!!!
我想让session记录登陆的用户名和密码
使各个页面session为空者禁止访问,可以作到防止匿名访问!!
我找了好多资料!!!都没有列子 我试了很多次!!!!!5555.。。。。。
不是我不勤奋,,而是,,,,,教材太老,,,老师不会。。。。
唯有跪求斑竹赐教!!! <?
session_start();
session_register('user_id');
session_register('user_pass');
$query = "SELECT * FROM test2 WHERE name='".$_POST."'
and pass='".$_POST."'";
$result=mysql_query($query,$link);
echo "$result\n";
echo "id= $user_id";
if (mysql_num_rows($result) > 0)
{
$user_id = $username;
$user_pass = $password;
echo "<script language='JavaScript'>";
echo "alert(\"您已经成功登录到购物系统当中了,欢迎您!\");";
echo "window.location="mainview.php'";
echo "</script>";
}
程序是这样的,我该如何才能把 已经得到值的session传递到 mainview.php页面?? session_register('user_id'); --不要这样用
先用 session_is_registered 检测一下,看看是否已经注册,没注册再 session_register 。
这样:if (! session_is_registered('user_id')) session_register("user_id");
之后给 session 变量需要这样用 $_SESSION("user_id")
不管你是付给还是读取,之后只要浏览器不关闭你就可以用 $_SESSION['user_id']来使用她。
重要的:
使用session的网页开头需要有 session_start()
session变量如果已经存在,session_register 可能会清掉数据
session变量在 4.2.0 以后默认需要用 $_SESSION[] 数组来使用(防止url灌入漏洞)
例子:(正在上课,没法测试)
<?
session_start();
if (! session_is_registered('user_id'))
{
session_register("user_id");
echo "reg session<br>";
}
$_SESSION['user_id'] + +;
echo $_SESSION['user_id'];
?>
这个代码的作用:
第一次浏览器显示:
reg session
1
第2次
2
第3次
3
………………………………
有问题的话只能等我到家再说了……………… <?
session_start();
session_register('user_id');
session_register('user_pass');
$query = "SELECT * FROM test2 WHERE name='".$_POST."'
and pass='".$_POST."'";
$result=mysql_query($query,$link);
echo "$result\n";
echo "id= $user_id";
if (mysql_num_rows($result) > 0)
{
$user_id = $username;
$user_pass = $password;
echo "<script language='JavaScript'>";
echo "alert(\"您已经成功登录到购物系统当中了,欢迎您!\");";
echo "window.location="mainview.php'";
echo "</script>";
}
可是针对我这个程序 用javascript语言调用转入的网页 怎么才能传递session呢??
window.location="mainview.php"
我试过了 好像session不能传递到mainview.php 我是想让登陆了的用户不停的传递session到他访问过的页面。当session为空的页面,表示此人没有登陆 禁止访
问!就是说用javascript 调用的页面mainview.php怎么样才能得到我赋值了的$use_id
if($user_id && $user_pass!="")
{
echo"登陆成功!";
}
else{
echo "<font color=black size=3> 登陆失败,确认您的密码是否正确,如果你还没有注册,请按";
echo "<a herf=\"%20\">这里</a></font>";
exit;
} session 是存储在服务器端的变量,浏览器端是得不到数据也不能写数据的。
javascript 就是在浏览器端运行的脚本,他不能读写 session 数据。
session 在浏览器里的表示只是一个cookie数据,表明这个网页的session ID。
只要这个 session ID 一直在 cookie 里,服务器端就会一直保存 session 数据。
你需要用 cookie 或者其他的方法(比如 url 、表单来传递)。
你只要能让相关数据发送到服务器,就可以使用session。 虽然我还是有些不明白,但是还是谢谢你!!
让没有登陆的人不能访问某些页面怎么才能作到呢?? 你那里不明白?
禁止访问最简单的就是用 session 。
你只要吧session变量付了值,只要不关浏览器,在服务器那里就可以一直使用。
服务器根据 session 里的变量来决定发送什么网页代码。 你可以认为:PHP就像一个输出到屏幕的脚本程序。
不管你如何运算,只要能显示我需要的代码就可以了。 问题是第一个页面我有了值,到了第二个页面 session的值全部没有了
你说的我理解
就是session的值前一个页面赋有了,点击到第二个页面就没有了 session 只能 session_register 一次。
第2次会把上一次的数据清除掉~~~~~
session_register('user_id'); --不要这样用
先用 session_is_registered 检测一下,看看是否已经注册,没注册再 session_register 。
这样:if (! session_is_registered('user_id')) session_register("user_id");
你没注意看吧? 一个简单的测试 看看出了什么问题了
第一个页面
<?
session_start();
if(!session_is_registered('id')) session_register("id");
$_session=1;
echo"<html><body>";
echo " <script language='javascript'>";
echo " alert(\"正在装入新页面\");";
echo " window.location='test2.php'";
echo " </script>";
echo "</body></html>";
?>
/*******************************页面二 test2.php****************/
<?
session_start();
if(! session_is_registered("id"))
{
echo"无权访问!";
return;
}
else
{
echo "成功访问!";
echo "session = $_session";
}
?>
页面一转到页面二后显示
成功访问session =
session的值没有得到
因该是session =1 但是为何可以成功访问?????请斑竹帮忙!!! 谢谢版主 我考考考 原来$_SESSION["id"],中的SESSION要大写 狂倒!!!!!!!!!!!!!!!太谢谢版主了~!! :neutral:
PHP 和 C 语法类似,都是区分大小写的……… :wink: 新问题!!!!!
一个连接 如 www.xxx.com/search.php?work=search
在页面search.php中这个work怎么表示??
用$_POST,,,还是$_GET,,,,都不行
应该用什么呢?? 是 $_REQUEST[]
页:
[1]
2