sk811229

sk811229

这家伙有点懒,还没写个性签名!

  • 财富值770
  • 威望值10
  • 总积分1030

个人信息

  • 回复了 的回答

    其实对于排序这个,我也是还不太明白,目前还是简单的用法,其中各个逻辑原理尚不明,主要感觉不是很重要,开发中没有多少需要这个,所以没有上心。呵呵,就是优先级不够呗!

    先凑合着用吧,还是要感谢你的热心了。

  • 2018-11-29 已签到
    连续签到1天,获得了5个金钱
  • 回复了 的回答

    表单这个东西,我在文档上给你找了一段,其实差不多类似:
    https://www.yiichina.com/doc/guide/2.0/input-forms
    Yii2没有把视图和哪个提交地址绑定,这个还是原始HTML的表单知识,action还是你来写,爱咋写咋写,自古以来就是这样,不写的话默认就是当前的路由,这不是野路子:

    <?php
    $form = ActiveForm::begin([
        'id' => 'xxxxx_form',
        //这里使用了Url助手函数封装下而已,直接写也OK的。
        'action' => Url::to(['/myserver/user', 'uid' => $uid]),
        'layout' => 'horizontal',
        'options' => ['class' => 'form-content'],
        'method' => 'POST',
        'fieldConfig' => [
            'horizontalCssClasses' => [
                'label' => 'col-xs-4 col-sm-4',
                'wrapper' => 'col-xs-8 col-sm-8',
            ]
        ]
    ]);
    ?>
    

    如果你想提交到dealwith()方法,这个有点难度,但是也不是不可能。
    Yii2的控制器里一般包含两种方法:
    一种是内联方法,类似这种actionXXXX()的,内联的最多;
    还有一种是独立方法,这个需要使用【行为机制】,简单来说控制器里写个 actions()方法,看下这篇文档:
    https://www.yiichina.com/doc/guide/2.0/structure-controllers#standalone-actions
    其它再说。

    谢谢,对我很有帮助。

  • 赞了回答

    表单这个东西,我在文档上给你找了一段,其实差不多类似:
    https://www.yiichina.com/doc/guide/2.0/input-forms
    Yii2没有把视图和哪个提交地址绑定,这个还是原始HTML的表单知识,action还是你来写,爱咋写咋写,自古以来就是这样,不写的话默认就是当前的路由,这不是野路子:

    <?php
    $form = ActiveForm::begin([
        'id' => 'xxxxx_form',
        //这里使用了Url助手函数封装下而已,直接写也OK的。
        'action' => Url::to(['/myserver/user', 'uid' => $uid]),
        'layout' => 'horizontal',
        'options' => ['class' => 'form-content'],
        'method' => 'POST',
        'fieldConfig' => [
            'horizontalCssClasses' => [
                'label' => 'col-xs-4 col-sm-4',
                'wrapper' => 'col-xs-8 col-sm-8',
            ]
        ]
    ]);
    ?>
    

    如果你想提交到dealwith()方法,这个有点难度,但是也不是不可能。
    Yii2的控制器里一般包含两种方法:
    一种是内联方法,类似这种actionXXXX()的,内联的最多;
    还有一种是独立方法,这个需要使用【行为机制】,简单来说控制器里写个 actions()方法,看下这篇文档:
    https://www.yiichina.com/doc/guide/2.0/structure-controllers#standalone-actions
    其它再说。

  • 我发现可以在视图文件中 创建 ActiveForm 对象后直接修改他的参数 $action 把表单提交到任意的方法处理,只是看起来有点‘野路子’就没有别的比较正规的官方写法吗?
    下面是我在视图文件中的写法,请大神指点下:

    <?php $form = ActiveForm::begin();$form->action='/basic/web/index.php?r=site/other'?>
    <?= $form->field($model,'name');?>
    <?= $form->field($model,'email');?>
    
    <div class="form-group">
        <?= Html::submitButton('提交',['class'=>'btn btn-primary']);?>
        
    </div>
    <?php ActiveForm::end();?>
    

    这个是权威指南的一个实例,添加

    $form->action='/basic/web/index.php?r=site/other'
    

    之前表单是给 entry() 方法处理的 现在 提交给了 other() 处理,实测通过。。。
    还望指点,谢谢。。。

  • 回复了 的回答

    Yii2的过滤和验证正如你上面所写的load()方法那样,是建立在【场景】机制下的管理操作。

    $model = new User();
    $model->setScenario(User::SCENARIO_CREATE);//设置场景
    $model->load(Yii::$app->request->post()//根据场景填充数据到模型$model
    if ( $model->save()) { //根据场景进行过滤和验证,无误后入库
        return "success"; 
    } else {
        return $model->getErrors();
    }
    

    你可以花10分钟先读一篇这个文档,这里都是Yii2在model层进行输入验证和过滤起作用的地方:
    https://www.yiichina.com/doc/guide/2.0/input-validation

    sql注入的问题,我觉得php各个框架都差不多,因为PDO在底层已经解决了一大部分这方面的问题。
    各个框架的ORM都会有的。Yii2是AR,model;laravel就是eloquent类似。几乎不用担心SQL注入问题,除非自己坑自己。
    建议把数据库部分看看,也许心里会有点感觉吧!

    多了些。。。

  • 回复了 的回答

    我一般存储不做处理,在读取的时候做处理:

    <?= \yii\helpers\HtmlPurifier::process($model->content) ?>
    

    这个应该是防止跨站脚本攻击的吧,我想请教对于 sql 注入,yii 有哪些办法?或者机制?

  • 提出了问题
    请教如何对表单提交的数据进行过滤
  • 2018-11-27 已签到
    连续签到4天,获得了20个金钱
经理 等级规则
1030/2000
资料完整度
10/100
用户活跃度
0/100

Ta的关注

0

Ta的粉丝

0

Ta的访客

7