技术部作业指导

目录:

  • HTML表单--提交数据
  • 数据库操作--查询
  • 微信接口
  • 其他

HTML表单

表单代码:
<!Doctype html><meta http-equiv="Content-Type" content="text/html;charset=utf-8"><html><head><title> 标题</title></head><body> <form action="" method="get"> 请输入英语老师名字 <input type="text" name = "teacher"> <input type="submit" value = "提交"> </form> </body> </html>
如果有注意的话,我在表单(form)中的

action = " "

是空的,这样的话,我们点了提交之后,用户在这个表单输入的内容就会提交给本页面。
举个例子,你说话总得有个人听吧,没有人听的话就相当于自言自语自己说给自己听。

效果如下:


代码1.png

数据库查询

我们之所以要用到数据库,是因为我们的数据存放在数据库了,要通过PHP代码去查询,
然后把查询的结果给用户看,而不是直接把数据库的网站给用户,说你自己去看啊王八蛋。

我们现在操作数据库很简单,无非增删改查,
其实很多时候只用到 **增 INSERT ** 和 查 SELECT

插入语句:

INSERT INTO 数据库名.数据表名 (列名) VALUES ('要插入的');

eg:
INSERT INTOHsnmdc.english1(class,ban,teacher,time,whe) VALUES ('1', '1', '1', '1', '1');
数据库其实就是这样

数据库.png

查询语句:

SELECT * FROM 数据表名 WHERE 列名 = '要查询的值'

eg:
SELECT * FROMenglish1WHEREteacher= '1'
这样的话,我会查询在 teacher 列中内容为 1 的整一行,然后把整一行都显示出来。

查询.png

代码逻辑

我们来说一下,大概的代码逻辑。写代码之前要大概知道自己的逻辑,大概想一个草图。
我们要通过表单form获取到用户输入的老师名字,然后用老师名字去数据表里的teacher列找出对应的一横行或者多行,然后再进行处理,把数据显示给人家看。

怎么获取到用户输入

<input type="text" name="teacher">

在这里,我们把用户的输入框取了一个名字teacher
这样,不管用户输入了什么,我们只需要用一个PHP代码就可以知道他输入的是什么了

echo $_GET['teacher'];

效果1.png

好了,我们获得到用户输入的内容了,接下来就是要拿去数据表里进行查询。


使用数据库之前的准备工作

你的东西放在屋子里,要进去屋子里才能拿到,但是屋子锁了,我们要怎么进去屋子呢?得用到钥匙。用php代码对数据库进行操作也是同个道理。

$link = @mysql_connect("localhost","root",密码)or die("数据库链接失败");
if($link)
{
mysql_select_db("Hsnmdc",$link);
}

上面是开启数据库的代码(注意修改上面的 密码。下面是查询函数(复制就好。)

function getall($sql)//查询函数
{
$query = mysql_query($sql);//执行语句
if($query) //如果执行成功
{
$temp = array(); //新建一个数组
while ($res=mysql_fetch_assoc($query)) { //mysql_fetch_assoc() 函数从结果集中取得一行作为关联数组。
//返回根据从结果集取得的行生成的关联数组,如果没有更多行,则返回 false。
$temp[] = $res; //保存
}
return $temp; //保存查询返回的数组
}
else { return false; }
// 如果查询语句查不到东西返回错误
}

来看我代码怎么写

<?php
if(!empty($_GET['teacher'])) //如果提交之后的内容不为空就
echo $_GET['teacher'];
echo "
";
$teacher = $_GET['teacher'];
$cha = "SELECT * FROM english1 WHERE teacher = '{$teacher}' "; //数据库查询语句
$chaxun = getall($cha);//执行数据库的查询语句。套用函数就好
var_dump($chaxun);//$chaxun 已经变成一个数组了,用var_dump可以把数组都显示出来
?>

看一下效果

效果2.png

当我输入1并且提交之后,显示出了一个数组($chaxun )
如果我只想给用户看 班级 ,并不是看全部,那我就不能用var_dump了,而且这样显示出来很多人都看不懂。


我们要用到 echo 。但是单纯echo是输出不来结果的。
我们得采取以下步骤:

$num = count($chaxun,0);

这是数我们查询的结果有多少行。可以自己echo数一下。
比如我们查询的到只有 1 行而已。
那我们要输出 班级 的时候就这样

echo $chaxun[0]['class‘]

这是PHP基础的数组操作,不懂自己看书。

注意 第二个中括号[]里面的英文要和数据表的列名对应
当我写的$chaxun[0]['class'] 就只会显示出查询到的那一行中的 class 列里面的内容。
写 ['teacher‘] 就显示出 teacher。其他同理。


微信接口

  • 要用到微信接口,要明白一件事,我们在别人的地盘混,就要遵守别人的规则,入乡随俗。
  • 微信接口也是同样的道理,你得学微信怎么发送、处理消息,按微信的规则来。

你对微信公众号发送消息的时候,不仅仅是发送文字,而且还发送了一个XML数据包。
当你发送”你好“的时候,那边收到的是

"<xml>
<ToUserName><![CDATA[微信公众号]]></ToUserName>
<FromUserName><![CDATA[你]]></FromUserName>
<CreateTime>发送时间</CreateTime>
<MsgType><![CDATA[文本类型]]></MsgType>
<Content><![CDATA[ 你好 ]]></Content>
<FuncFlag>0</FuncFlag>
</xml>";

我们做接口其实分2步,一就是解开这个XML数据包,二就是把我们要回复的放进去重新打包。

1.解开XML数据

这一部分不需要你会背会理解,因为套着用就好,目前对你们来说理解有点困难,先会用就好

先写好 文本消息的模板,这个解XML数据包和打包回去要用到

$textTpl = "<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[%s]]></MsgType>
<Content><![CDATA[%s]]></Content>
<FuncFlag>0</FuncFlag>
</xml>";

定义好我们的TOKEN。

define("TOKEN","weixin");

token 很重要,可以乱写,但是要记住,这个要和微校设置的一样。

//获取微信发送数据 $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; //返回回复数据 //解析数据 $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); //发送消息方ID 也就是微信用户 也称openid $fromUsername = $postObj->FromUserName; //接收消息方ID 就是你这个公众号 $toUsername = $postObj->ToUserName; //消息类型 $form_MsgType = $postObj->MsgType; //获取用户发送的文字内容 $form_Content = trim($postObj->Content);

举个和上面一样的例子
$fromUsername = 你
$tousername = 公众号
$form_msgtype = 文本
$form_content = 你好

然后我们就可以对这些数据进行处理了。
我们可以通过判断 $form_content 来知道用户对公众号发送了什么。


2.打包XML并发送回去。
这个其实很简单,但是要明白 sprintf函数的用法和占位符%s的用法。
eg:

$a = "大家好,我是%s";
$b = sprintf($a,'sb');

echo $b;

结果是

大家好,我是sb

等于 把’sb‘放进去$a 中 %s 的位置。
具体百度。

言归正传

$huifu = 你要说的话
然后用下面的代码就可以了。

$msgType = "text"; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType,$huifu); echo $resultStr; exit;
注意$fromusername 和 $tousername 的位置,
再拉上去看看刚才的 $textTpl 的$formusername 和 $tousername 位置
已经发生交换了。
自己思考一下为什么。


记住,做接口的放在一个PHP文件,做表单的放在另外一个 PHP 文件。然后把2个PHP文件一起放上 winscp 上面。然后右键->文件名->生成URL ->复制。再修改一下链接,把IP地址改成我的域名。
然后把这个网站放在接口文件 里。
$huifu = 网站


最后一步

把接口放上微校
看之前PPT吧断网了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,319评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,801评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,567评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,156评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,019评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,090评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,500评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,192评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,474评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,566评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,338评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,212评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,572评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,890评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,169评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,478评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,661评论 2 335

推荐阅读更多精彩内容

  • 1、开启公众号开发者模式 公众平台的技术文档目的为了简明扼要的交代接口的使用,语句难免苦涩难懂,甚至对于不同的读者...
    good7758阅读 1,491评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,494评论 18 139
  • 结合之前的Python模拟登录爬取Mysise学生管理系统的信息,在新浪SAE服务器上面做了一个获取学生管理系统的...
    秋雨仲夏阅读 1,871评论 0 1
  • - Why and what thinking - fixed and increasing thinking -...
    longliveping阅读 337评论 0 0
  • 一说到责任,最先想起的就是男朋友要对女朋友负责任,已婚的要对家庭负责任,老师要对学生负责任,商家要对消费者负责任。...
    晨和钮阅读 636评论 2 3