我想摆脱Auth组件错误消息,特别是当我尝试访问非允许的操作时出现的authError消息.
为了确保,我仔细检查$this->Session->flash()布局中的任何地方都没有呼叫.此外,设置空值不起作用,因为组件具有默认消息值.
我在AppController类中使用具有以下配置的Auth组件:
class AppController extends Controller {
var $components = array(
'Auth' => array(
'userModel' => 'WebUser',
'loginAction' => '/login',
'loginRedirect' => '/',
'logoutRedirect' => '/login',
'autoRedirect' => false,
),
'Session',
...
...
}
Run Code Online (Sandbox Code Playgroud)
对于登录和注销重定向,我设置了两个路由:
Router::connect('/', array('controller' => 'posts', 'action' => 'index'));
Router::connect('/login', array('controller' => 'web_users', 'action' => 'login'));
Run Code Online (Sandbox Code Playgroud)
WebUser控制器中的登录操作几乎为空; 我只更改默认布局:
function login() {
$this->layout = 'login';
$this->set('title_for_layout', 'Sign in');
}
Run Code Online (Sandbox Code Playgroud)
最后,我有一个非常简单的login.ctp布局文件:
<html>
<head>
...
</head> …Run Code Online (Sandbox Code Playgroud) 我有一堆像这样的字符串:
test; test2 (2;5%).
Run Code Online (Sandbox Code Playgroud)
我现在要用PHP做的是纠正";" 在括号中所以它看起来像:
test; test2 (2,5%) - mention the ",".
Run Code Online (Sandbox Code Playgroud)
我试过的代码:
$string = preg_replace("/\(.;.\)/", ",", $string);
Run Code Online (Sandbox Code Playgroud)
我的眼睛实际上从谷歌搜索流血所以请帮助我:)
我是CakePHP的新手,但得到了奇怪的错误.我只是测试它,如何实现许多功能并得到奇怪的错误.我创建了一个名为的控制器,about并收到以下错误:
Error: Database table abouts for model About was not found.
Run Code Online (Sandbox Code Playgroud)
CakePHP是否需要为每个控制器提供DB表?
var $useTable = false; 不管用.
我正在使用CakePHP 1.2.5
我有一个名称和姓氏列的用户模型.我正在尝试使用表单创建一个选择器,默认情况下只显示名称值.sfWidgetFormDoctrineChoice
如何修改窗口小部件以显示名称和姓氏?我知道你可以在初始化小部件时传递一个查询选项,但我不能让它工作:
$this->setWidget('user_id', new sfWidgetFormDoctrineChoice(array(
'model' => $this->getRelatedModelName('User'),
'query' => Doctrine_Query::create()->select('u.name, u.surname')->from('User u'),
'add_empty' => false)
));
Run Code Online (Sandbox Code Playgroud)
谢谢!
我正在使用sfGuard插件,默认情况下,注册表单有一些帖子验证器(用于用户名和电子邮件).
我googled很多,没有找到任何方法/黑客添加帖子验证器,而不必重写所有...
因为当我这样做时:
$this->validatorSchema->setPostValidator(
new sfValidatorCallback(array('callback' => array($this, 'checkPassword')))
);
Run Code Online (Sandbox Code Playgroud)
所有其他帖子验证器似乎都消失了.
我正在尝试从CakePHP中的数据库更新表数据.
查询:
UPDATE status SET amount=5000 WHERE id=3
Run Code Online (Sandbox Code Playgroud)
如何在CakePHP中编写此查询?
我在Symfony应用程序中配置了以下路由:
label:
url: /label
param: { module: label, action: configure }
requirements: { sf_method: get }
label_create:
url: /label
param: { module: label, action: create }
requirements: { sf_method: post }
Run Code Online (Sandbox Code Playgroud)
链接executeConfigure和executeCreate行动.然后我有一个这样配置的表单:
<form action="<?php echo url_for('@label_create') ?>" method="POST">
<?php echo $form->renderHiddenFields() ?>
<input type="hidden" name="sf_method" value="post" />
<!-- more stuff here -->
</form>
Run Code Online (Sandbox Code Playgroud)
每当提交表单时executeConfigure,虽然据我所知,使用POST方法配置的路由应该避免并执行executeCreate.
如何区分这两个保持相同URL的操作?
谢谢!
php ×6
cakephp ×3
symfony1 ×3
forms ×2
cakephp-1.2 ×1
components ×1
controller ×1
doctrine ×1
http-method ×1
preg-replace ×1
regex ×1
rest ×1
routing ×1
salesforce ×1
sfguard ×1
sql ×1
validation ×1
widget ×1