网站发送邮件连接数据口创建接口等

news/2024/5/20 11:10:04/文章来源:https://blog.csdn.net/zhangzhuo1130/article/details/99623881

1. 导入API.php文件(可以参考demo项目中的api.php文件)

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: GET, POST, PUT,DELETE,OPTIONS,PATCH');class Api extends CI_Controller
{/*** Index Page for this controller.** Maps to the following URL*        http://example.com/index.php/welcome*    - or -*        http://example.com/index.php/welcome/index*    - or -* Since this controller is set as the default controller in* config/routes.php, it's displayed at http://example.com/** So any other public methods not prefixed with an underscore will* map to /index_demo.php/welcome/<method_name>* @see https://codeigniter.com/user_guide/general/urls.html*/public function __construct(){parent::__construct();}public function login(){$input = $this->getinput->json();$count = $this->db->where('user_name', $input['user_name'])->where('user_pass', $input['user_pass'])->get('user')->num_rows();$ip=$this->ip();$token=md5($ip.'zq123');if($count>0){$data = array('code' => 0,'token'=>$token);echo json_encode($data);}else{$data = array('code' => -1,);echo json_encode($data);}}public function check(){$httpAuthorization=$_SERVER['HTTP_AUTHORIZATION'];$ip=$this->ip();$token=md5($ip.'zq123');if($httpAuthorization=='Bearer'.$token){return 100;}else{return 200;}}//添加案例public function add_email(){$input = $this->getinput->json();if (isset($input['email'])) {$data = array('email' => $input['email'],'name' => $input['name'],'message' => $input['message'],'subject' => $input['subject'],'created_at' => date('Y-m-d H:i:s'),);$this->db->insert("email", $data);$nu = $this->db->affected_rows();if ($nu) {$data['status'] = 0;$data['msg'] = '创建成功';echo json_encode($data);} else {$data['status'] = -1;$data['msg'] = '创建失败';echo json_encode($data);}}}public function ip() {//strcasecmp 比较两个字符,不区分大小写。返回0,>0,<0。if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {$ip = getenv('HTTP_CLIENT_IP');} elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {$ip = getenv('HTTP_X_FORWARDED_FOR');} elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {$ip = getenv('REMOTE_ADDR');} elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {$ip = $_SERVER['REMOTE_ADDR'];}$res =  preg_match ( '/[\d\.]{7,15}/', $ip, $matches ) ? $matches [0] : '';return $res;//dump(phpinfo());//所有PHP配置信息}
}

2. 建表,在数据库中

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

3.粘贴GetInput
在这里插入图片描述

<?phpclass GetInput
{static function json($check = array()){$input = file_get_contents("php://input");$_this = &get_instance();if ($input) {try {$input = json_decode($input);$input = (array)$input;if (count($check) > 0) {$keysList = array();foreach ($input as $k => $v){array_push($keysList,$k);}foreach ($check as $item) {if (!in_array($item, $keysList)) {$_this->output->set_status_header(500)->set_output($item .' field input error')->_display();die();}}}return $input;} catch (Exception $e) {return null;}} else {return null;}}}

4.更改autoload.php文件
在这里插入图片描述
5.更改database文件
在这里插入图片描述
本地数据库

$db['default'] = array('dsn'  => '','hostname' => 'localhost','username' => '','password' => '','database' => 'test','dbdriver' => 'mysqli','dbprefix' => '','pconnect' => FALSE,'db_debug' => (ENVIRONMENT !== 'production'),'cache_on' => FALSE,'cachedir' => '','char_set' => 'utf8','dbcollat' => 'utf8_general_ci','swap_pre' => '','encrypt' => FALSE,'compress' => FALSE,'stricton' => FALSE,'failover' => array(),'save_queries' => TRUE
);

这是外网数据库连接方式


$db['default'] = array('dsn'  => '','hostname' => 'localhost','username' => 'ultron','password' => '4bswRZ6YaU4WpMfV','database' => 'test','dbdriver' => 'mysqli','dbprefix' => '','pconnect' => FALSE,'db_debug' => (ENVIRONMENT !== 'production'),'cache_on' => FALSE,'cachedir' => '','char_set' => 'utf8','dbcollat' => 'utf8_general_ci','swap_pre' => '','encrypt' => FALSE,'compress' => FALSE,'stricton' => FALSE,'failover' => array(),'save_queries' => TRUE
);

6.config.php中
如果是连接外网数据库那就把demo/删掉

在这里插入图片描述
7.在显示页面绑定数值,连接接口
首先引入vue等用到的组件

<script src="https://cdn.jsdelivr.net/npm/vue"></script>
<script src="<?php echo base_url('resource/js/axios.min.js') ?>"></script>
<!-- 引入样式 -->
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
<!-- 引入组件库 -->
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
<!--// web-fonts -->

在这里插入图片描述
然后在

      <script>new Vue({el: '#contact',beforeCreate: function () {},data() {return {name: undefined,email: undefined,subject: undefined,message: undefined,}},created: function () {},mounted: function () {},methods: {message_box(msg, type) {this.$message({showClose: true,message: msg,type: type});},get_case() {let self = this;if (self.email === undefined || self.email === '') {self.message_box('请填写邮箱', 'error')} else if (self.name === undefined || self.name === '') {self.message_box('请填写名字', 'error')} else if (self.subject === undefined || self.subject === '') {self.message_box('请填写标题', 'error')} else if (self.message === undefined || self.message === '') {self.message_box('请填写内容', 'error')} else {axios.post('<?php echo base_url('Api/add_email') ?>', {//传参数name: self.name,message: self.message,subject: self.subject,email: self.email,}).then(function (response) {console.log(response);if (response.data.status === 0) {self.message_box('提交成功', 'success')} else {self.message_box('提交失败', 'error')}}).catch(function (error) {console.log(error);});}},}})</script>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_858660.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在进网站之前加入一个类似开机视频的东西,视频播放完后自动跳到网站首页

首先建一个文件&#xff0c;里面放要加载的视频 <style></style> <script src"https://cdn.jsdelivr.net/npm/vue2.5.16/dist/vue.js"></script> <link rel"stylesheet" href"https://unpkg.com/element-ui/lib/theme-ch…

常用各类工具网站

常用的各类网站&#xff1a; 1.自己备用&#xff0c;分享链接&#xff0c;也可供各位网友选择&#xff0c;若有侵权&#xff0c;可联系删除 2.会不定时更新 3.加油&#xff01;奥里给&#xff01; PPT&#xff1a; 1、 PPT超级市场 https://ppt.sotary.com/web/wxapp/index…

最好的UI/UE设计资源网站推荐-免费的头像库

在进行UI/UE设计时&#xff0c;一旦涉及到社交相关的功能&#xff0c;会经常需要使用到头像素材。而高质量、无版权要求的相关素材又非常少&#xff0c;这里为大家推荐一个素材库可以满足上述要求。 网址 FIGMA 和 SKETCH 的免费头像库 https://themeselection.com/products/e…

大型Web网站高并发架构方案

背景 搭建一套大型WEB网站从技术角度讲采用开源的成熟的方案落地实现起来很简单&#xff0c;但是怎么扛住高并发的流量呢&#xff1f;这是一个值得我们思考的问题&#xff0c;值得我们一探究竟如何优化既有架构从而实现高并发的访问&#xff0c;使系统优雅平稳的运行 现有架构…

用asyncio和aiohttp异步协程爬取披露易网站港资持股数据

这是本人毕设项目的一部分&#xff0c;也是比较核心的部分。 请自觉遵守相关法律法规&#xff0c;若侵权请联系本人立刻删除。 任务描述 爬取披露易网站上的港资持股A股详细股东数据。点击搜索栏下方的持股名单我们可以看到港资持股的股份名单。 任务分为三部分&#xff1a; …

基于GitHub搭建个人网站

基于GitHub搭建个人网站 基于GitHub搭建个人网站 我的个人站点 https://github.com/wforguo 当你撸完一份自己的个人网站&#xff0c;然后想让别人去访问它&#xff0c; 怎么办&#xff1f;去买个服务器&#xff0c;也太贵了吧&#xff01; 下面&#xff0c;利用GitHub来教你…

毕业设计——基于HTML5的洛阳旅游网站设计与实现

基于HTML5的旅游网站设计与实现 这是一个基于HTML5的旅游网站&#xff0c;论文、代码都很齐全。 获取源代码至GitHub&#xff1a;GitHub - wforguo/travel: 基于HTML5的旅游网 国内站点&#xff1a;travel: 毕业设计&#xff0c;课程设计&#xff0c;基于HTML5的洛阳旅游网开…

修改hosts不管用 为什么修改127 0 0 1指向的域名,访问域名却弹出别的网站

linux上的hosts&#xff1a; 一般在LINUX下修改完/etc/hosts文件都会立即生效的&#xff0c;即便偶尔不生效&#xff0c;只要重启一下network服务就可以了。 win上的hosts&#xff1a; 但是windows却是会遇到这样的问题&#xff0c;而且在不同版本的系统中还略有区别。 原理&am…

数据分析入门——推荐基础书以及实用网站

数据分析入门&#xff1a; 一开始肯定是数学基础巩固&#xff1a; 线性代数、统计论等。参考书成千上百&#xff0c;最重要还是理解透&#xff01; 二就是各种软件的熟悉利用&#xff1a;EXCEL SPSS SAS 等&#xff0c;这是我桌面常用到的软件&#xff1a; 三便是进阶版&#x…

GitHub网站的主题设置

文章目录 设置GitHub主题固定主题随时间自动改变主题 今天访问GitHub时&#xff0c;发现个人中心有一个新的功能点appearance。进一步发现此功能是设置GitHub的个人主题设置&#xff0c;主题有三个&#xff0c;分别为 Default light 、Default dark 、Dark dimmed 设置GitHub主…

大型网站技术架构-核心原理与案例分析

D:\和动力\大型网站技术架构-核心原理与案例分析.xmind 如果你觉得我的文章帮助到了你并节省了开发时间&#xff0c;请扫描下方二维码随意打赏❥(^_^) 您的支持是我最大的鼓励

搭建个人网站vm+center os+apache

如何搭建个人网站 准备的前提 vmcnetos 7apche 在vm上安装center os的教程就不介绍了这个有很多 1.如何配置一台刚装好了center os 7并且能够使他联网 ping 通百度 ip a查看当前ip地址&#xff08;如果显示当前界面&#xff0c;说明没有配置ip地址,网卡没有开启&#xff0…

用jQuery构建网站

主页面 常见的头尾自适应两列布局、第二列又分为上下两部分 实现的主要功能有 网站换肤功能 二级菜单功能图片轮播功能选项卡功能自定义的提示框功能品牌活动图上悬浮放大镜的功能 详情页面 和主页面布局差不多&#xff0c;也是头尾两列自适应布局 实现的功能&#xff1a…

企业如何营销才能体现你网站的价值

根据有关机构数据统计分析&#xff0c;截止2016年我国中小企业数量已经达到50000万左右。中国众多中小型企业已加入网络营销的行列&#xff0c;网络营销也为众多企业带来了巨大的利润。但是却有近乎3分之一的企业自己的网站竟然没有盈利或者说盈利很少&#xff0c;更别说通过互…

网站内部链接策略分析

当站长们都在讨论外链的时候&#xff0c;很少有人注意到内链的作用&#xff0c;内链就是网站的内部的相互链接&#xff0c;我认为内链的最主要的作用在于提高搜索引擎索引效率和用户体验&#xff0c;增加PV&#xff0c;除此之外&#xff0c;由于是自己的网站&#xff0c;内链容…

SEO将要苏醒,请乘坐你网络营销的班车

您是否还在为以下网络营销问题束手无策&#xff1f; 在互联网上无法确认是先做品牌还是先做业绩&#xff1f; 网站已经建好&#xff0c;怎样确认推广渠道&#xff1f; 推广成本越来越高&#xff1f; 推广效果不好但不知道哪个环节出了问题&#xff1f; 移动端趋势越来越明显&am…

网站导航助手

实现效果: 1.关闭 2.点助手弹出对话框页面. 代码分享: <html><head><title>网站助手</title></head><body><div id"btn_wzdhzs" style"width:109px; height:144px;position:absolute; top:235px; right:10px;"…

【iOS资源推荐】那些我看过的书,视频,网站,博客(持续更新)

由于很多新手都有选择恐惧症&#xff0c;所以这里推荐的东西&#xff0c;我尽量少而精 1.视频 这个不用说&#xff0c;斯坦福大学的教程不管是权威性&#xff0c;还是新颖程度都是No1. 斯坦福大学公开课&#xff1a;iOS 7应用开发&#xff0c;这个是OC http://v.163.com/speci…

怎样用sourceTree将自己本地的项目上传到github网站上

前言&#xff1a;GitHub 是基于 Git 的一个代码托管网站。开发者可以将代码在 GitHub 上开源&#xff0c;可以浏览其它项目的代码。 准备工作&#xff1a;1、github网站账号。2、sourceTree软件。 一、在github网站上新建一个仓库 方法很简单&#xff0c;你可以参考官网给出的教…

Scrapy框架爬取dmoztools网站两个网址信息——基于Xpath内置选择器

问题背景 目的是将该网站关于Python的书籍信息和资源信息爬取并导出。 实现过程 一、调出cmd窗口 cd /d 所要保存的路径 #t2为新建的文件名 scrapy startproject t2 cd q2 scrapy genspider t2t dmoztools.net #接下来可直接在cmd窗口中进行测试&#xff0c;也可以到Pytho…