composer require phpmailer/phpmailer public function email(){ $mail = new PHPMailer(true); try { //服务器配置 $mail->CharSet ="UTF-8"; //设定邮件编码 $mail->SMTPDebug = 0;
html 前端页面 <form enctype="multipart/form-data" id="form"> <input type="file" name="file" id="file" multiple="multiple"><br><br> <input type="button" value=&q
官方文档 https://pay.weixin.qq.com/wiki/doc/api/index.html //请求微信的预支付 // 微信 id $appid= ''; // 商家的key $key = ''; $mch_id= '';// 商户号 mch_id 是 Stri
问题描述: 1: 用 VUE 当前端 2: 用 TP5(thinkPHP5) 当后端 3: 前端请求后端接口 前端界面如下:ElementUI 使用(仿了一个 admin-vue 后端) 分成头部、左侧、右侧 router.js import Vue from 'vue' import Router from 'vue-router' import Main from '@/components/Main' import Right
composer方式下载源码 composer create-project topthink/think=5.0.* tp5 --prefer-dist nginx配置(默认不支持path_info模式,要使用?s=/的方式访问地址) server { listen 80; server_name www.tp5.com; root /var/www/tp5/public; inde
路由开关模式 普通模式 'url_route_on' => false, 混合模式 'url_route_on' => true, 'url_route_must'=> false, 强制模式 'url_route_on' => true, 'url_route_must' => true, 路由定义 route.php use t
前言 之前接触tp5的站比较少,只知道利用RCE漏洞getshell的方式。在最近对一个发卡平台渗透的过程中,由于php版本限制,无法直接使用RCE的payload拿shell,于是结合该网站尽可能多的测试一下tp5+php7.1环境下的getshell方法。 【查看资料】 正文 拿到站点后,访问首页如下 不过看不出
tp模型数据: namespace app\xcx\model; use think\Model; class XcxModel extends Model { //链接数据库表名 protected $table = 'users'; // 数据库查找数据 public static function listData() { return self::select(); } } tp 控制层: p
链接:https://pan.baidu.com/s/1O6fVYAIQEyri8Z5VGRuPaQ 提取码:6666 首先下载插件的文件 可以使用官方下载 不方便的我上面提供的下载链接 <form action="{:url('Index/und')}" method="post" enctype="multipart/form-data"> <!-- 加载编辑器
HTML 页面代码, <form action="{:url('控制器文件/文件方法')}" method="post" enctype="multipart/form-data"><!-- 上传文件必须要带enctype --> 收件人邮箱:<input type="text" name="mail"/>
HTML代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>邮箱注册</title> <link rel="stylesheet" href="http://apps.bdimg.com/libs/bootstrap/3.3.0/cs
第一步: 根据情况分析表关系 一对一 ,一对多, 多对多 banner表和banner_item的关系:很明显,是一对多的,这是正向来说的,反向来看,一个 banner_item只能属于一个banner,是一对一的,总体我们说是一对多的。如果反向也是一对多我们才能说是多对多的。注意要查看关系要从正反向两方面来看待。
git clone git add . # 跟踪所有改动过的文件 git commit -m “commit message” # 提交所有更新过的文件 git checkout master # 切
1:php终端 安装扩展 使用Composer安装ThinkPHP5的图像处理类库: composer require topthink/think-image2:控制器代码: public function save(Request $request) { //接受前端全部参数 $data = $request->param(); // 接受文件上传 $file = $
路由 //商品模型展示的路由 Route::get('type','/pyg/good/listType'); //将type_id传送至/pyg/good/addType的路由 Route::get('addType','/pyg/good/addType'); 思路:1先去模型找见商品的类型 模型代码: <?php namespace app\pyg\model; use think\
TP5能自动获取到参数,具体是这么做的,我的路由是get请求 Route::get('hello/:id','samiple/test/hello'); 我类的方法: public function hello($id,$name,$age){ echo $id; echo '|'; echo $name; echo '|'; echo $age; return "he
1:创建模型 2:定义关联模型 <?php namespace app\common\model; use think\Model; use traits\model\SoftDelete; class TypeModel extends Model { use SoftDelete; //链接pyg商品类型表 protected $table = 'pyg_type';// 进行和规格模型关联,1对多 p
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>显示</title> </head> <body> <table border="1"> <tr> <th><
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"> </script><
1.先将数据完整展示出来 (1)后台代码 public function GoodsShow(){ //每页显示数量 $size=5; $model=new \app\test\model\Goods(); $data=$model->join('type','t_id=type_id')->select(); $data=collection(
tp5框架里面自带有panigate()+rende()的方法可以超简单的实现分页,但是就是看着一直要刷新很不爽,所以找了网上的好多代码,终于找到了一个逻辑简单的无刷新分页,以下是我更改适合之后实现的效果 首先是后台代码 (这里展示和分页用的是一个方法) php代码示例 public function index(){
下载layui文件 https://www.layui.com/(网址) 将文件放入根目录/pubilc/static 例如:列表功能 在官网上复制需要使用的代码放到我们的编辑器中 修改css地址 修改js地址 最后修改请求的接口与表字段 控制器器的代码参考: class Show extends
1.在控制器中写入 header('Access-Control-Allow-Origin:*'); // *代表允许任何网址请求 header('Access-Control-Allow-Methods:POST,GET,OPTIONS,DELETE'); // 允许请求的类型 header('Access-Control-Allow-Credentials: true'); // 设置是否允许发送 cookies
1.编写前台页面 <form action="phoneDo" method="post"> <input type="text" name="phone"> <button type="submit">发送</button></form> 2.后台接收并发送 public function phoneDo(){ //接受前台
1.编写前台表单页面 <form action="phoneDo" method="post"> <input type="text" name="phone"> <button type="submit">发送</button></form> 2.后台接收手机号并编写短信内容 public function phoneDo()