欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

ThinkPHP3.1快速入门(2)数据CURD 评论

shiping1 的头像
php学习狗01月14日
添加标题内容提交后出现 Not Found
The requested URL /think/app/Tpl/Form/__URL__/insert was not found on this server.
Apache/2.4.9 (Win32) PHP/5.5.12 Server at localhost Port 80
thinkxi01月09日
为什么我访问http://localhost/app/index.php/Form/add时出现路径找不到?
Not Found
The requested URL /app/index.php/Form/add was not found on this server.
Generalsphper01月04日
这个
  1.  
  2.  if($Form->create()){
  3. $result =   $Form->add();
  4.  ....
  5.  }
  6.  
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 

我还真看不懂了 不是说添加用的是add么怎么又出现了create呢?
回复Generalsphper01月05日
没看清 , 有区别的 罪过罪过。
回复paulsen02月19日
create 相当于是验证 add相当于是写入数据库
悠悠木子李10月17日
没有app有个Application,然后照着方法做不好用。。。。
回复phpBill12月14日
那个是3.2.3版本的,本例是针对3.1.3版本
ioriandy407月27日
"就可以看到表单页面了,我们并没有在控制器里面定义add操作方法,但是很显然,访问是正常的。因为ThinkPHP在没有找到对应操作方法的情况下,会检查是否存在对应的模板文件,由于我们有对应的add模板文件,"
为什么我做到这一步老是报错了???
非法操作:add
错误位置
FILE: G:\360yunpan\wamp_company\tp\ThinkPHP\Common\functions.php  LINE: 112
回复ByCore10月22日
你需要在控制器中添加 insert方法
voyager07月12日
第一次学习,感觉教程写的不够详细,特别是对代码没有一步一步的注释。
bgh199305月22日
谁能给我说说tp3.1链接sqlserver2005的问题啊?
hstar05月20日
老大最好写清楚,我下载了这版的例子,然后用thinkphp3.1.2核心版代码调了一晚上也没搞定,刚下了个thinkphp3.1.3完整版,立马没问题了,晕死,学习了!
electroApache05月15日
public function read($id=0){
$Form = M('Form');
// 读取数据
$data = $Form->find($id);
这个$id好像可以不赋值,请问下赋值有什么好处?
Aexus04月17日
M和D傻傻分不清楚
回复Aexus04月29日
回复 xiansanren : 已了解.谢谢!
aguang_hello04月17日
为什么我的没有验证,空白也能提交成功
回复xiansanren04月28日
百度了一下,说是要D(''),里面的字段要大写,检查了下我的是大写的,然后我又删除Form,重新写了,就有验证了
回复xiansanren04月28日
百度了一下,说是要D(''),里面的字段要大写,检查了下我的是大写的,然后我又删除Form,重新写了,就有验证了
iamgod03月18日
nginx-conf-vhost-localhost.conf里面的内容更改为
  1. server {
  2.         listen      80;
  3.         server_name localhost 127.0.0.1;
  4.         root        /www/docs/localhost;
  5.         index       index.html index.htm index.php;
  6.         charset     utf-8;
  7.         access_log  logs/localhost-access.log;
  8.         error_log   logs/localhost-error.log;
  9.         #auth_basic "AUTH";
  10.         #auth_basic_user_file D:/www/users/staff;
  11.         if (!-e $request_filename) {
  12.             rewrite  ^(.*)$  /index.php?s=$1  last;
  13.         }
  14.         location ~ \.php$ {
  15.             include php.conf;
  16.         }
  17.     }
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
iamgod03月18日
修改完配置要记得重启nginx服务啊!
SmilingGuy03月17日
public function welcome(){
if(IS_POST){
$user['iphone'] = $_POST['iphone'];
$user['email'] = $_POST['email'];
$user['user'] = $_POST['user'];
$user['password'] = $_POST['password1'];
$Model = M('user');
$Model->add($user);

}else{
$this->error('亲,您非法操作了,赶紧回头是岸!','login',3);
}
$this->display();

}用户和密码添加向数据库成功,手机和邮箱添加失败,而且数据都确定传到这个数据来了,就是不能添加手机和邮箱,怎么回事?
回复绑定注册305月18日
没理由提交不成功,可能你数据库的问题
回复绑定注册305月18日
没理由提交不成功,可能你数据库的问题
iamgod03月17日
今天请教了我师傅,可以在config.php里添加'URL_MODEL'=>2,进入rewrite模式
qwcjy2430352102015年02月04日
同时楼主代码,为什么我的直接404???
回复qwcjy2430352102015年02月05日
问了朋友,问题已经解决。
控制器:class FormAction extends Action改动如下 
  1.  
  2.  namespace Home\Controller;
  3.  use Think\Controller;
  4.  class FormController extends Controller {
  5.  }
  6.  
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 

Model改动如下
  1.  
  2.  namespace Home\Model;
  3.  use Think\Model;
  4.  class FormModel extends Model {
  5.  }
  6.  
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 

add.html模块里面内容Form表单
  1. <FORM method="post" action="__URL__/insert">
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 

改为
  1. <FORM method="post" action="{:U('home/Form/insert')}">
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 

就没问题了,新手小白,不对的地方勿喷!
回复qwcjy2430352102015年02月05日
问了朋友,问题已经解决。
控制器:class FormAction extends Action改动如下 
  1.  
  2.  namespace Home\Controller;
  3.  use Think\Controller;
  4.  class FormController extends Controller {
  5.  }
  6.  
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 

Model改动如下
  1.  
  2.  namespace Home\Model;
  3.  use Think\Model;
  4.  class FormModel extends Model {
  5.  }
  6.  
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 

add.html模块里面内容Form表单
  1. <FORM method="post" action="__URL__/insert">
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 

改为
  1. <FORM method="post" action="{:U('home/Form/insert')}">
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 

就没问题了,新手小白,不对的地方勿喷!
yumi2015年01月11日
  1.  
  2.  测试
  3.  测试
  4.  测试
  5.  
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
吃荷包蛋2014年12月25日
通过表单添加数据的时候报错:
非法操作:_url_
错误位置
FILE: C:\wamp\www\app\ThinkPHP\Common\functions.php  LINE: 112
我都没动那个文件夹里的文件怎么会报那里的错
回复william要加油2014年12月26日
是你的代码有误导致他那边会出错。先检查你的代码,然后看看config里面的数据库配置有没有错误。不行的话可以吧代码贴上来,大家初学者要互帮互助~
回复william要加油2014年12月26日
是你的代码有误导致他那边会出错。先检查你的代码,然后看看config里面的数据库配置有没有错误。不行的话可以吧代码贴上来,大家初学者要互帮互助~
sihang2014年12月25日
我都按照教程来写,为什么到$result = $Form->add()的时候,$result的值总是false,导致插入数据不成功,老是写入错误的,表的主键自增长也设置了。请问是什么原因呢?
回复sihang2014年12月25日
好吧,我傻。了,配置没配好 导致的
回复sihang2014年12月25日
好吧,我傻。了,配置没配好 导致的
aa340949872014年12月23日
protected $_auto = array(
array('create_time','time',1,'function'),
);
}
详细每个参数什么意义
回复william要加油2014年12月23日
create_time是表中字段,time是获取时间戳,1完成条件,这里是新增数据时处理,function是附加规则,这里是使用函数,表示填充的内容是一个函数名。手册里面就有了。
回复吃荷包蛋2014年12月25日
回复 william要加油 : 不过任何时间添加都显示为0
回复william要加油2014年12月26日
回复 吃荷包蛋 : 数据库错了还是字段错了还是标错了?这个按照他做的我是没有问题。
回复xiansanren04月28日
回复 吃荷包蛋 : 同求原因(之前也是添加时间显示为0,后来不知道怎么改的,添加的是时间戳)
回复william要加油2014年12月23日
create_time是表中字段,time是获取时间戳,1完成条件,这里是新增数据时处理,function是附加规则,这里是使用函数,表示填充的内容是一个函数名。手册里面就有了。
回复吃荷包蛋2014年12月25日
回复 william要加油 : 不过任何时间添加都显示为0
回复william要加油2014年12月26日
回复 吃荷包蛋 : 数据库错了还是字段错了还是标错了?这个按照他做的我是没有问题。
回复xiansanren04月28日
回复 吃荷包蛋 : 同求原因(之前也是添加时间显示为0,后来不知道怎么改的,添加的是时间戳)
aguang_hello04月17日
为什么我的没有验证,空白也能提交成功
iamgod03月18日
nginx-conf-vhost-localhost.conf里面的内容更改为
  1. server {
  2.         listen      80;
  3.         server_name localhost 127.0.0.1;
  4.         root        /www/docs/localhost;
  5.         index       index.html index.htm index.php;
  6.         charset     utf-8;
  7.         access_log  logs/localhost-access.log;
  8.         error_log   logs/localhost-error.log;
  9.         #auth_basic "AUTH";
  10.         #auth_basic_user_file D:/www/users/staff;
  11.         if (!-e $request_filename) {
  12.             rewrite  ^(.*)$  /index.php?s=$1  last;
  13.         }
  14.         location ~ \.php$ {
  15.             include php.conf;
  16.         }
  17.     }
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
iamgod03月18日
修改完配置要记得重启nginx服务啊!
SmilingGuy03月17日
public function welcome(){
if(IS_POST){
$user['iphone'] = $_POST['iphone'];
$user['email'] = $_POST['email'];
$user['user'] = $_POST['user'];
$user['password'] = $_POST['password1'];
$Model = M('user');
$Model->add($user);

}else{
$this->error('亲,您非法操作了,赶紧回头是岸!','login',3);
}
$this->display();

}用户和密码添加向数据库成功,手机和邮箱添加失败,而且数据都确定传到这个数据来了,就是不能添加手机和邮箱,怎么回事?
iamgod03月17日
今天请教了我师傅,可以在config.php里添加'URL_MODEL'=>2,进入rewrite模式
qwcjy2430352102015年02月04日
同时楼主代码,为什么我的直接404???
yumi2015年01月11日
  1.  
  2.  测试
  3.  测试
  4.  测试
  5.  
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
吃荷包蛋2014年12月25日
通过表单添加数据的时候报错:
非法操作:_url_
错误位置
FILE: C:\wamp\www\app\ThinkPHP\Common\functions.php  LINE: 112
我都没动那个文件夹里的文件怎么会报那里的错
sihang2014年12月25日
我都按照教程来写,为什么到$result = $Form->add()的时候,$result的值总是false,导致插入数据不成功,老是写入错误的,表的主键自增长也设置了。请问是什么原因呢?
aa340949872014年12月23日
protected $_auto = array(
array('create_time','time',1,'function'),
);
}
详细每个参数什么意义
ym小鞋2014年10月17日
请问一下如果通过内部输入而不是通过表单的话 ,那么这段代码一般放在在什么地方:
$Form = D('Form');
$data['title'] = 'ThinkPHP';
$data['content'] = '表单内容';
$Form->add($data);
是不是就不需要建立模板html文件了,直接调试运行?
回复hoojunev2014年10月20日
当然是Controller啊,所有操作都在Controller里面进行
回复吃荷包蛋2014年12月25日
回复 hoojunev : 这个在哪里
GameLife__Dream2014年10月11日
上面的代码是用什么编辑器写的
kapaseker2014年10月07日
为什么我的没有表单验证???
songmingshuo2014年09月15日
照着做,实现了
子顾2014年09月03日
查询操作中给方法参数$id=0,这个是什么意思,这样做可以给它一个默认值?
回复hoojunev2014年10月20日
默认值
paopaoshalj2014年08月29日
为啥在页面更新了,数据库还没有改变
回复子顾2014年09月03日
我的也是,数据表里面只存在一行数据,而且只有id和create_time有值,是0。不知道为什么,多次添加都是只有这一行。
回复子顾2014年09月03日
回复 子顾 : 原来是工具的问题,我把navicat关了重新开一次就看到了里面的数据了。
回复paopaoshalj2014年09月03日
回复 子顾 : 啥意思?你开发工具不是EPP吗?
回复子顾2014年09月04日
回复 paopaoshalj : EPP?没用过
夏日小草2014年08月29日
TP好烂!!擦。
黄宁2014年07月29日
上边的add方法中如果不写任何代码,那么第一次就不可能出现表单,加上$this->display()表单才会显示。
回复子顾2014年09月03日
不用吧,我连add方法都不用写也是可以显示出来的。
shl10043177312014年06月28日
问什么男女用char类型,增加的时候就会乱码
回复黄宁2014年07月29日
可能是你的字符类型没有弄对,设置为utf8-general-ci
rayliao2014年06月11日
表单的自动验证不起作用,贴上代码:
在Model目录下FormModel.class.php
  1.  
  2.  <?php
  3.  class FormModel extends Model{
  4.     //定义自动验证
  5.     protected $_validate = array(
  6.         array('title','require','标题必须'),    
  7.     );
  8.     //定义自动完成
  9.     protected $_auto = array(
  10.         array('create_time','time',1,'function'), 
  11.     );
  12.  }
  13.  
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 

FormAction.class.php
  1.  
  2.  public function insert(){
  3.         $Form=D('think_form');
  4.         if($Form->create()){
  5.             $result=$Form->add();
  6.             if($result){
  7.                 $this->success('操作成功!');
  8.             }else{
  9.                 $this->error('写入错误!');
  10.             }
  11.         }else{
  12.             $this->error($Form->getError());
  13.         }
  14.     }
  15.  
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 

add.html
  1.  
  2.  <form method="post" action="__URL__/insert">
  3.     标题:<input type="text" name="title"><br/>
  4.     内容:<textarea name="content" rows="5" cols="45"></textarea><br/>
  5.     <input type="submit" value="提交">
  6.  </form>
  7.  
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
回复JimZzzzzzzzzzzz2014年07月08日
在FormModel 中添加表字段 protected $fields = array(
'id','title','content','create_time','_pk' => 'id','_autoinc' => true
);
自动验证和自动添加就行了
回复子顾2014年09月03日
回复 JimZzzzzzzzzzzz : 我也是自动验证不起作用,加了这个一样不行呀。昨回事捏
回复子顾2014年09月03日
回复 子顾 : 原来是我的model层的类路径写错了。
小小猪2014年05月29日
如果我在读取的页面加上一个删除按钮
<form method="post" action="__URL__/delete">
<table>
<tr>
<td>id:</td>
<td>{$data.id}</td>
</tr>
<tr>
<td>标题:</td>
<td>{$data.title}</td>
</tr>
<tr>
<td>内容:</td>
<td>{$data.content}</td>
</tr>
<tr>
<td>
<input type="hidden" name="id" value="{$vo.id}"></br>
<input type="submit" value="删除">
</td>

</tr>
</table>
</form>
怎么样写方法能把读取出来的数据从数据库里删除?
回复potherb2014年05月30日
1.$Form = M('Form');
2. $Form->delete(5);
回复ym小鞋2014年10月17日
回复 potherb : 请问这个删除代码放在那个文件夹里面?怎么实现
$Form = M('Form')
$Form->delete(5)
ansen1252014年05月25日
3.2.2版本中Tpl目录是不是就是view目录啊,我再view目录里创建了Form目录然后创建了add.html文件后,url为http://localhost/Home/index.php/Form/add报404啊,如果url为http://localhost/index.php?m=Home&c=form&a=add,就能出来页面
如果url为http://localhost/index.php?m=Form&c=form&a=add,提示无法加载form模块,整晕了我都
回复potherb2014年05月29日
PATHINFO模式的url:http://localhost/index.php/Home/Form/add 就可以了
roro51192014年04月23日
创建的时候,把 D('Form'); 这里的Form换了其他名字,不输入标题也能提交,不提示标题必须的?
florida07232014年04月09日
且学且动手!
回复iLoveProgram2014年04月10日
[<font color='red'>]且行且珍惜[/</font>]
qj12ppk2014年03月31日
D、M函数调用的时候,参数Data、Form是表的名字吗?为什么建表的时候都是小写,这里传参的时候首字母要大写?
回复艾逗笔2014年05月24日
因为数据表是以think开头的,实例中的两个数据表分别是think_data和think_form,在config.php中设置了'DB_PREFIX'=>'think_',因此用D、M函数的时候可以省掉think_而直接用数据表后面的部分,参数Data、Form是表的名字,设置首字母大写是为了突出数据表省略了前缀think_,其实你用小写一样是可以的,但是规范的写法是用大写。
Phamas2014年03月29日
$User->delete('1,2,5');
这里应该说清楚必须用字符串,数组的话会清空表,反正我悲剧了
戏子2014年03月26日
不错哟!
windrunner2014年03月20日
请问哪里可以设置全局的网页编码格式?
我想统一成UTF-8
回复yoliang2014年05月20日
同问
回复Csfamily2015年01月03日
这个我觉得是在本地编译器吧。。。
ljj7722014年03月18日
为什么表单的自动验证没起到作用,直接提交了,而且都为空值
// 定义自动验证
protected $_validate = array (
array (
'title',
'require',
'标题必须' 

);
回复vace2014年03月18日
表单的name值是否为'title'?
回复oldma13652014年03月18日
回复 vace : 我刚对照着上文实验的,也是无法进行非空验证,版本是云引擎3.1.3
回复oldma13652014年03月18日
回复 vace : 找到问题了,是因为用phpStorm新建formmodel的时候,没建到model目录下面
回复oldma13652014年03月18日
我一开始也跟你一样的情况,后来找到问题了,是因为用phpStorm新建formmodel的时候,没建到model目录下面,你看你是不是也这个情况
回复ljj7722014年03月18日
回复 vace : 终于找到问题了,文件名少写了class,本应该是FormModel.class.php,写成了FormModel.php
回复rayliao2014年06月11日
回复 ljj772 : 我的也这样,有建在model目录下,文件名也对,但还是不起作用。
anglesdl2014年03月17日
帮我看看这两个代码有啥问题
----------------------------------add.htm---------------------------------------
<body>
<FORM name="form" method="post" action="__URL__/insert">
Book-Name: <input type="text" name="data">
<input type="submit" value="submit">
</FORM>
</body>
------------------------FormAction.class.php---------------------------------------
<?php
class FormAction extends Action{
public function insert(){
$Form = D('data');
if($Form->create()){
$result = $Form->add();
if($result){
$this->success('add~Ok!');
}else{
$this->error('add~Error!');
}
}else{
$this->error($Form->getError());
}
}

}
?>
我把 FormAction.class.php 中的 $Form = D('Form');改成$Form = D('data'); 就能够提交数据到数据库,但是如果用D('Form') 的话就跳转页面后什么也不提示,而且数据库也没添加数据。 求大神帮解!~!
回复未来倒影2014年03月18日
这说明,你的数据库有data这个表,但是没有form这个表
zhangmengq02014年03月06日
求大神指导:我在使用$this->redirect的时候 在我调转到的页面中的图片无法正常显示 图片是./public/img/1.jpg 验证后得知确实无法正常显示需要将index.php去掉
可思可啦2014年03月04日
add() save()有什么区别? 更新数据能用save方法吗?
回复shy07012014年03月05日
add()是创建,相当于create, save()是更新
回复可思可啦2014年03月05日
回复 shy0701 : 创建数据那点,你说add相当于create ,
if($Form->create()) {
$result = $Form->add();}
那这句我就没看懂了啥意思
回复shy07012014年03月05日
回复 可思可啦 : 这里的$form->create()是根据表单提交的POST数据创建数据对象,并保存在内存中。 ¥Form->add()是向数据库中添加数据。
回复shy07012014年03月05日
回复 可思可啦 : CURD在具体的应用中并非一定使用create、update 、read和delete字样的方法,但是他们完成的功能是一致的。例如,ThinkPHP就是使用add、save、select和delete方法表示模型的CURD操作。
回复可思可啦2014年03月05日
回复 shy0701 : 那我能理解为我可以直接$Form->add() 不用在这之前$Form->create() 后面这句话在代码里也有起到一个验证作用 具体的添加还是要add() 方法来完成的
回复shy07012014年03月06日
回复 可思可啦 :它是验证的作用,这样执行起来不容易出错
回复可思可啦2014年03月06日
回复 shy0701 : thanks 感谢
回复shy07012014年03月06日
回复 可思可啦 : 不客气,我也是新手,呵呵
回复wukunda20092014年05月30日
回复 shy0701 :你好,我想问,$Form->create()它是怎么验证的?验证的过程是怎样的?
superb20022014年02月13日
不知道为什么,在nginx下think运行不正学。
回复shankesgk22014年03月03日
正学?
javcof2014年01月18日
ThinkPHP3.1快速入门(2)数据CURD Pass,GO ON。
scola2014年01月03日
http://localhost/app/index.php/Form/add 这路径有歧义啊 老是理解为app目录下的index.php/Form/add, 其实 在根目录下, 由外部index.php文件指向模块Form,
这个坑真深啊!
回复wawa2014年01月14日
index.php 只是入口文件 ,添加个东西可以把这个隐藏掉
冰凌2013年12月20日
总是提示大小写。可是已经注意了,还是提示FILE: D:\wamp\www\APP\ThinkPHP\Common\functions.php  LINE: 112 不知道什么原因
回复shy07012014年03月05日
可能是你的文件夹名或者文件名命名有问题,可以按照操作重新来写
追云逐日2013年12月15日
学习了。。。。
menghua89572013年12月13日
访问这个地址时http://localhost/app/index.php/Form/insert,出现如下错误
模板不存在[./App/Tpl/Public/success.html]
错误位置
FILE: D:\wamp\www\ThinkPHP\Lib\Core\View.class.php  LINE: 115
,请问怎么解决呢
回复shy07012014年03月05日
Form文件夹应该建在./App/Tpl文件夹下,然后再在form文件夹下建立save.html
JChen___2013年12月09日
Great!
liujiachen2013年11月28日
挺好,基本数据库操作会了,
fanbin06022013年11月26日
数据库里有数据,可是页面就是读不到数据,也不报错误。
抹綄待續2013年10月24日
希望官网多给些实例代码
傻瓜炒傻蛋2013年10月23日
这个......初来乍到,还木有看明白.
wisroger2013年10月09日
<font color='red'>1231</font>
w4538486122013年10月09日
  1. class FormAction extends Action{     public function insert(){         $Form   =   D('Form');         if($Form->create()) {             $result =   $Form->add();             if($result) {                 $this->success('操作成功!');             }else{                 $this->error('写入错误!');             }         }else{             $this->error($Form->getError());         }     } }
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
这里面的D方法下的表名首字母大小写有什么区别啊?
回复卒隐2013年11月12日
你写小写也可以啊,但是如果移植到Linux系统下,就不能用了,因为它是严格区分大小写的,所以为了规范,最好是首字母大写
回复shankesgk22014年03月03日
回复 卒隐 : 数据库表名是不是也得大写?
回复卒隐2013年11月12日
你写小写也可以啊,但是如果移植到Linux系统下,就不能用了,因为它是严格区分大小写的,所以为了规范,最好是首字母大写
回复shankesgk22014年03月03日
回复 卒隐 : 数据库表名是不是也得大写?
其小本2013年10月08日
模板乱码怎么办呢?“标题”,“内容”,还有提示信息全部变问号~
回复w4538486122013年10月09日
文件编码
回复其小本2013年10月09日
回复 w453848612 : 模板的乱码是可以编码搞定,但是从控制器返回的变量值在模板显示时候,中文乱码。header我也加了还是不行
回复小叮当乖乖2013年10月12日
回复 其小本 : 是因为windows系统的txt文件默认编码是ANSI,你需要在第一次创建或者另存的时候在对话框的下方编码语言处修改为UTF-8哈,早上折腾半天发现的,希望有用O(∩_∩)O~
回复yashuk2013年11月20日
回复 小叮当乖乖 : 正确
回复w4538486122013年10月09日
文件编码
回复其小本2013年10月09日
回复 w453848612 : 模板的乱码是可以编码搞定,但是从控制器返回的变量值在模板显示时候,中文乱码。header我也加了还是不行
回复小叮当乖乖2013年10月12日
回复 其小本 : 是因为windows系统的txt文件默认编码是ANSI,你需要在第一次创建或者另存的时候在对话框的下方编码语言处修改为UTF-8哈,早上折腾半天发现的,希望有用O(∩_∩)O~
回复yashuk2013年11月20日
回复 小叮当乖乖 : 正确
corgikeke2013年10月03日
SEA 模版移到 client 里的是不是路径需要修改, 没法按此教程调用到默认类
无法加载模块:form
错误位置
FILE: /data1/www/htdocs/772/corgimobile/1/ThinkPHP/Extend/Engine/Cluster/Common/functions.php  LINE: 113
corgikeke2013年10月03日
只加了空类, 就报错
:(
无法加载模块:form
错误位置
FILE: /data1/www/htdocs/772/corgimobile/1/ThinkPHP/Extend/Engine/Cluster/Common/functions.php  LINE: 113
ThinkPHP3.1.3 { Fast & Simple OOP PHP Framework } -- [ WE CAN DO IT JUST THINK ]
日御三宫2013年09月27日
action="__URL__/insert",请问哈这个提交的地址是在哪里呢?看不明白耶。谢谢指导~~
回复zhangmengq02014年03月06日
__URL__是默认的当前路径
回复zhangmengq02014年03月06日
__URL__是默认的当前路径
chyoo2013年09月24日
  1. public function edit($id=0){
  2.     $Form   =   M('Form');
  3.     $this->vo   =   $Form->find($id);
  4.     $this->display();
  5.  }
  6.  public function update(){
  7.     $Form   =   D('Form');
  8.     if($Form->create()) {
  9.         $result =   $Form->save();
  10.         if($result) {
  11.             $this->success('操作成功!');
  12.         }else{
  13.             $this->error('写入错误!');
  14.         }
  15.     }else{
  16.         $this->error($Form->getError());
  17.     }
  18.  }
  19.  
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
照做这个的时候,发现标题不写也能更新成功,但数据库明明约束非空的,不晓得出了什么问题。
回复shy07012014年03月05日
你有在model下建立FormModel.class.php 吗?这个才是执行约束条件的
回复shy07012014年03月05日
你有在model下建立FormModel.class.php 吗?这个才是执行约束条件的
fanbin06022013年11月26日
数据库里有数据,可是页面就是读不到数据,也不报错误。
抹綄待續2013年10月24日
希望官网多给些实例代码
傻瓜炒傻蛋2013年10月23日
这个......初来乍到,还木有看明白.
wisroger2013年10月09日
<font color='red'>1231</font>
w4538486122013年10月09日
  1. class FormAction extends Action{     public function insert(){         $Form   =   D('Form');         if($Form->create()) {             $result =   $Form->add();             if($result) {                 $this->success('操作成功!');             }else{                 $this->error('写入错误!');             }         }else{             $this->error($Form->getError());         }     } }
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
这里面的D方法下的表名首字母大小写有什么区别啊?
其小本2013年10月08日
模板乱码怎么办呢?“标题”,“内容”,还有提示信息全部变问号~
corgikeke2013年10月03日
SEA 模版移到 client 里的是不是路径需要修改, 没法按此教程调用到默认类
无法加载模块:form
错误位置
FILE: /data1/www/htdocs/772/corgimobile/1/ThinkPHP/Extend/Engine/Cluster/Common/functions.php  LINE: 113
corgikeke2013年10月03日
只加了空类, 就报错
:(
无法加载模块:form
错误位置
FILE: /data1/www/htdocs/772/corgimobile/1/ThinkPHP/Extend/Engine/Cluster/Common/functions.php  LINE: 113
ThinkPHP3.1.3 { Fast & Simple OOP PHP Framework } -- [ WE CAN DO IT JUST THINK ]
日御三宫2013年09月27日
action="__URL__/insert",请问哈这个提交的地址是在哪里呢?看不明白耶。谢谢指导~~
chyoo2013年09月24日
  1. public function edit($id=0){
  2.     $Form   =   M('Form');
  3.     $this->vo   =   $Form->find($id);
  4.     $this->display();
  5.  }
  6.  public function update(){
  7.     $Form   =   D('Form');
  8.     if($Form->create()) {
  9.         $result =   $Form->save();
  10.         if($result) {
  11.             $this->success('操作成功!');
  12.         }else{
  13.             $this->error('写入错误!');
  14.         }
  15.     }else{
  16.         $this->error($Form->getError());
  17.     }
  18.  }
  19.  
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
照做这个的时候,发现标题不写也能更新成功,但数据库明明约束非空的,不晓得出了什么问题。
幸福孤雁2013年09月23日
写入错误 怎么办。
abel5332013年09月20日
[ 2013-09-20T16:11:15+08:00 ] 0.0.0.0 /zc/index.php/Form/index
INFO: [ route_check ] --START--
INFO: CheckRoute Behavior ::run [ RunTime:0.006799s ]
INFO: [ route_check ] --END-- [ RunTime:0.008317s ]
INFO: [ app_begin ] --START--
INFO: ReadHtmlCache Behavior ::run [ RunTime:0.002470s ]
INFO: [ app_begin ] --END-- [ RunTime:0.003837s ]
NOTIC: [8] Undefined variable: group /home/liuzh/workspace/sandongzhoucheng/ThinkPHP/Lib/Core/App.class.php 第 95 行.
ERR: 无法加载模块:Form/index
如何解决啊???????????????????
haran2013年09月19日
学习笔记:
  1.  
  2.  1ThinkPHP就是使用addsaveselectdelete方法表示模型的CURD操作。
  3.  2、对于没有任何实际逻辑的操作方法,我们只需要直接定义对应的模板文件,而无需建立只有$this->display();的方法。
  4.  3add方法的返回数据:
  5.  1)主键是自增类型的话,add方法返回主键值;
  6.  2)不是自增主键,add方法返回新增数据的条数;
  7.  3)新增失败返回false
  8.  4create方法都可以用一行代码轻松创建数据对象,并且在写入前,对数据进行验证(自动验证)和补充(自动完成)。
  9.  5select方法返回数据集,通常是一个外层为索引、内层为关联二维数组(即使只有一条数据);find方法返回一维关联数组(键值对)。
  10.  6save方法的返回值:
  11.  1)修改成功返回影响的记录数;
  12.  2)不加任何改变地修改返回0
  13.  3)修改失败返回false
  14.  7、为确保安全,delete方法必须显式传入条件,没有任何条件的delete是不会执行的(否则会删除整个表中的数据)。
  15.  
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
回复javcof2014年01月18日
very good.
回复akleee2014年05月05日
mark
@朱头2013年09月16日
在执行http://localhost/index.php/Form/add这一步操作时,出现:
非法操作:add
错误位置
FILE: C:\wamp\www\app\Common\functions.php  LINE: 112
的提示
回复haran2013年09月19日
FormAction.class.php位置:Lib/Action/
leq_822013年09月14日
在edit函数中:
public function edit($id=0){
$Form = M('Form');
$this->vo = $Form->find($id);
$this->display();
}
vo成员是在哪里来的?为什么不是data属性?Model类根本没有vo这个成员,且查看TP类库参考手册中模型类的save函数源码可知,当没有给save函数传递数据时,获取当前数据对象的值:if(!empty($this->data)) {
$data = $this->data;
......
由此也可知,应该是$this->data。不明白为什么是$this->vo
回复haran2013年09月19日
就是分配至模板中的变量名为vo,你可以改成任何其他的名称,比如result。那么在edit.html中作相应的修改即可。如
  1.  
  2.  标题:<INPUT type="text" name="title" value="{$result.title}"><br/>
  3.  
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
xmz2013年09月11日
为何setInc()和setDec()函数不起作用?
4912294922013年09月04日
【咨询】当前版本是不是对PHP6支持不大好,为么我的只能查询,其他操作浏览器直接显示无法打开当前页面……………
mcbaby2013年09月02日
补充一下删除方法:
  1.  
  2.     public function del($id=0){
  3.         $Form = M('Form');
  4.         $data =   $Form->find($id);
  5.         
  6.         if($data) {
  7.             $id=$data["id"];
  8.             $Form->delete($id);
  9.             $this->success('删除成功!');
  10.         }else {
  11.             $this->error('数据不存在!');
  12.         }
  13.          
  14.     }
  15.  
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
回复haran2013年09月19日
一般删除操作都是链接自结果页面,所以$id是存在的。由此可简化如下:
  1.  
  2.  public function del($id=0){//接收主键$id参数
  3.     $db = M('Form');
  4.     $result = $db->delete($id);
  5.     if($result){
  6.         $this->success('删除成功!');
  7.     }else{
  8.         $this->error($db->getError());
  9.     }
  10.  }
  11.  
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
潜力英才网2013年08月30日
如果你的数据完全是内部操作写入而不是通过表单的话(也就是说可以充分信任数据的安全),那么可以直接使用add方法,如:
$Form = D('Form');
$data['title'] = 'ThinkPHP';
$data['content'] = '表单内容';
$Form->add($data);
这里我用add方法可以成功写入数据,但是不能建立时间,这个怎么破~!
回复SimpleCMS2013年09月03日
增加 $data['create_time'] = time();
回复潜力英才网2013年09月07日
回复 SimpleCMS : good 非常感谢~!
回复haran2013年09月19日
根本原因在于你没有建立FormModel或建立了但没有定义自动完成 protected
  1. $_auto    =   array(
  2.         array('create_time','time',1,'function'),
  3.         );
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
潜力英才网2013年08月30日
为什么添加完FormModel.chass.php后,不写标题依然可以添加数据的呢?
回复潜力英才网2013年08月30日
吗的,原来数据库写成小写了~!
回复chyoo2013年09月24日
回复 潜力英才网 : 我也遇到相应的问题,就是更新的时候不填标题也能更新,照着上面操作的。数据库里面明明定义了非空约束。
liujun05112013年08月08日
增、查、改、删、全部整合到一个页面了,呵呵!
xiumuzjq2013年08月07日
第一步我可以看到表单的大概形式,但是汉字全是乱码,这会是什么原因啊?
David·wang2013年08月07日
删除的方法,那模板怎么写?
zymce2013年08月02日
添加一个read模板文件,是在Tpl/Form/read/id/1.html添加<table>
<tr>
<td>id:</td>
<td>{$data.id}</td>
</tr>
<tr>
<td>标题:</td>
<td>{$data.title}</td>
</tr>
<tr>
<td>内容:</td>
<td>{$data.content}</td>
</tr>
</table>
还是在Tpl/Form/read.html添加?
回复zhei872013年08月03日
zymce 新建模板文件,Tpl/Form/read.html
多试试就知道了
lingxin10302013年07月31日
讲的不是很细致,但是自己稍微动动脑筋能解决一些问题,进步很快!
欧阳怕渴2013年07月25日
ReflectionException: Method FormAction::add() does not exist in C:\wamp\www\ThinkPHP\Lib\Core\App.class.php on line 110
回复欧阳怕渴2013年07月25日
不小心发出去了 为什么我运行 http://localhost/app/index.php/Form/add之后可以显示表单但是会前面会提示这个错误 而且我的标题验证是好用的 但是输入数据提交表单的时候总是显示写入错误 求高人解答
回复django2013年11月26日
回复 欧阳怕渴 : 同样的。。。输出sql正常,怕是。。。。。。
bronwen2013年07月24日
表单中用type=hidden的input隐式提交数据ID会有很大风险,很多浏览器的插件(如firebug)可以修改input的值,这样的话就可以覆盖任何数据了,希望thinkphp官方能够重视这个问题。谢谢。
回复SimpleCMS2013年09月03日
谢谢您提供的宝贵意见。
littlefish2013年07月21日
我点击提交之后,显示写入错误,是因为什么啊~~~~
回复jiangxiaoyur2013年07月31日
查看一下config.php看里面的配置是正确的么?数据库名字看看正确不
十月的小麦2013年07月11日
为什么我运行插入数据的时候,报错找不到Action这是为什么?
纠结两天了,求指教啊
回复huyuanquan2013年07月12日
仔细看一下你的Action的名字是不是正确
回复哈里菠菜2013年07月20日
PATHINFO没有配置好
回复yang5848736782013年08月08日
路径问题
scwsmile2013年07月09日
coool,感谢
power_c2013年07月07日
调用delete函数把第一条记录删除后,如果此时表没有了记录,再调用add函数,向表中再添加一条记录,那么添加的这条记录的id为2,怎么添加的时候让其id自动为1?
回复球员吧2013年07月09日
取消掉数据库的自动增长,插入数据前要先判断ID是否存在
xiaocaobuzhi2013年07月04日
怎样解决模板输出后,显示不出现乱码?主要是文字!谢谢!
回复孙小五2013年07月05日
我也遇到相同问题 求指教!
回复hukangyu5202013年07月07日
回复 孙小五 :应该是字符编码的问题,把php和html的字符统一用utf8无BOM头的就好了。
回复phpsoft2013年08月07日
回复 孙小五 : 文本打开方式用utf-8,数据库也用utf-8,统一编码即可。
回复xiumuzjq2013年08月07日
回复 phpsoft : 文件保存的时候,编码格式选则utf-8
尐扌栤涼﹖2013年07月02日
为什么不能放在Form文件夹中呢?
helum2013年06月30日
为什么按照前面的方法,add()数据后,create_time字段的时间数据会乱?正常不是显示一段真实的时间段么?我打印出来的时间是:1372562948这种类型的,该怎么解决
回复球员吧2013年07月09日
数据库的create_time字段是 int,不是Date,需要进行转换一下
佐罗之马2013年06月27日
使用extjs一类的客户端UI框架时,接收到editgrid的数据是多维数组,这个saveall方法函数应该怎么写,似乎官方的Model方法里只有针对单FORM数据的save,希望官方给指导一下。谢谢谢谢
deshaman@126.com2013年06月26日
Action:getError您所请求的方法不存在!
错误位置
FILE: D:\wamp\www\study\App1\Lib\Action\FormAction.class.php  LINE: 17
TRACE
[13-06-26 16:22:06] D:\wamp\www\study\App1\Lib\Action\FormAction.class.php (17) Action->__call(getError, Array)
[13-06-26 16:22:06] D:\wamp\www\study\App1\Lib\Action\FormAction.class.php (17) FormAction->getError(标题必须!)
[13-06-26 16:22:06] () FormAction->insert()
[13-06-26 16:22:06] D:\wamp\www\ThinkPHP\Lib\Core\App.class.php (171) ReflectionMethod->invoke()
[13-06-26 16:22:06] D:\wamp\www\ThinkPHP\Lib\Core\App.class.php (207) App::exec()
[13-06-26 16:22:06] D:\wamp\www\ThinkPHP\Lib\Core\Think.class.php (39) App::run()
[13-06-26 16:22:06] D:\wamp\www\ThinkPHP\Common\runtime.php (242) Think::start()
[13-06-26 16:22:06] D:\wamp\www\ThinkPHP\ThinkPHP.php (30) require(D:\wamp\www\ThinkPHP\Common\runtime.php)
[13-06-26 16:22:06] D:\wamp\www\study\index.php (7) require_once(D:\wamp\www\ThinkPHP\ThinkPHP.php) 
其他都没问题,怎么提交验证的时候出现了这个错误啊,有没有大神指导一下,谢谢。。
回复haran2013年06月27日
方法不存在。查查方法名。
回复deshaman@126.com2013年06月28日
回复 haran : Action这个类里面没有getError方法,只有error方法
modiocmmand2013年06月20日
晕了 这一章 写入数据库的例子 是 表民不支持 中文 但字段又支持中文了
回复modiocmmand2013年06月20日
不知道支持左表 汇总 那些操作部
回复zws19922013年07月18日
回复 modiocmmand : 你能不能回去学学语文,这表达。。。
modiocmmand2013年06月20日
第一章 读取的时候 表名支持 中文 字段名不支持中文
现在写入了表明都不支持中文了 是我弄错啦 还是真的不支持中文字段和中文表名呀
qq5451376522013年06月19日
哈哈
zhushijie2013年06月19日
<a href="http://www.tianlijingdui.com" target="_blank">www.tianlijingdui.com>是用什么写的</a>
zhushijie2013年06月19日
www.tianlijingdui.com 这个网站是用THINKphp作的不?
回复cheukho2013年06月19日
广告,大家不要点。哪个网站是用asp开发的
xianglingchuan2013年06月12日
我按例子写的,咱验证不了呢?其了个怪,还需要在action中做些什么吗?
回复xianglingchuan2013年06月12日
已经解决了是 默认用M('objectName'), 用自定义的用D('objectName')
回复yang5848736782013年08月08日
这个案列有点小问题,自己动脑筋想下。其实很 容易
回复xianglingchuan2013年08月11日
回复 yang584873678 : 谢谢指点
icecatlivecn2013年06月10日
add.html那里我就卡住了,我的INDEX.PHP后面加上/index/index都会出错,为什么啊
回复丹瑟尔2013年06月18日
/Index/index
回复ruyi2013年06月18日
回复 丹瑟尔 : Index/add.html
回复尐扌栤涼﹖2013年07月01日
回复 ruyi : 为什么不能放在Form文件夹中呢?
一心玄月2013年06月07日
输出路径没显示内容啊,什么情况
冬冬5555552013年06月06日
$id怎么直接就可以用了啊,不需要获取表单中的值吗
回复火树迎风2013年06月17日
应该加这句$id=$_GET['id'];或者你打印出$_GET里面有id这项的值,不过这里确实是写的让人有点琢磨不透
回复ruyi2013年06月18日
回复 火树迎风 : 可能是给新人增加点难度吧。。。
小网蚁2013年05月31日
新手,遇到了中文乱码的问题,用dw将模板文件转成uft-8解决了。
回复★及目楚天舒2013年06月07日
HAHAHAA
zkwap2013年05月30日
新手学的好苦逼,继续下一章咯
tauruswang2013年05月30日
add.html 应该添加 add.tpl 模板发文件才对 !
就可以看到表单页面了,我们并没有在控制器里面定义add操作方法,但是很显然,访问是正常的。因为ThinkPHP在没有找到对应操作方法的情况下,会检查是否存在对应的模板文件,由于我们有对应的add模板文件,所以控制器就直接渲染该模板文件输出了。
thinkphpthunder2013年05月29日
怎么我 总是 访问不了操作啊。。。。????????按照原样复制过来操作的 。 <FORM method="post" action="__URL__/insert"> 这个地方根本访问不过去啊
回复ruyi2013年06月18日
创建 insert函数了么
回复yang5848736782013年08月08日
<FORM method="post" action="__APP__/你的控制器名字/insert">
潜力英才网2013年05月21日
我网站都不更新了,都要跑过来学,不过对于新手来说,好像难了点,还是想学PHP100的视频再来吧,也可以光顾一下我的潜力英才网http://www.51cnhr.com 谢谢~!
静逸秋水2013年05月19日
为什么远程数据库不可以读取表中数据
364889632013年05月17日
...受教了
mrruobing2013年05月17日
class FormModel extends Model{
//定义自动验证
protected $v_validate = array(
//array('title','require','标题必须'),
array('title','require','标题必须!'),
);
没提示标题必须 哪里错了?
回复mrruobing2013年05月17日
自己的疏忽 打错了一个~!
回复nydia_lhq2013年05月25日
我的验证不了
回复whilelie2013年06月10日
验证不起作用
pndlk2013年05月10日
身份大幅度
q1123292013年05月06日
空值也能写入进去,create_time没能自动写入数据,<?php
// 本类由系统自动生成,仅供测试用途
class FormAction extends Action {
public function insert(){
$User = D('user');
if($User->create()){
$result = $User->add();
if($result){
$this->success('操作成功!');
}else{
$this->error('写入失败!');
}
}else{
$this->error($User->getError());
}
}
}
<?php
// 本类由系统自动生成,仅供测试用途
class UserModel extends Model {
//定义自动验证
protected $_validate = array(
array('title','require','标题必须'),
);
//定义自动完成
protected $_auto = array(
array('create_time','time',1,'function'), 
);
}
363811882@qq.com2013年04月27日
<ThinkPHP3.1快速入门(2)数据CURD>这篇教程不写写出
  1. $id = $_GET['id']; // 获取get变量
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
是因为安全隐患的问题吗?请教管理员!!
吖,晚安2013年04月16日
为什么我的地址是index.php/Form/edit/3,编辑的时候不论吧3改成任何数都是现实的form表里的第一个数据???
回复deepforest2013年05月15日
public function edit($id=0){
$id初始值没有设定
吖,晚安2013年04月16日
为什么我的地址是index.php/Form/edit/3,编辑的时候不论吧3改成任何数都是现实的form表里的第一个数据???
回复吖,晚安2013年04月16日
有人回答一下吗?急
回复吖,晚安2013年04月16日
解决啦,URL应该是:edit/id/3,然后edit函数添加语句:$id=$_GET['id'];,教程都不正确,这叫人学的,汗。。。
回复吖,晚安2013年04月16日
我感觉改成这样比较合适:if($_GET['id'])
$id=$_GET['id'];
else
$this->error('参数错误');
回复56002013年06月14日
回复 吖,晚安 : 一看就是有经验的
球员吧2013年04月09日
新人自学ThinkPHP中,大家有兴趣的,可以交流下,QQ:736519025http://www.qiuyuanba.com
活力_Nick2013年04月01日
之前遇到问题:创建数据时,FormModel.class.php中的自动验证无法调用。解决方法如下:在FormModel.class.php文件首行添加
  1. <?php
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
问题即可解决。被这问题坑了两天,@管理员 改一下例子或者说明下吧。希望对大家有帮助。
回复oj2m2013年04月02日
php后缀的文件一般是有php代码的,有php代码的地方就要有<?php ?>
回复期待花开2013年04月12日
我也新人,这几天开始学习thinkphp;无鸭梨,目前数据增删查改功能已经OK了~~~这个只要是一个PHP文件都是在<?php ?>的,自己注意一下;有空可以加扣相互学习的
weilihuidong2013年03月31日
使用D函数的create方法为什么一直返回false啊?
newmann2013年03月29日
按照教程,一步步做下来,到读取数据那一步就做不下去了。系统报数据错误,有碰到这种情况的同学吗?
回复newmann2013年03月29日
sorry,是我的路径写错了,少了个id。
临门2013年03月25日
无法加载模块Forminsert 是什么情况?
回复球员吧2013年04月09日
地址写错?
mme7wan2013年03月20日
这里如何获取标题 在模版中输出?
$Form = M("Form"); // 获取标题 
$title = $Form->where('id=3')->getField('title');
回复oj2m2013年04月02日
直接在输出的模版加{$title}
回复球员吧2013年04月09日
后台的的变量必须使用模板变量才能输出:
完整例子:
  1.  
  2.         $Form = M("Form");                                                                //实例化 Form 表
  3.         $title = $Form->where('id=3')->getField('content');          // 获取标题ID为3的标题
  4.         $this->xx_game = $title;                                                       //设置一个模板变量,xx_game
  5.         $this->display();                                                                    //进行模板输出,这句代码不能少
  6.  
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 

然后在前台的模板中加入代码:{$xx_game}
何宣辉2013年03月19日
提个小问题,我按教程一步一步做下来,http://localhost/app/index.php/Form/add点提交显示页面错误!请稍后再试~这个是什么原因?
回复oj2m2013年04月02日
看看提交的路径有没有写错
爷们把根留住2013年03月12日
我在success提示操作成功这儿出现乱码,还有error这儿也出现乱码了。别的地方没有出现乱码,
肿么办啊?
回复z199006192013年03月12日
编码设置成UTF-8试了吗?
回复球员吧2013年04月09日
注意源文件格式是否是 UTF-8 格式,Dreamweaver 代码视图的右下角有编码提示。
z199006192013年03月12日
我使用了Model验证,但是有前台提交的数据的时候使用D("Form")的时候没有进行$_validata的验证
回复aboooo2013年03月19日
我也遇到这样的问题, 没有验证, 不为空的字段也添加进去了.
回复to be or not to be2013年03月19日
我也遇到鸟,求回复
回复to be or not to be2013年03月19日
:)搜噶,发现时模型没用到的问题...
回复to be or not to be2013年03月19日
由此可知,D函数是bug(不写model也可以运行,就相当于M函数,难道版本下错了?--thinkphp3.1)
回复oj2m2013年04月02日
有可能是代码写错了,你贴代码看看?
回复球员吧2013年04月09日
一般是是 Model 文件命名错误,或者是代码错误
zny_php2013年03月11日
数据的更新操作在ThinkPHP使用save方法,可以看到,我们同样可以使用create方法创建表单提交的数据,而save方法则会自动把当前的数据对象更新到数据库,而更新的条件其实就是表的主键,这就是我们在编辑页面要把主键的值作为隐藏字段一起提交的原因。
如果更新操作不依赖表单的提交的话,就可以写成:
$Form = M("Form"); 
// 要修改的数据对象属性赋值
$data['id'] = 5;
$data['title'] = 'ThinkPHP';
$data['content'] = 'ThinkPHP3.1版本发布';
$Form->save($data); // 根据条件保存修改的数据
_____________________________________________________
上面这些代码是写在哪个文件上的啊???
回复rqdmy02013年03月12日
写在你的控制器里的 操作函数里
  1.  public function update(){
  2. $Form = M("Form"); 
  3.  // 要修改的数据对象属性赋值
  4. $data['id'] = 5;
  5. $data['title'] = 'ThinkPHP';
  6. $data['content'] = 'ThinkPHP3.1版本发布';
  7. $Form->save($data); // 根据条件保存修改的数据
  8.                          }
  9.  
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
回复球员吧2013年04月09日
FormAction.class.php 的 function update 里
rqdmy02013年03月11日
就可以看到表单页面了,我们并没有在控制器里面定义add操作方法,但是很显然,访问是正常的。因为ThinkPHP在没有找到对应操作方法的情况下,会检查是否存在对应的模板文件,由于我们有对应的add模板文件,所以控制器就直接渲染该模板文件输出了。所以说对于没有任何实际逻辑的操作方法,我们只需要直接定义对应的模板文件就行了。
如果在控制器里写上
public function add(){
}
里面是空操作,什么都不写,访问http://localhost/app/index.php/Form/add
就什么都不显示了,怎么解决呀, 如果去掉
public function add(){
}
程序运行就没有错误,什么原因呀,怎么解决
回复rqdmy02013年03月11日
换句话说,如果是空操作的话,控制器里的操作函数就必须不能写呀,写了就什么都不显示了。
回复rqdmy02013年03月12日
问题解决了,如果空操作,也就是写了操作名,里面什么又没有写的话,也必须加上$this->display();程序才能正常运行。也就是这样子了:
  1. public function add(){
  2.     $this->display();
  3.  }
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
chenzm0802013年03月04日
请问下验证里的要创建的模型的模型名是要根据数据表的名称的而不是控制器名称的吗?
例子都是用Form太让人容易混淆了~
回复球员吧2013年04月09日
M('XXXX') D('XXXX') 都是根据数据表名实例化的(MVC概念),简单说XXXX就是数据库表名(如果配置文件表名了数据表的前缀,就忽略前缀部分)
cgz8882013年02月22日
可以写入数据,为什么读取不了呢 
提示为:
操作失败!数据错误 
页面将在 3 秒后自动跳转,如果不想等待请点击 这里 跳转
求指导
回复leake乐2013年03月29日
我估计是没有获取到id这个参数!我直接复制是可以读取的;后面我修改为:
public function read(){
$id = $_GET['id'];
$Form = M('Form');
// 读取数据
$data = $Form->find($id);
if($data) {
$this->data = $data;// 模板变量赋值
}else{
$this->error('数据错误');
}
$this->display();
}
就可以了~
卷卷2013年02月20日
例子中能不用Form这么让人混淆的词吗
回复球员吧2013年04月09日
呵呵,这个确实让新人看了蛋疼
zhongdian2013年02月18日
  1. $User = M("User"); // 实例化User对象
  2. $User->where('id=5')->delete(); // 删除id为5的用户数据
  3. $User->delete('1,2,5'); // 删除主键为1,2和5的用户数据
  4. $User->where('status=0')->delete(); // 删除所有状态为0的用户数据
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
﹎佐拿.、2013年02月18日
public function insert() {
$Form = D('Form');
if ($Form->create()) {
$result = $Form->add();
if ($result) {
$this->success('操作成功!');
} else {
$this->error('写入错误!');
}
每次执行到add()就是错误了。明明有写东西啊还提示"写入错误",求解。
回复﹎佐拿.、2013年02月18日
sorry。换了电脑没配置好。已解决。
z4036001152013年02月06日
class FormAction extends Action{ } 
:(
无法加载模块:Form
错误位置
FILE: D:\WWW\ThinkPHP\Lib\Core\App.class.php  LINE: 122
TRACE
[13-02-06 14:43:02] D:\WWW\ThinkPHP\Lib\Core\App.class.php (122) _404(无法加载模块:Form)
[13-02-06 14:43:02] D:\WWW\ThinkPHP\Lib\Core\App.class.php (207) App::exec()
[13-02-06 14:43:02] D:\WWW\ThinkPHP\Lib\Core\Think.class.php (39) App::run()
[13-02-06 14:43:02] D:\WWW\ThinkPHP\Common\runtime.php (242) Think::start()
[13-02-06 14:43:02] D:\WWW\ThinkPHP\ThinkPHP.php (34) require(D:\WWW\ThinkPHP\Common\runtime.php)
[13-02-06 14:43:02] D:\WWW\app\index.php (5) require(D:\WWW\ThinkPHP\ThinkPHP.php)
这个怎么解决?
回复aboooo2013年03月19日
php文件前没有加php标签吧, 在文件最开始加上"<?php", 如下 : 
  1.  
  2.  <?php
  3.  class FormAction extends Action{ } 
  4.  
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
复制代码
 
丶PHP2013年01月16日
<FORM method="post" action="__URL__/insert">
提交不到怎么办
回复Mr.Old2013年01月19日
怎么可能 ?
回复爬树蜗牛2013年02月28日
换绝对地址
x41128219872013年01月14日
无法加载模块:Form 
错误位置
FILE: C:\wamp\www\ThinkPHP\Lib\Core\App.class.php  LINE: 122
TRACE
[13-01-14 14:51:01] C:\wamp\www\ThinkPHP\Lib\Core\App.class.php (122) _404(无法加载模块:Form)
[13-01-14 14:51:01] C:\wamp\www\ThinkPHP\Lib\Core\App.class.php (207) App::exec()
[13-01-14 14:51:01] C:\wamp\www\ThinkPHP\Lib\Core\Think.class.php (39) App::run()
[13-01-14 14:51:01] C:\wamp\www\ThinkPHP\Common\runtime.php (242) Think::start()
[13-01-14 14:51:01] C:\wamp\www\ThinkPHP\ThinkPHP.php (30) require(C:\wamp\www\ThinkPHP\Common\runtime.php)
[13-01-14 14:51:01] C:\wamp\www\app\index.php (3) require(C:\wamp\www\ThinkPHP\ThinkPHP.php)
怎么回事?
回复x41128219872013年01月14日
原来是短标记 问题 .....
回复z4036001152013年02月06日
短标记,怎么解决的?
道法自然2013年01月10日
<FORM method="post" action="__URL__/insert">
有问题,提交找不到,换成<FORM method="post" action="insert">就好了
残沙忆尘2013年01月05日
非法操作:Lib
错误位置
FILE: E:\AppServ\www\ThinkPHP\Lib\Core\Action.class.php  LINE: 218
TRACE
[13-01-05 16:30:01] E:\AppServ\www\ThinkPHP\Lib\Core\Action.class.php (218) _404(非法操作:Lib)
[13-01-05 16:30:01] () Action->__call(Lib, )
[13-01-05 16:30:01] E:\AppServ\www\ThinkPHP\Lib\Core\App.class.php (188) ReflectionMethod->invokeArgs(, Array)
[13-01-05 16:30:01] E:\AppServ\www\ThinkPHP\Lib\Core\App.class.php (208) App::exec()
[13-01-05 16:30:01] E:\AppServ\www\ThinkPHP\Lib\Core\Think.class.php (39) App::run()
[13-01-05 16:30:01] E:\AppServ\www\ThinkPHP\Common\runtime.php (243) Think::start()
[13-01-05 16:30:01] E:\AppServ\www\ThinkPHP\ThinkPHP.php (30) require(E:\AppServ\www\ThinkPHP\Common\runtime.php)
[13-01-05 16:30:01] E:\AppServ\www\thinktest\index.php (4) require(E:\AppServ\www\ThinkPHP\ThinkPHP.php)
怎么解决
xuqiazi2013年01月05日
按照要求表单提交不了是怎么回事?出现“非法操作:insert”这个东西。。。
jackeyCCL2013年01月04日
模板不存在[./Home/Tpl/default/Public/success.html]是怎么回事?
Sligcm2012年12月30日
http://127.0.0.1/Demo/index.php/Form/insert
如果我没有填写标题,提示信息的时候出现了以上URL。
本来我的index.php是在.htaccess隐藏了的,现在这里又显示出来,这不太好吧,是否能PHP中设置一下隐藏URL中的index.php呢?
回复Sligcm2012年12月30日
而且demo原本是想小写的,现在Demo是大写的了~哎~也许有这个功能吧,可能是我还没看到下面。
但是还有一点你们可能不会注意,就是URL带不带/的问题。
如果URL结尾带了/或者不带的都能访问页面的话,是不利于SEO的,这样有2个不同网址但是又有相同的内容的页面对SEO是不好的。建议修改下。
回复Sligcm2012年12月30日
补充一下。
http://127.0.0.1/Demo/index.php/Form/insert
而且demo原本是想小写的,现在Demo是大写的了。
这个是自动跳转后的自动生成的。
回复Sligcm2012年12月30日
而且demo原本是想小写的,现在Demo是大写的了~哎~也许有这个功能吧,可能是我还没看到下面。
但是还有一点你们可能不会注意,就是URL带不带/的问题。
如果URL结尾带了/或者不带的都能访问页面的话,是不利于SEO的,这样有2个不同网址但是又有相同的内容的页面对SEO是不好的。建议修改下。
回复Sligcm2012年12月30日
补充一下。
http://127.0.0.1/Demo/index.php/Form/insert
而且demo原本是想小写的,现在Demo是大写的了。
这个是自动跳转后的自动生成的。
回复Sligcm2012年12月30日
而且demo原本是想小写的,现在Demo是大写的了~哎~也许有这个功能吧,可能是我还没看到下面。
但是还有一点你们可能不会注意,就是URL带不带/的问题。
如果URL结尾带了/或者不带的都能访问页面的话,是不利于SEO的,这样有2个不同网址但是又有相同的内容的页面对SEO是不好的。建议修改下。
回复Sligcm2012年12月30日
补充一下。
http://127.0.0.1/Demo/index.php/Form/insert
而且demo原本是想小写的,现在Demo是大写的了。
这个是自动跳转后的自动生成的。
Sligcm2012年12月30日
$Form = D('Form');
$data['title'] = 'ThinkPHP';
$data['content'] = '表单内容';
$Form->add($data);
$Form = D('Form');
$Form->title = 'ThinkPHP';
$Form->content = '表单内容';
$Form->add();
上面的数组方式和下面的对象方式还有一个区别:
对象模式中的字段如果只设置一个已知字段的值,可以覆盖表单提交的相同字段的内容,表单提交的其他字段的值不变。
但是数组模式如果只设置一个字段的值,则会只提交一个设置的字段值,而表单提交的其他字段的值则会为数据表字段默认值。
Sligcm2012年12月30日
刚说的2个问题,又可以了~
好诡异~什么都没改。
回复Sligcm2012年12月30日
缓存也清了~好诡异哈~有可能是我编辑器没保存上的问题。。。
回复jiavgker2013年01月07日
$Form = D('Form'); 这样写刚才的那俩就都有效; 而$Form = D('form'); 这样写就无效,虽然写成小写的D('form')时自动完成和自动写入都无效,但是插入数据还是可以的。是不是这样?
回复Sligcm2012年12月30日
缓存也清了~好诡异哈~有可能是我编辑器没保存上的问题。。。
回复jiavgker2013年01月07日
$Form = D('Form'); 这样写刚才的那俩就都有效; 而$Form = D('form'); 这样写就无效,虽然写成小写的D('form')时自动完成和自动写入都无效,但是插入数据还是可以的。是不是这样?
回复Sligcm2012年12月30日
缓存也清了~好诡异哈~有可能是我编辑器没保存上的问题。。。
回复jiavgker2013年01月07日
$Form = D('Form'); 这样写刚才的那俩就都有效; 而$Form = D('form'); 这样写就无效,虽然写成小写的D('form')时自动完成和自动写入都无效,但是插入数据还是可以的。是不是这样?
Sligcm2012年12月30日
当我们顺利提交表单后,会看到写入数据表的数据中的create_time字段已经有值了,这就是通过模型的自动完成写入的。
这个3.1.2下也无效!
Sligcm2012年12月30日
我们来验证下表单提交的效果,当我们不输入标题就直接提交表单的话,系统会给出标题必须这样的提示信息。
这个3.1.2下无效!
wanghero2012年12月28日
注意: 第二段的代码 class FormAction extends Action{
}
之前需要加上 " <? php " 才能使用
Chrisma2012年12月27日
无法显示汉字,只要页面内存在汉字就是乱码,这个怎么解决。
回复dcchao2012年12月30日
编码要统一
回复gacjy2013年04月07日
楼下有详细解决方案~
回复dcchao2012年12月30日
编码要统一
回复gacjy2013年04月07日
楼下有详细解决方案~
回复dcchao2012年12月30日
编码要统一
回复gacjy2013年04月07日
楼下有详细解决方案~
scottle2012年12月24日
看了之后很有收获,谢谢提供这么优秀的教程
只是、很孤单2012年12月24日
edit.html这个模板按教程里面写的做,页面打开后,<FORM method="post" action="__url__/update">,‘__url__’这个部分无法变成地址,怎么回事?页面多次点击提交按钮后,数据不好被更新,URL处变成:/index.php/Form/edit/id/__url__/__url__/__url__/update;每点击提交一次就多个__url__
回复只是、很孤单2012年12月24日
矫正下文章内的错误:action="__url__/update"改为:action="__URL__/update"才可以正常使用!
回复只是、很孤单2012年12月24日
矫正下文章内的错误:action="__url__/update"改为:action="__URL__/update"才可以正常使用!
回复只是、很孤单2012年12月24日
矫正下文章内的错误:action="__url__/update"改为:action="__URL__/update"才可以正常使用!
jackeyCCL2013年01月04日
模板不存在[./Home/Tpl/default/Public/success.html]是怎么回事?
Sligcm2012年12月30日
http://127.0.0.1/Demo/index.php/Form/insert
如果我没有填写标题,提示信息的时候出现了以上URL。
本来我的index.php是在.htaccess隐藏了的,现在这里又显示出来,这不太好吧,是否能PHP中设置一下隐藏URL中的index.php呢?
Sligcm2012年12月30日
$Form = D('Form');
$data['title'] = 'ThinkPHP';
$data['content'] = '表单内容';
$Form->add($data);
$Form = D('Form');
$Form->title = 'ThinkPHP';
$Form->content = '表单内容';
$Form->add();
上面的数组方式和下面的对象方式还有一个区别:
对象模式中的字段如果只设置一个已知字段的值,可以覆盖表单提交的相同字段的内容,表单提交的其他字段的值不变。
但是数组模式如果只设置一个字段的值,则会只提交一个设置的字段值,而表单提交的其他字段的值则会为数据表字段默认值。
Sligcm2012年12月30日
刚说的2个问题,又可以了~
好诡异~什么都没改。
Sligcm2012年12月30日
当我们顺利提交表单后,会看到写入数据表的数据中的create_time字段已经有值了,这就是通过模型的自动完成写入的。
这个3.1.2下也无效!
Sligcm2012年12月30日
我们来验证下表单提交的效果,当我们不输入标题就直接提交表单的话,系统会给出标题必须这样的提示信息。
这个3.1.2下无效!
wanghero2012年12月28日
注意: 第二段的代码 class FormAction extends Action{
}
之前需要加上 " <? php " 才能使用
Chrisma2012年12月27日
无法显示汉字,只要页面内存在汉字就是乱码,这个怎么解决。
scottle2012年12月24日
看了之后很有收获,谢谢提供这么优秀的教程
只是、很孤单2012年12月24日
edit.html这个模板按教程里面写的做,页面打开后,<FORM method="post" action="__url__/update">,‘__url__’这个部分无法变成地址,怎么回事?页面多次点击提交按钮后,数据不好被更新,URL处变成:/index.php/Form/edit/id/__url__/__url__/__url__/update;每点击提交一次就多个__url__
jackeyCCL2013年01月04日
模板不存在[./Home/Tpl/default/Public/success.html]是怎么回事?
Sligcm2012年12月30日
http://127.0.0.1/Demo/index.php/Form/insert
如果我没有填写标题,提示信息的时候出现了以上URL。
本来我的index.php是在.htaccess隐藏了的,现在这里又显示出来,这不太好吧,是否能PHP中设置一下隐藏URL中的index.php呢?
Sligcm2012年12月30日
$Form = D('Form');
$data['title'] = 'ThinkPHP';
$data['content'] = '表单内容';
$Form->add($data);
$Form = D('Form');
$Form->title = 'ThinkPHP';
$Form->content = '表单内容';
$Form->add();
上面的数组方式和下面的对象方式还有一个区别:
对象模式中的字段如果只设置一个已知字段的值,可以覆盖表单提交的相同字段的内容,表单提交的其他字段的值不变。
但是数组模式如果只设置一个字段的值,则会只提交一个设置的字段值,而表单提交的其他字段的值则会为数据表字段默认值。
Sligcm2012年12月30日
刚说的2个问题,又可以了~
好诡异~什么都没改。
Sligcm2012年12月30日
当我们顺利提交表单后,会看到写入数据表的数据中的create_time字段已经有值了,这就是通过模型的自动完成写入的。
这个3.1.2下也无效!
Sligcm2012年12月30日
我们来验证下表单提交的效果,当我们不输入标题就直接提交表单的话,系统会给出标题必须这样的提示信息。
这个3.1.2下无效!
wanghero2012年12月28日
注意: 第二段的代码 class FormAction extends Action{
}
之前需要加上 " <? php " 才能使用
Chrisma2012年12月27日
无法显示汉字,只要页面内存在汉字就是乱码,这个怎么解决。
scottle2012年12月24日
看了之后很有收获,谢谢提供这么优秀的教程
只是、很孤单2012年12月24日
edit.html这个模板按教程里面写的做,页面打开后,<FORM method="post" action="__url__/update">,‘__url__’这个部分无法变成地址,怎么回事?页面多次点击提交按钮后,数据不好被更新,URL处变成:/index.php/Form/edit/id/__url__/__url__/__url__/update;每点击提交一次就多个__url__
qq356102012年10月17日
save()悲剧,如果你在更新数据时,原始的数据没有被改动,就直接提交,save方法返回的是0,这可能是考虑效率问题,但是在某些场合下,会是个bug
回复thinkphp2012年10月30日
save方法返回值不是成功与否这么简单,这个在PHP里面很常见,必须用恒等于false判断失败
回复hiochou2012年11月06日
if ($result !== FALSE) {
$this->success('更新成功');
} else {
$this->error('更新失败');
}
这样就OK了..
xuezhouzhou2012年10月11日
当执行update操作时,文本框中的值不做任何改变,然后直接提交不能成功!(也就是说我更新后的数据和原始数据一样就不能成功写入数据库)
这应该是一个bug吧!
回复thinkphp2012年10月16日
因为你这样提交影响的数据是0,所以会提示不能成功,你需要用判断返回值恒等于false来判断 提交错误
回复niuxitong2012年10月23日
嗯 这确实是一个问题。
回复nicozhang2012年10月23日
老兄你是怎么提成功的哦,我发现那个action不能被正常使用,即使我改成了action=“update”也不行。其实,我发现了,最主要的还是提交的时候url的问题。如果action=“update”,提交后url就成了http://localhost/work1/index.php/Form/edit/id/update ,这个时候tp的内核是读不出来提交的地址的。除非是http://localhost/work1/index.php/Form/update 才正确的执行。请问如何构造这个url。还有th
zi2u2012年10月07日
很通俗易懂
无木成林2012年10月07日
先where再save,总是失败。getLastSql返回的语句,后面有一个order by rand()……这就是造成失败的原因所在。数据库MSSQL 2005,各位看官,何解?
回复thinkphp2012年10月30日
这个问题 最新的mssql和sqlsrv驱动已经修正过了
752288321@qq.com2012年09月28日
class FormModel extends Model 是不是要对应Form表,才可以使用???我如果对应admin表,是不是要写成class AdminModel extends Model {
回复小俊2012年09月28日
class FormModel extends Model 对应的貌似是数据模型,我的理解是数据库里的表
回复被骗的狐狸2012年10月03日
是的!
回复活力_Nick2013年03月26日
有个问题,这里的表是think_form,那去掉前缀think_,表应该是form,那为什么要D('Form')大写呢?
小俊2012年09月27日
自动验证一直失败,输出非法数据对象,怎么回事?
cnnvscn2012年09月27日
read 读了总是那一个数据,加了,减了,在数据库里都改变了,再读,还是那一个数据。晕
回复clg19912012年10月02日
我也出现过同样的情况,可能是插入时间有问题,你看看有没有与时间相关的代码,THINKPHP写的不是time(),你改成time()试试
回复祥云网络2012年10月14日
我也遇到了,已经解决了,我自己写的read函数,没有复制,少了个参数,蛋疼
回复恶魔峰印2012年11月27日
在$Form=M('Form')上一行加上$id = $_GET['id']看看,这样应该可以在浏览器的id后面输入几就显示第几条数据了
senquan2012年09月26日
3.1的M类find方法改了,find($id)不能用,直接find()就行了。
回复senquan2012年09月26日
直接find()也不好用:{
回复senquan2012年09月26日
为啥$id是0呢,学习中……
回复senquan2012年09月26日
/id/1少了/id/ .....
回复恶魔峰印2012年11月27日
真的诶,如果是find($id),显示操作失败,去掉就能正常显示了,谢谢楼主
小俊2012年09月26日
_URL_是什么意思?它表示Form模块?如果是,是怎么实现的这种表示?如果不是,那他到底是个什么意思呢?
回复被骗的狐狸2012年10月03日
这个是用双下划线开始和结尾的哟,具体可以参考PHP里的相关教程。
回复sdzhaozonglu2012年10月21日
__URL__是默认路径,和__FILE__差不多
lvwei3132012年09月18日
觉得再补充个页面显示结果集列表的例子就完整了。当然仅从curd四个操作的角度来说,本文已经达到目标。
回复被骗的狐狸2012年10月03日
CREATE TABLE IF NOT EXISTS `think_form` ( `id` smallint(4) unsigned NOT NULL AUTO_INCREMENT, `title` varchar(255) NOT NULL, `content` varchar(255) NOT NULL, `create_time` int(11) unsigned NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHA
mengxianfeng2012年09月17日
怎么没有给出form表的Sql?
回复belief13142012年09月17日
create table think_form if not exist;id,title,content就行了
回复lvwei3132012年09月18日
在ThinkPHP示例:表单处理的文章里看到的。
回复lvwei3132012年09月18日
CREATE TABLE IF NOT EXISTS `think_form` ( `id` smallint(4) unsigned NOT NULL AUTO_INCREMENT, `title` varchar(255) NOT NULL, `content` varchar(255) NOT NULL, `create_time` int(11) unsigned NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHA
回复lvwei3132012年09月18日
时间居然是int型,我说怎么试了好久都不正常。
回复wangflove2012年09月18日
确实是没有,我自己建立了一个包含id\content\title\create_time的表就可以了。
yangjie94562012年09月12日
为什么使用getField()获取字段值只有最前面一个字符呀
半个书生2012年09月12日
有时间了出个thinkphp操作oracle或者是其他数据库的教程吧。
archer1002012年09月11日
这节课对了解TP非常有帮助,是用的最多的部分的操作。
errortm2012年09月11日
_URL_解析不出来地址,这个什么常量,查不到
回复mengxianfeng2012年09月17日
前后都是两个_,你的这个好像是一个!
回复wangflove2012年09月18日
是 __URL__ 不是 _URL_
回复belief13142012年09月19日
直接在模板文件中{__URL__}即可输出路径,当前模块的路径
回复752288321@qq.com2012年09月28日
是__URL__ 手册有
jzmonbo2012年09月11日
这个例子真的是正确的吗,是否有人操作过
回复jzmonbo2012年09月11日
这个例子应该是操作表吧,但是表结构如何创建的说明都没有
回复litao1232012年09月14日
add a table. It is working! CREATE TABLE IF NOT EXISTS `think_form` ( `id` int(8) unsigned NOT NULL AUTO_INCREMENT, `title` varchar(255) NOT NULL, `content` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSE
satrong2012年09月06日
我觉得有必要多讲讲RBAC
回复heixiake2012年09月06日
kj
回复heixiake2012年09月06日
真的有必要
回复Skeam TJ2012年09月07日
真的很有必要,期待啊
回复alex812012年09月09日
希望3.2重写下RBAC,让其更好用些。
回复datapass2012年09月10日

普通分类: