我已经对php绝望了,本来打算用php做个个人网站的,现在改jsp算了!!!散100 分 我用过php 开发调试稍微麻烦 不过jsp怎么样 我没用过 我在东软的同学就用这个 我也打算学这个了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 本来就是个概念有能力自己设计mysession 总之jsp>phpjsp起点太高,否则我也改学jsp了 本来打算用php做个个人网站的-----肯定是没有学好PHP 有什么不满意的,说来听听看,PHP很棒的,Session也很优秀的嘛! 我说也是,php那么好用,还有什么可以奢求的?况且php.net一直在努力,不会轻言放弃的,我也不会! 哎--,不要烦燥嘛,你就是学JSP,也有session的问题呀,你躲不了的。在PHP里,这个概念并不太难,我来给你讲。首先,你的session要好使,PHP4.1以上的版本别忘了把php.ini中的register_globle=Off设成register_globle=On,还有就是session.cookie_path = /,注意这行不可以乱改,有的版本PHP改了这个设置session就不好使,这是PHP的一个BUG.如果你的设置不成问题,假设你的session已经设置好了,然后。使用session变量的目的,无非就是为了使在某一页定义的一个变量,以后在其他任何想用的页都可以拿来就用。要想使某个变量成为这样的变量,就把它注册成session变量!注册session变量:<? //这个PHP代码段必须在程序的第一行,前面连一个空格也不可以留session_start();//这句话可以不在第一行,但是前面不能有“echo”之类的输出语句session_register('username');//注意:注册时变量名不能加$?>象上面这样,你就完成了对$username这个变量的注册,你可以在本页给它赋值:<?$username='王八蛋';//这时的session变量用起来就象普通变量?>如果你想在其他页使用这个变量,也非常简单,你只要在那页前面加上一行:<?session_start();?>就可以了,然后$username这个变量,就可以象普通变量一样被使用,前面赋的值也依然存在。在不使用这个变量的页,你就没必要加session_start()这行。基本的就这些,难么?这些你用熟了,你还可以去看看session的其他函数,相信你也不会觉得太难的。如果某一个版本的session就是不好用,你就换个版本试试,不行就用老版本,PHP4.05版的session肯定好用,等用熟练了,再去研究新版本的变化,这样就好办啦!如果你的session用到面向对象了,我就向你推荐我的FAQ贴:http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=26427好啦,祝你好运! 其实PHP比JSP更好调试的。session,就像楼上说得那样,不是很麻烦的,静下心来看看,你一定没问题的。 首先,感谢各位的热心回复,特别是telescope(望远镜) 你的文章很精彩,我用的是php4.2.2,不知道你们觉得这个session怎么样,反正我怎么用都有错。下面是代码:checkLogin.php=================<?php session_start(); if(!isset($username) && !isset($password)){ $username = ""; $password = ""; $username = $_POST["username"]; $password = $_POST["password"];}include("./db/connect_db.php"); $user_exists = false; $sqlstr = "select id,type,username,password,true_name from users where username = '$username'"; $result = mysql_query($sqlstr) or die(mysql_error()); $rowcount = mysql_num_rows($result); $array = mysql_fetch_row($result); $colse = mysql_close($connect); if($rowcount == 0 || $array[3] != $password){ Header("Location:./loginError.html"); }else{ $id = $array[0]; $type = $array[1]; $username = $array[2]; $password = $array[3]; $true_name = $array[4]; $user_exists = true; } if($user_exists){ $loginType = "administrator"; session_register('loginType'); } $guest = 0; $time = time(); $ip = getenv("REMOTE_ADDR"); $sqldel = "delete from session where username = '$username'"; $sqlstr = "insert into session values ('$username','$time','$ip',$guest)"; $result = mysql_query($sqldel); $result = mysql_query($sqlstr); Header("Location:./admin/admin.php");?>====================isLogin.php====================<?php session_start(); if(session_is_registered('loginType')){ echo $_SESSION['loginType']; }else { Header("Location:../login.html"); }?>=================admin/admin.php=================<?php include ("../isLogin.php");?><HTML><HEAD><TITLE> | - Myidea -> admin </TITLE><META NAME="Generator" CONTENT="EditPlus"><META NAME="Author" CONTENT="abeau"><META NAME="Keywords" CONTENT="myidea"><META NAME="Description" CONTENT="version 1.0"><link rel="stylesheet" type="text/css" href="style/style.css"></HEAD><BODY bgcolor="#ffffff" text="#000000" topmargin="5" leftmargin="5"><center> <table width="780" border="0" cellspacing="0" cellpadding="0" height="360"> <tr valign="middle"> <td colspan="2" width="25" height="25" align="left"> </td> </tr> <tr> <td width="167" height="360" align="left" valign="top"> </td> <td width="613" height="360" align="left" valign="middle"> </td> </tr> </table></center></BODY></HTML>错误就是,即使你已经成功登录,也不能到达admin/admin.php 你们就吹吧!看我给你们吹一个楼上的楼上的楼上的楼上的楼上的楼上的楼上的楼上的你们用过pear吗??session只需调用Auth/Auth.php,一切搞定!!搂主既然有专jsp的想法,那我给你一句话,如果你看了pear那你将是世界前500位php真正高手,而且你将再也不消学jsp了 希望大家继续讨论,本帖分数为300分我来说说 jsp中的sessionjsp中,session 处理的就比php强.jsp 中的session默认就是一个已经实例化的对象,可以直接使用jsp中的session 可以用 session.setAttribute(String Name,Object Value);方法 在session中存储一个对象;以后可以用session.getAttribute(String Name);发发 获取相应的变量值。由于session.getAttribute();从session中所获取的值是Object 类,所以可以对其按照需要进行相应的转换。我觉得,这点好像就比php直观一点^_^其他方面,都很少用到,就没有必要做讨论------------------以上一切,仅仅是讨论而已^_^!小弟想用php做网站,也就是因为php比较方便,至少没有jsp中的中文问题,而且,配置也比较简单,现在支持php的空间也比较多,比较便宜。但是功能可能教jsp稍微差了那么一点。谢谢大家的支持! php还可以啊,自由软件的代表之一呀,JSP也可以呀,运行规模和速度要比前者高 php是不错呀我一直用它php挺好的,php天天见.^_^ 呵呵!知难而退,是好同志!在你的代码中没有看到注册session变量的代码。 有阿if($user_exists){ $loginType = "administrator"; session_register('loginType'); } 掉以下次序if($user_exists){ session_register('loginType'); $loginType = "administrator";}你的php版本是多少? 没学过Jsp。不敢说Jsp好。学过Php,所以改说Php不错。:P snolidge(布鞋) ,我现在正在用PEAR做开发DB、ERROR、LOG、IT都用,自己的水平只敢说在世界5M强之内,呵呵 我不知道php到底好不好,但我们公司现在要用php开发mis系统。你们说行不行。 如果用PHP的面向对象和模板,应该没什么问题,如果不用面向对象,那还是不要继续下去啦,没好处的。 我用pear和horde framework开发,自己的水平只敢说在世界50M强之内 关于汉字utf8编码 关于php 正则替换 怎么把asp网站转成php php中设置cookie,在linux主机中读不出,求教 很弱智的问题,关于类的访问的 关于Resource id #3的问题 求教:PHP有没有sha1withrsa算法 求域名查询代码 select显示 file_get_contents 函数屏蔽网址 发手机短信能实现吗? 变量定义为何不成功
有能力自己设计mysession
jsp起点太高,否则我也改学jsp了
-----肯定是没有学好PHP
在PHP里,这个概念并不太难,我来给你讲。
首先,你的session要好使,PHP4.1以上的版本别忘了把php.ini中的register_globle=Off设成register_globle=On,还有就是session.cookie_path = /,注意这行不可以乱改,有的版本PHP改了这个设置session就不好使,这是PHP的一个BUG.
如果你的设置不成问题,假设你的session已经设置好了,然后。
使用session变量的目的,无非就是为了使在某一页定义的一个变量,以后在其他任何想用的页都可以拿来就用。要想使某个变量成为这样的变量,就把它注册成session变量!
注册session变量:
<? //这个PHP代码段必须在程序的第一行,前面连一个空格也不可以留
session_start();//这句话可以不在第一行,但是前面不能有“echo”之类的输出语句
session_register('username');//注意:注册时变量名不能加$
?>
象上面这样,你就完成了对$username这个变量的注册,你可以在本页给它赋值:
<?
$username='王八蛋';//这时的session变量用起来就象普通变量
?>如果你想在其他页使用这个变量,也非常简单,你只要在那页前面加上一行:
<?
session_start();
?>
就可以了,然后$username这个变量,就可以象普通变量一样被使用,前面赋的值也依然存在。在不使用这个变量的页,你就没必要加session_start()这行。基本的就这些,难么?这些你用熟了,你还可以去看看session的其他函数,相信你也不会觉得太难的。
如果某一个版本的session就是不好用,你就换个版本试试,不行就用老版本,PHP4.05版的session肯定好用,等用熟练了,再去研究新版本的变化,这样就好办啦!
如果你的session用到面向对象了,我就向你推荐我的FAQ贴:
http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=26427好啦,祝你好运!
session,就像楼上说得那样,不是很麻烦的,静下心来看看,你一定没问题的。
我用的是php4.2.2,不知道你们觉得这个session怎么样,反正我怎么用都有错。
下面是代码:
checkLogin.php
=================
<?php
session_start();
if(!isset($username) && !isset($password)){
$username = "";
$password = "";
$username = $_POST["username"];
$password = $_POST["password"];
}
include("./db/connect_db.php"); $user_exists = false;
$sqlstr = "select id,type,username,password,true_name from users where username = '$username'";
$result = mysql_query($sqlstr) or die(mysql_error());
$rowcount = mysql_num_rows($result);
$array = mysql_fetch_row($result);
$colse = mysql_close($connect); if($rowcount == 0 || $array[3] != $password){
Header("Location:./loginError.html");
}else{
$id = $array[0];
$type = $array[1];
$username = $array[2];
$password = $array[3];
$true_name = $array[4];
$user_exists = true;
} if($user_exists){
$loginType = "administrator";
session_register('loginType');
}
$guest = 0;
$time = time();
$ip = getenv("REMOTE_ADDR");
$sqldel = "delete from session where username = '$username'";
$sqlstr = "insert into session values ('$username','$time','$ip',$guest)";
$result = mysql_query($sqldel);
$result = mysql_query($sqlstr);
Header("Location:./admin/admin.php");
?>
====================
isLogin.php
====================
<?php
session_start(); if(session_is_registered('loginType')){
echo $_SESSION['loginType'];
}else {
Header("Location:../login.html");
}
?>
=================
admin/admin.php
=================
<?php
include ("../isLogin.php");
?>
<HTML>
<HEAD>
<TITLE> | - Myidea -> admin </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="abeau">
<META NAME="Keywords" CONTENT="myidea">
<META NAME="Description" CONTENT="version 1.0">
<link rel="stylesheet" type="text/css" href="style/style.css">
</HEAD><BODY bgcolor="#ffffff" text="#000000" topmargin="5" leftmargin="5">
<center>
<table width="780" border="0" cellspacing="0" cellpadding="0" height="360">
<tr valign="middle">
<td colspan="2" width="25" height="25" align="left"> </td>
</tr>
<tr>
<td width="167" height="360" align="left" valign="top"> </td>
<td width="613" height="360" align="left" valign="middle"> </td>
</tr>
</table>
</center>
</BODY>
</HTML>错误就是,即使你已经成功登录,也不能到达admin/admin.php
看我给你们吹一个
楼上的楼上的楼上的楼上的楼上的楼上的楼上的楼上的
你们用过pear吗??
session只需调用Auth/Auth.php,一切搞定!!
搂主既然有专jsp的想法,那我给你一句话,如果你看了pear那你将是世界前500位php真正高手,而且你将再也不消学jsp了
在session中存储一个对象;以后可以用session.getAttribute(String Name);发发
获取相应的变量值。由于session.getAttribute();从session中所获取的值是Object
类,所以可以对其按照需要进行相应的转换。我觉得,这点好像就比php直观一点^_^其他方面,都很少用到,就没有必要做讨论------------------
以上一切,仅仅是讨论而已^_^!
小弟想用php做网站,也就是因为php比较方便,至少没有jsp中的中文问题,而且,配置也
比较简单,现在支持php的空间也比较多,比较便宜。但是功能可能教jsp稍微差了那么一点。
谢谢大家的支持!
我一直用它
php挺好的,php天天见.^_^
$loginType = "administrator";
session_register('loginType');
}
if($user_exists){
session_register('loginType');
$loginType = "administrator";
}你的php版本是多少?
学过Php,所以改说Php不错。:P
DB、ERROR、LOG、IT都用,自己的水平只敢说在世界5M强之内,呵呵
你们说行不行。