美文网首页
form表单提交

form表单提交

作者: 蜗牛呀呀呀呀呀 | 来源:发表于2019-05-02 17:26 被阅读0次

今天学了一个form表单的提交

//html
{extend name='./common/father'}
{block name='one'}
<form class="form-horizontal" action="{:url('post')}" method="POST">
//{:url('post')} 这个url对应的为引入该html的控制器下的post方法
    <div class="form-group" style="margin-left:10%;margin-top: 2%">

        <label class="col-sm-2 control-label">用户名</label>

        <div class="col-sm-9 col-xs-12">

            <input type="text" name="username" class="form-control" value=""  placeholder="" >

        </div>
    </div>
    <div class="form-group" style="margin-left:10%;margin-top: 2%">

        <label class="col-sm-2 control-label">昵称</label>

        <div class="col-sm-9 col-xs-12">

            <input type="text" name="nickname"  class="form-control" value=""  placeholder="" >

        </div>
    </div>
    <div class="form-group" style="margin-left:10%;margin-top: 2%">

        <label class="col-sm-2 control-label">密码</label>

        <div class="col-sm-9 col-xs-12">

            <input type="text" name="password"  class="form-control" value=""  placeholder="" >

        </div>
    </div>
    <div class="form-group" style="margin-left:10%;margin-top: 2%">

        <label class="col-sm-2 control-label">确认密码</label>

        <div class="col-sm-9 col-xs-12">

            <input type="text" name="password_confirm"  class="form-control" value=""  placeholder="" >
//password_confirm使用confrim方法。验证值和被验证值。如果a是XXX。则b要验证的命名方法为XXX.confrim。
        </div>
    </div>

    <input type="submit" class="btn btn-primary span3" name="submit" value="注册" style="margin-left: 45%">

</form>
{/block}

php中的一些处理

<?php
namespace app\regiser\controller;
use app\common\model\User;
use think\Db; //使用数据库方法必须引入这个。注意:D要大写,b要小写
//......
use think\Controller;
use think\Request;
use think\Validate;//Validate方法验证类要引入。不引入可以使用其他的方法获取表单中的值。

class Login extends Controller
{
    public function login()
    {
        return  view();
    }
    public function post(Request $request){
    $post=$request->post();//获取post提交中的所有值。
//    halt($post);
//        halt($_POST['username']);
        //对post衍生
       $yz= Validate::make([
            'username'=>'require|min:3|max:15',
         'nickname'=>'require|min:3|max:15',
         'password'=>'require|min:3|max:15|confirm',
       ]);
//验证的一些值,'password'=>'require|min:3|max:15|confirm',对应的上文html中的值。
//含义,require:请求值;min最短为3,max最长为15.
       $status=$yz->check($post); //验证其中的值,$yz中的的定义规则是否满足定义的需求。满足为true不满足为false
//       halt($status);
        if($status){
//数据库方法能用的原因,use thinl\DbY引入了。
        db::table('user')->insert([
            'username'=>$post['username'],
            'nickname'=>$post['nickname'],
            'password'=>md5($post['password']),
        ]);
//插入数据并对密码进行md5加密
        return $this->success('注册成功,请登录','/public');返回主页面。第一个参数提示文字,第二个参数返回的url
        }else{
//            halt($yz->getError());
            return $this->error($yz->getError());//返回当前页面因为出错了。
        }
}
}

中途的报错:
//Call to undefined method app\regiser\controller\Login::success()
原因 自己定义的类没有继承 控制器即,extends Controller。

登录

  session('id',$status['id']);
  session('username',$status['username']);
登陆后获取的值。

相关文章

  • Web中的常用的两种表单验证

    今天介绍下web开发中常用的两种表单验证,form提交和ajax提交 form提交 表单是通过form提交时,用户...

  • 关于post与ajax post的数据类型

    form表单提交 传统的form表单提交只需要一个form标签,指定action、method='POST',并期...

  • 2019-03-04 表单,标签笔记

    1.如果form表单里没有提交按钮则无法提交这个form(除非用js 2.form表单里若没有提交submit按钮...

  • Ajax提交form表单

    ajax提交form表单

  • From表单提交数据的几种方式

    目录 1,Form表单的常用属性2,浏览器提交表单时执行步骤3,提交方法4,常见的几种提交方式 form表单常用属...

  • 02_html&css

    HTML 表单标签

    form标签属性action:表单提交的路径,可以是html,也可以...

  • form表单和ajax文件上传

    通过传统的form表单提交的方式上传文件: 名称 文件 不过传统的form表单提交会导...

  • 2019-10-24 表单标签

    今天学习了html表单 HTML表单(

    标签) 属性: 1 action:决定表单提交的地...

  • form表单

    form表单的作用form用于把用户输入的数据提交到后台 name:表单提交时的名称action:提交到的地址...

  • HTML 表单的用法

    HTML表单 form表单 form表单用于把用户输入的数据提交给后台服务器name表示提交的表单名称,actio...

网友评论

      本文标题:form表单提交

      本文链接:https://www.haomeiwen.com/subject/dhdiyqtx.html