session_start();//1、session开始,这个跟asp不一样,ASP可以直接用,这个还要声明。
可以设置为自动 但SESSION是很消耗服务器资源的尤其在访问量大的时候 所以还是按需声明的好session_register("sessionAdmin");//2、注册(调用)session???
无所谓的注册 可以不注册 而且很多时候都不注册if (strlen($sessionAdmin) == 0) {//3、$sessionAdmin这个变量那里来的???没见赋值啊,难道就是上面那个,有点不合逻辑,如果是,上面那是代表session名还是变量名???还有为啥要通过strlen检测他的长度来判断他是否为空,asp里直接if $sessionAdmin<>"" then 就可以了
自动变量 PHP4前期的做法 现在已不推荐 而且大部分主机也不支持这样做 为啥要检查长度 而不是判断是否等于NULL 是算法问题 作者喜欢这么写 俺不推荐 $pagetitle = "修改密码";//4、$pagetitle是系统变量??为啥可以直接赋值,并且还是<title></title>???这个是我见其他页面有,并且是title值,所以我也弄了个-,-
PHP的变量可以不用声明直接引用 是自定义变量 没什么特殊的 和TITLE无关 而且TITLE可以是任何变量就像ASP的那样sadmin=session("sessionAdmin"),
$sadmin = $_SESSION['sessionAdmin'];rst->movenext();
}
//9、这里很郁闷,$rst不需要关闭清空么?其他页面的没见过关闭清空类似$rst类型的代码。conn不需要关闭么,这个里面是$db,ASP不管是ac还是sql都需要关闭的,要不AC还好点,SQL问题就大了,其他页面没见到有关闭数据库连接的,我没法给他杜撰个啊
PHP在执行结束的时候会自动关闭所有资源 当然手工关闭是个好习惯

解决方案 »

  1.   

    学学MVC吧,PHP的MVC框架很好的,比如zendframework,国内的thinkphp
      

  2.   

    mvc?
    先来点简单的就好
    让我能上手
      

  3.   

    早就不推荐使用
    session_register("sessionAdmin");//2、注册(调用)session???,
    session_register("sessionPass");//同上直接使用$_SESSION["sessionAdmin"],$_SESSION["sessionPass"]而且可以直接赋值$_SESSION["sessionAdmin"]="Administrator";
      

  4.   

    谢8楼
    知道了其他问题呢
    其他问题呢???
    没人看到还是没人回答
    我10个题啊
    1个10份啊
    少么????
    5不算个问题,7还是session的问题
    算解决了
    6、8、10呢麻烦多看几眼。。
    排版不好不是俺的错。
      

  5.   

    7:一般都没有返回值,看你的类是返回什么样的类型。
    6,8:每个新的页面必须session_start()一次,才可以获取session的值
    10:你有文件看都不知道是用了那个数据库,我们又怎么会知道啊?
      

  6.   

    6.把session赋值给一个变量,php这样写:
    $sadmin=$_SESSION["sessionAdmin"];
      

  7.   

    哈哈 还真没注意 问题的标号
    1 如果需要SESSION 必须要这样做 
    2 旧版的用法 现在不用了
    3 自动变量 也是旧的的用法 现在不可以了 要$sessionAdmin = $_SESSION['sessionAdmin'];
    4 PHP的变量可以直接引用 不需要声明 系统变量查看手册
    5 协议头转向和JS转向不一样的东西 怎么用看需要
    6 4一样的问题 系统变量的用法 看看手册就会明白
    7 这里没有严格的规定 需要就取得返回值 不需要就不取得 
    8 这个DB类没用过 建议看看源码 
    9 脚本执行完 系统会自动释放 建议手工释放
    10 这个要仔细查看源码了 
    这个例子真的不怎么样 1是过时 2是不规范 3是算法真的很一般 4是没有效能的考虑
      

  8.   

    8和6是同一个问题,另外sql语句中变量两边不必写". .",如:
    $sql="SELECT * FROM ufama_manager WHERE ucase(ufama_manager_name)='$_SESSION["sessionAdmin"]'";
    7.如果不需要返回值,可以直接写$db->execute($sql);在8中你显示$upwd看一下是否正确,就知道这样写是否可行了
      

  9.   

    session_start();前面不能有输出的值,这个是新手经常犯的毛病,header()这个函数和session_start一样.
      

  10.   

    谢楼上各位
    另15楼
    $sql="SELECT * FROM ufama_manager WHERE ucase(ufama_manager_name)='$_SESSION["sessionAdmin"]'"; 
    这个句子这样写不出问题么???
    $_sessuion这个被包进引号里了,不就成了字符串了?
    这句应该是sql执行的吧???难道先被php执行下,不会吧,他是赋给一个变量了啊,整个就是一个字串啊我最早的问题都解决了,可以结贴了,如果有人再次看到本帖,希望回答下我新提的这个
    特别感谢14楼!!!12.13楼的,俺菜鸟啊,分的清好坏还问你们干啥啊。
    评分标准:
    灌水有罪,5分
    答题很对:10分
    最佳答案:+10分
      

  11.   

    楼主真会折腾$sql="SELECT * FROM ufama_manager WHERE ucase(ufama_manager_name)='$_SESSION["sessionAdmin"]'";可以执行你echo $sql;看看结果 这个过程究竟是怎么执行的,确实不太明白
    个人理解是这样的
    “”中的'',没有意义,这个句子的结果就是
    SELECT * FROM ufama_manager WHERE ucase(ufama_manager_name)='xxxx';所以能执行