免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2736 | 回复: 7
打印 上一主题 下一主题

在网上下载模版,问题多多,无法继续了,请帮忙。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-01-24 14:03 |只看该作者 |倒序浏览
hello all:

本人是PHP以及WEB新手,为了学习,在网上下载了一个简单的BLOG系统,是基于LAMP的。

目前我已经在FC上配置好了LAMP环境,并基于这个BLOG系统的框架,修改成自己的应用。现在有几个问题:

1)登陆界面为Tpl/Default/Login.php,在用户点击enter的时候需要执行查询数据库操作,验证是否合法用户(如果存在就算合法)。现基于此框架,我应该如何在Login.php页面中加入数据库操作。

2)后台操作在Modules/Default/Login.php中实现,其中Login部分为我加入的,执行这段数据库查询后错误如下:
Parse error: syntax error, unexpected T_VARIABLE in /usr/local/apache2/htdocs/Modules/Default/Login.php on line 24
我不太明白什么意思。

3)我大概把这个框架的组成理了一下:
App---
         |---Auto.php自动创建对象
      |---Manager.php页面后台类的基类
      |---Run.php App_Run这个类会在什么时候创建的?
Config---这个框架的配置文件
Function---全局函数
Lib---用户自定义类库,封装了数据库操作,另Lib_Tpl不明白什么用的?
Module---页面对应类
Tpl---项目的主要页面

对我一个PHP和Web的外行而言,我也觉得这个框架的结构比较清楚,为了继续原本还不错的结构和机制与策略分离的原则,我把修改过的代码传上来,并希望得到大家帮助,多谢!
htdocs.tar.gz (914.89 KB, 下载次数: 37)

论坛徽章:
0
2 [报告]
发表于 2009-01-24 16:16 |只看该作者
是不是都放假了,人气不旺啊

论坛徽章:
0
3 [报告]
发表于 2009-01-31 19:55 |只看该作者

看了下代码,怎么看都是个半成品

Parse error: syntax error, unexpected T_VARIABLE in /usr/local/apache2/htdocs/Modules/Default/Login.php on line 24

语法错误


Login.php  基本就是一个空实现。。。

或者你先原这个

$sql = "SELECT * FROM GRADE WHERE exists (SELECT * FROM STUDENT WHERE STDNUM="$username") AND STDNUM="$username";

SQL错误

论坛徽章:
0
4 [报告]
发表于 2009-02-01 11:15 |只看该作者

回复 #3 liuxingyuyuni 的帖子

我也知道这是一个半成品,但没关系,我只是在这个框架基础上开发自己的应用。

Login.php确实基本上是个空实现。

我的问题在于理请这个框架中网页以及与网页对应的类的调用关系!!!

比如:
网页Login.php与Modules_Default_Login这个类是如何对应起来的?
Modules_Default_Login这个类是何时被创建的?
网页Login.php是怎么调用到Modules_Default_Login这个类中成员函数的?
如果我要实现用户在页面上点击“登陆”后,执行数据库查询的操作,我该如何改写?
Modules_Default_Login这个类?然后在网页中如何调用这个类的成员函数?

搞清了这些问题,应用就好做了。多谢大家关注!

[ 本帖最后由 NewCore 于 2009-2-1 11:18 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2009-02-01 12:02 |只看该作者
查看App/下的三个文件
Auto.php -> 自动加载类文件

function __autoload($class){
        echo "__autoload->$class ";
        $classpath = str_replace('_','/',$class).'.php';
       
        if(!include_once($classpath)) {
                throw new Exception("__autoload");
        }
}
---------------------------------------------------
例如:Modules/Default/Loin.php
               ↓
$classpath = str_replace('_','/',$class).'.php';
               ↓
       Modules_Default_Login => 查看/Modules/Admin 及 /Modules/Default下所有文件中类的命令规则

通过URL给定参数就可以调用指定模型及其方法.
---------------------------------------------------
Manage.php -> 系统模型类
所有模型继承App_Manage类,在这个类中只是简单的引用了模板对象及数据库对象
---------------------------------------------------
现在来看Run.php

在index.php 启动程序中调用了App_Run对象
其中routing路由方法:

public function routing(){
        // MOBILE_MODEL    => 存储模型类的文件夹名称
        // MODEL_SWITCHING => 控制器名称
        // $_REQUEST['do'] => 动作
        $model = MOBILE_MODEL.'_'.MODEL_SWITCHING.'_'.$_REQUEST['do'];
       
        if(class_exists($model)){
                $cake = new $model;
                //调用指定模型的方法
                method_exists($cake,'model') && $cake->model();
                method_exists($cake,'show') && $cake->show();
        }else{
                throw new Exception("App_Run");
        }
}
再加上Tpl.php 简单的模板类。OK,That's all 简单的MVC实现

[ 本帖最后由 liuxingyuyuni 于 2009-2-1 12:04 编辑 ]

论坛徽章:
0
6 [报告]
发表于 2009-02-01 14:57 |只看该作者
例如:Modules/Default/Loin.php
               ↓
$classpath = str_replace('_','/',$class).'.php';
               ↓
       Modules_Default_Login => 查看/Modules/Admin 及 /Modules/Default下所有文件中类的命令规则

通过URL给定参数就可以调用指定模型及其方法.


如果我要在Login.php页面中“调用Module_Login_Default的方法,如何实现?
在Login.php页面中并不能如何获取到Module_Login_Default对象实例?

论坛徽章:
0
7 [报告]
发表于 2009-02-04 10:06 |只看该作者
有没有朋友支支招,帮帮忙,拜谢!

论坛徽章:
0
8 [报告]
发表于 2009-02-04 15:39 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP