出学speedphp模仿快速入门的留言板出错

#1 古月新晨

不用speedphp框架的echo "helloword"能正常显示,为什么用speedphp框架在main.php中的index()方法中写echo "helloword"在浏览器显示空白,官方的speedphp例子也是这个问题

2011-07-22 16:37:26

#2 phpha

空白?把你的代码发出来啊?

2011-07-22 18:45:52

#3 古月新晨

index.php:
// sp框架的目录,SpeedPHP.php文件所在的目录
define("SP_PATH",dirname(__FILE__)."/SpeedPHP");
// 应用程序目录,controller和model等文件夹所在的目录,这里设置的是根目录
define("APP_PATH",dirname(__FILE__));
// 这里开始是应用程序的配置
$spConfig = array(
        "db" => array( // 数据库设置
                'host' => 'localhost',  // 数据库地址,一般都可以是localhost
                'login' => 'root', // 数据库用户名
                'password' => '123456', // 数据库密码
                'database' => 'test', // 数据库的库名称
        ),
);
require(SP_PATH."/SpeedPHP.php");
spRun(); // SpeedPHP 3新特性
guestbook.php:
class guestbook extends spModel
{
  var $pk = "id"; // 每个留言唯一的标志,可以称为主键
  var $table = "guestbook"; // 数据表的名称
}
main.php的代码如下:

class main extends spController
{
        function index(){ // 这里是首页
                $posturl = spUrl("main", "write"); // 用spUrl制造写留言的地址
                echo "

我的留言本

";
                // 下面做一个表单来提交留言,请注意这些输入框的name属性,它们都对应了数据表guestbook的字段名!
                echo "

请写下您的留言:

您的名字:

留言标题:

留言内容:

";
                $guestbook = spClass("guestbook"); // 用spClass来初始化留言本数据表对象(模型类对象)       
                if( $result = $guestbook->findAll() ){ // 用findAll将全部的留言查出来
                        foreach($result as $value){ // 循环输出留言信息
                                $contentsurl = spUrl("main", "show", array('id'=>$value['id'])); // 用spUrl制造查看留言内容页面地址,请注意array('id'=>$value['id'])将传递ID到查看页面,由spArgs来接收。
                                echo "

这里是第{$value['id']}条留言:{$value['title']}  {$value['name']}

";
                        }
                }
        }
        function show(){ // 这里是查看留言内容
                $id = $this->spArgs("id"); // 用spArgs接收spUrl传过来的ID
                $guestbook = spClass("guestbook");  // 还是用spClass
                $condition = array('id'=>$id); // 制造查找条件,这里是使用ID来查找属于ID的那条留言记录
                $result = $guestbook->find($condition);  // 这次是用find来查找,我们把$condition(条件)放了进去
                // 下面输出了该条留言内容
                echo "

留言标题:{$result['title']}

";
                echo "

留言者:{$result['name']}

";
                echo "

留言内容:{$result['contents']}

";
        }
        function write(){ // 这里是留言
                $guestbook = spClass("guestbook");
                $guestbook->create($this->spArgs()); // 这里用$this->spArgs()取得了表单的全部内容,然后增加了一条留言记录
                echo "留言成功,返回";
        }
}       
结构:
main.php放于controller目录里,guestbook.php放到model目录里面,

2011-07-22 19:13:33

#4 jake

看看服务器错误日志。看看什么问题。

或者下载本站的speedamp服务器套装或者phpnow(都在手册上面有介绍),然后根据入门教程1来做,不修改程序的情况下,一般都能成功显示框架启动信息。

2011-07-23 09:09:24