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 ...
随机推荐
- Qt双缓冲机制:实现一个简单的绘图工具(纯代码实现)
http://blog.csdn.net/rl529014/article/details/51658350
- Intellij IDEA + Android SDK + Genymotion Emulator打造最佳Android开发
原文:Intellij IDEA + Android SDK + Genymotion Emulator打造最佳Android开发 Intellij IDEA + Android SDK + Geny ...
- css包含块containing block
<css权威指南>P167: The Containing Block Every element is laid out with respect to its containing b ...
- HDU 4417 Super Mario
题解:函数式线段树求区间小于等于k的数有几个,离线做法,首先将所有询问和序列一起离散,然后用函数式线段树处理. #include <map> #include <cstdio> ...
- visual studio2013负载测试简单问题记录
问题1: 错误 xxxx/xx/xx xx:xx:xx 未能对测试运行“xxxxxxxxxxx”进行排队: 活动的测试设置配置为使用 Visual Studio Online 运行测试. 使用团队资源 ...
- Repeater 无刷新分页
原文:http://blog.csdn.net/Sandy945/archive/2009/05/22/4208998.aspx 本文讲述的是如何利用 XMLHttpRequest 来对 Repeat ...
- hough变换中,直线方程从XY空间转换到参数空间的转换过程
XY空间直线方程:y=kx+b 参数空间直线方程:xcosθ+ysinθ=ρ 直线方程从XY空间转换到参数空间过程的转换过程: k=tan(π-α)=tan(-α)=-tanα=-cotθ=-cosθ ...
- [LeetCode]题解(python):109-Convert Sorted List to Binary Search Tree
题目来源: https://leetcode.com/problems/convert-sorted-list-to-binary-search-tree/ 题意分析: 给定一个排好序的链表,将这个链 ...
- https tomcat 证书搭建
首先生成证书说明 keytool -genkey -alias castest -keyalg RSA -keystore c:/keys/caskey 先让输入密码,密码必须记住,下面会用到 其中“ ...
- VS2008一个小bug
vc工程的项目属性里MFC的使用有三项:默认“使用标准windows库”,修改为“在静态库中使用MFC”,然后再改回默认,项目变化如下: 今天的工程在改过后编译不能通过,手工把0改回2(1改回3)后O ...