PHP自练项目之发送短信内容
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>多用户留言系统--写短信</title>
<?php
require ROOT_PATH.'includes/title.inc.php';
?>
<script type="text/javascript" src="js/code.js"></script>
<script type="text/javascript" src="js/message.js"></script>
</head>
<body> <div id="message">
<h3>写短信</h3>
<form method="post" action="?action=write">
<input type="hidden" name="touser" value="<?php echo $_html['touser']?>" />
<dl>
<dd><input type="text" value="TO:<?php echo $_html['touser']?>" class="text" /></dd>
<dd><textarea name="content"></textarea></dd>
<dd>验 证 码:<input type="text" name="code" class="text yzm" />
<img src="code.php" id="code" />
<input type="submit" class="submit" value="发送短信" /></dd>
</dl>
</form>
</div>
</body>
</html>
模版页面中的内容
<?php
session_start();
//定义个常量,用来授权调用includes里面的文件
define('IN_TG',true);
//定义个常量,用来指定本页的内容
define('SCRIPT','message');
//引入公共文件
require dirname(__FILE__).'/includes/common.inc.php';
//判断是否登录了
if (!isset($_COOKIE['username'])) {
_alert_close('请先登录!');
}
//写短信
if($_GET['action']=='write'){
//为了防止恶意注册,跨站攻击
_check_code($_POST['code'],$_SESSION['code']);
if(!!$_rows = _fetch_array("SELECT tg_uniqid FROM tg_user WHERE tg_username='{$_COOKIE['username']}' LIMIT 1")){
//唯一标示符
_uniqid($_rows['tg_uniqid'], $_COOKIE['uniqid']);
include ROOT_PATH.'includes/register.func.php';
//接收
$_clean=array();
$_clean['touser']=$_POST['touser'];
$_clean['fromuser']=$_COOKIE['username'];
$_clean['content']=_check_content($_POST['content']);
//print_r($_clean);
$_clean=_mysql_string($_clean);
//写入数据库
_query("INSERT INTO tg_message(
tg_touser,
tg_fromuser,
tg_content,
tg_date
)
VALUES
(
'{$_clean['touser']}',
'{$_clean['fromuser']}',
'{$_clean['content']}',
NOW()
)
)");
//新增成功
if(_affected_rows()==1){
_close();
_session_destroy();
_alert_back("短信发送成功");
}else{
_close();
_session_destroy();
_alert_back("短信发送失败");
}
}else{
_alert_close("非法登录");
} }
//获取数据
if (isset($_GET['id'])) {
if (!!$_rows = _fetch_array("SELECT tg_username FROM tg_user WHERE tg_id='{$_GET['id']}' LIMIT 1")) {
$_html = array();
$_html['touser'] = $_rows['tg_username'];
$_html = _html($_html);
} else {
_alert_close('不存在此用户!');
}
} else {
_alert_close('非法操作!');
}
?>
显示的相关操作(数据库自己去创建)
相关修改的参数,在全局环境变量中(globals)和register.fnc.php
function _mysql_string($_string) {
if(!GPC){
//return mysql_real_escape_string($_string);
if(is_array($_string)){
foreach ($_string as $_key=>$_value){
$_string[$_key]=_mysql_string($_value);
}
}else{
return mysql_real_escape_string($_string);
}
}
return $_string;
}
function _check_content($_string){
if(mb_strlen($_string,'Utf-8')<10||mb_strlen($_string,'Utf-8')>200){
_alert_back("短信内容不得小于10位,或大于200个数");
}
return $_string;
}
相关的JS
window.onload=function(){
code();
var fm=document.getElementsByTagName('form')[0];
fm.onsubmit=function(){
//验证码验证
if(fm.code.value.length!=4){
alert("验证码必须是4位");
fm.code.focus();
return false;
}
if(fm.content.value.length<10||fm.content.value.length>200){
alert("短信内容不得小于10,大于200!");
fm.content.focus();
return false;
}
};
};
PHP自练项目之发送短信内容的更多相关文章
- java + maven 实现发送短信验证码功能
如何使用java + maven的项目环境发送短信验证码,本文使用的是榛子云短信 的接口. 1. 安装sdk 下载地址: http://smsow.zhenzikj.com/doc/sdk.html ...
- quartz-job实现实时或定时发送短信任务
存放调度器(Job 和 Trigger)信息的xml配置文件: 这是某个指定的要实现的定时任务: <!-- 每天给项目经理发送短信避免短信服务挂了 定时每天08:30执行--> <j ...
- Linux系统中调用短信猫发送短信(笔记)
1, 拷贝底层串口依赖的librxtxSerial.so到JDK安装路径cp librxtxSerial.so /usr/java/{0}/jre/lib/{1} # {0}: JDK的基础目录,例如 ...
- 微信小程序如何发送短信验证码,无需搭建服务器
自从微信小程序提供云开发支持,开发者无需搭建后台服务器,使用微信提供的核心API就可以实现应用功能,此时就需要小程序能够自己发送短信,比如短信验证码,榛子云短信(http://smsow.zhenzi ...
- 移动MAS短信平台发送短信
MAS短信平台发送短信分为两种方式 参考文档下载 一.sdk调用 using mas.ecloud.sdkclient; using System; namespace 短信发送 { class Pr ...
- java发送短信验证码的功能实现
总结一下发送短信验证码的功能实现 (题外话:LZ是在腾讯云买的第三方(山东鼎信)短信服务平台的接口,1块钱20次的套餐来练手,哈哈,给他们打个广告,有需要的可以去购买哈,下面是购买链接短信服务平台购买 ...
- WPF MVVM下做发送短信小按钮
最近做一个项目,因为涉及到注册,因此需要发送短信,一般发送短信都有一个倒计时的小按钮,因此,就做了一个,在此做个记录. 一.发送消息 没有调用公司的短信平台,只是模拟前台生成一串数字,将此串数字输出一 ...
- android: 接收和发送短信
8.2 接收和发送短信 收发短信应该是每个手机最基本的功能之一了,即使是许多年前的老手机也都会具备这 项功能,而 Android 作为出色的智能手机操作系统,自然也少不了在这方面的支持.每个 A ...
- IOS程序开发中-跳转到 发送短信界面 实现发短信
前言:我发现我标题取的不好,谁帮我取个承接上下文的标题?评论一下,我改 项目需求:在程序开发中,我们需要在某个程序里面发送一些短信验证(不是接收短信验证,关于短信验证,传送门:http://www.c ...
随机推荐
- 编程实现Windows系统自动登录
编程实现Windows系统自动登录 原理: 通过注册表修改实现.Windows内置了自动登录的机制,在登录系统时,winlogon会检查注册表下有没有设置自动登录,如果设置了就上就会读取用户名和密码, ...
- CDN库地址搜集2
常用开源库 http://open.bootcss.com/
- Gson使用初探
参考地址: http://www.stormzhang.com/android/2014/05/22/android-gson/ 我的示例代码: public void doGsonTest(View ...
- CH Round #57 - Story of the OI Class 凯撒密码
很有意思的一道题目 考场上想的是HASH成一个整数,把末位asicc码值*1,依次乘*10,得到一个整数,然后利用等差性.唯一性快排Nlogn乱搞的 证明如下: 对于明文abcde 密文 bcdef ...
- cocos2d-x游戏开发(十六)帧动画
欢迎转载:http://blog.csdn.net/dawn_moon/article/details/11775745 本来想写一下帧动画的,搜了一下网上好像有一大把,就懒得写了,直接贴代码. // ...
- 一个关于Integer的秘密
先让大家看一段简单的代码: public static voidmain(String[] args) { Integera = 1; Integerb = 1; Integerc = 222; In ...
- Determine If Two Rectangles Overlap
判断相交的情况比较复杂,所以从判断不相交的角度考虑. ! (P1.y < P4.y || P1.x > P4.x || P2.y > P3.y || P2.x < P3.x)
- mysql中varchar最长多少
4.0版本以下,varchar(20),指的是20字节,如果存放UTF8汉字时,只能存6个(每个汉字3字节) 5.0版本以上,varchar(20),指的是20字符,无论存放的是数字.字母还是UTF8 ...
- Could not load type System.ServiceModel.Activation.HttpModule解决办法
等注册完成后网站就可以打开了. win2008下提示未能从程序集“System.ServiceModel, Version=3.0.0.0问题解决 在Windows Server 2008中的IIS服 ...
- Python学习笔记 (2) :字符串输出、操作、格式化和日期、时间格式化
一.字符串输出及运算 1.常用输出格式及方法 ')#单引号 ")#双引号 """)#三个引号 1234567890 1234567890 1234567890 ...