我用过php 开发调试稍微麻烦 不过jsp怎么样 我没用过  我在东软的同学就用这个 我也打算学这个了

解决方案 »

  1.   

    本来就是个概念
    有能力自己设计mysession
      

  2.   

    总之jsp>php
    jsp起点太高,否则我也改学jsp了
      

  3.   

    本来打算用php做个个人网站的
    -----肯定是没有学好PHP
      

  4.   

    有什么不满意的,说来听听看,PHP很棒的,Session也很优秀的嘛!
      

  5.   

    我说也是,php那么好用,还有什么可以奢求的?况且php.net一直在努力,不会轻言放弃的,我也不会!
      

  6.   

    哎--,不要烦燥嘛,你就是学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好啦,祝你好运!
      

  7.   

    其实PHP比JSP更好调试的。
    session,就像楼上说得那样,不是很麻烦的,静下心来看看,你一定没问题的。
      

  8.   

    首先,感谢各位的热心回复,特别是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">&nbsp;</td>
        </tr>
        <tr> 
          <td width="167" height="360" align="left" valign="top">&nbsp;</td>
          <td width="613" height="360" align="left" valign="middle">&nbsp;</td>
        </tr>
      </table>
    </center>
    </BODY>
    </HTML>错误就是,即使你已经成功登录,也不能到达admin/admin.php  
      

  9.   

    你们就吹吧!
    看我给你们吹一个
    楼上的楼上的楼上的楼上的楼上的楼上的楼上的楼上的
    你们用过pear吗??
    session只需调用Auth/Auth.php,一切搞定!!
    搂主既然有专jsp的想法,那我给你一句话,如果你看了pear那你将是世界前500位php真正高手,而且你将再也不消学jsp了
      

  10.   

    希望大家继续讨论,本帖分数为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稍微差了那么一点。
    谢谢大家的支持!
      

  11.   

    php还可以啊,自由软件的代表之一呀,JSP也可以呀,运行规模和速度要比前者高
      

  12.   

    php是不错呀
    我一直用它
    php挺好的,php天天见.^_^
      

  13.   

    呵呵!知难而退,是好同志!在你的代码中没有看到注册session变量的代码。
      

  14.   

    有阿if($user_exists){
    $loginType = "administrator";
    session_register('loginType');
    }
      

  15.   

    掉以下次序
    if($user_exists){
      session_register('loginType');
      $loginType = "administrator";
    }你的php版本是多少?
      

  16.   

    没学过Jsp。不敢说Jsp好。
    学过Php,所以改说Php不错。:P
      

  17.   

    snolidge(布鞋) ,我现在正在用PEAR做开发
    DB、ERROR、LOG、IT都用,自己的水平只敢说在世界5M强之内,呵呵
      

  18.   

    我不知道php到底好不好,但我们公司现在要用php开发mis系统。
    你们说行不行。
      

  19.   

    如果用PHP的面向对象和模板,应该没什么问题,如果不用面向对象,那还是不要继续下去啦,没好处的。
      

  20.   

    我用pear和horde framework开发,自己的水平只敢说在世界50M强之内