在上一篇博客中介绍怎样在SAE平台搭建一个html5的电子请帖网站,收到很多反馈,也有很多人送上婚礼的祝福,十分感谢!

web开发从零学起,记录自己学习过程,各种前端大神们可以绕道不要围观啦

大婚将至,各种事情很多,今天终于驱动自己把上次遗留的内容补充完

奉上在电子请帖中添加留言板的功能简介,采用php脚本语言和mysql数据库,同样在新浪的SAE平台下,可以节省很多部署和维护工作

在SAE的个人项目管理界面,从MySql页面点击"管理MySql",进入SAE提供的mysql数据库管理界面,

有一点数据库知识的话,在可视化界面进行表的添加,字段规划,同样是在线维护,十分简单和方便

新建一张“tb_Message”的表,用来保存留言记录,字段包含姓名,内容,留言时间,是否允许查看等

然后在“代码管理”中使用SAE Editor在电子请帖的主页中,添加留言板的界面

<article class="container box style3">
<header>
<h1>祝福</h1>
<p>您可以通过下面给我们留言</p>
</header>
<form method="post" action="add.php">
<div class="row half">
<div class="6u"><input type="text" class="text" name="name" placeholder="Name" /></div>
</div>
<div class="row half">
<div class="12u">
<textarea name="message" placeholder="Message"></textarea>
</div>
</div>
<div class="row">
<div class="12u">
<ul class="actions">
<li><input name="MySubmit" type="submit" value="捎句话" /></li>
</ul>
</div>
</div>
</form>
</article>

这里通过一个表单<form>来提交留言文字,服务端add.php脚本用来处理带留言的“请求”

add.php的源代码如下,其中一部分为获取请求的客户端IP地址,用来记录留言者IP

<?php
include("conn.php"); if($_POST['MySubmit']){ if (getenv("HTTP_CLIENT_IP"))
$ip = getenv("HTTP_CLIENT_IP");
else if(getenv("HTTP_X_FORWARDED_FOR"))
$ip = getenv("HTTP_X_FORWARDED_FOR");
else if(getenv("REMOTE_ADDR"))
$ip = getenv("REMOTE_ADDR");
else $ip = "Unknow"; $sql="insert into tb_Message (No,Name,MessageTime,Content,MessageIP,Memo,IsShow) ".
"values ('','$_POST[name]',now(),'$_POST[message]','$ip','','1')";
mysql_query($sql);
echo "留言成功!";
}else{
echo "error!";
}
?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

数据库连接coon.php代码如下,连接字符串为SAE下MySql数据库使用的固定写法,app_lovewithlmj为数据库名

<?php
$conn= @ mysql_connect(SAE_MYSQL_HOST_M.':'.SAE_MYSQL_PORT,SAE_MYSQL_USER,SAE_MYSQL_PASS) or die ("连接出错");
mysql_select_db("app_lovewithlmj",$conn);
mysql_query("set names 'utf-8'"); ?>

记得指定utf-8编码,否则中文会出现乱码情况

这样在电子请帖页面留言后通过按钮发送请求,得到“留言成功”的回复即留言成功

如果要在电子请帖中添加查看留言功能,

<article class="container box style3">
<header>
<h1>您还可以</h1>
</header>
<form method="post" action="list.php">
<div class="row">
<div class="12u">
<ul class="actions">
<li><input type="submit" value="看看大家说什么" /></li>
</ul>
</div>
</div>
</form>
</article>

发送查看留言请求后,服务端“list.php”来处理此请求,由于时间原因,对于展示留言的页面没有用html语言进行装饰,直接显示的php查询数据库后的表单

<?php
include ("conn.php");
?>
<table width=500 border="0" align="center" cellpadding="5" cellspacing="1" bgcolor="#cccccc">
<?php
$sql = "SELECT * FROM tb_Message where IsShow='1' ORDER BY MessageTime DESC";
$query=mysql_query($sql); while($row=mysql_fetch_array($query)){ ?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<tr bgcolor="#eeeeee">
<td>留言时间: <?php echo $row[MessageTime];?></td> </tr>
<tr bgcolor="#eeeeee">
<td> <?php echo $row[Name];?> : <?php echo $row[Content];?> </td> </tr>
<?php
}
?>
</table>

这样一个带留言板功能的html5电子相册就基本完成了,抛砖引玉,在初学web开发的道路上,大家一起交流更好的建议和想法

Web开发从零单排之二:在自制电子请帖中添加留言板功能,SAE+PHP+MySql的更多相关文章

  1. Web开发从零单排之一:在新浪云平台SAE上开发一个html5电子喜帖

    需求描述: 本人大婚将至,女朋友说“现在都流行在微信上发电子请帖了,你不是技(cheng)术(xu)宅(yuan)嘛,不会连这个都搞不定吧” 本人嘴上说这等小事何足挂齿,但心里还是七上八下的,虽然自认 ...

  2. Unity3D游戏开发从零单排(四) - 制作一个iOS游戏

    提要 此篇是一个国外教程的翻译,尽管有点老,可是适合新手入门. 自己去写代码.debug,布置场景,能够收获到非常多.游戏邦上已经有前面两部分的译文,这里翻译的是游戏的最后一个部分. 欢迎回来 在第一 ...

  3. java web开发环境配置系列(二)安装tomcat

    在今天,读书有时是件“麻烦”事.它需要你付出时间,付出精力,还要付出一份心境.--仅以<java web开发环境配置系列>来祭奠那逝去的…… 1.下载tomcat压缩包,进入官网http: ...

  4. 第134天:移动web开发的一些总结(二)

    1.响应式布局 开发一个页面,在所有的设备上都能够完美展示. 媒体查询:@media screen and (max-width:100px) { } 媒体类型:screen(屏幕) print(打印 ...

  5. Linux从零单排(二):setuptools、pip、anaconda2的环境配置

    为了更方便的使用Python的类库,需要进行相应的配置 (一)setuptools的配置 1.setuptools的下载 命令行输入wget https://pypi.python.org/packa ...

  6. Unity3D游戏开发从零单排(五) - 导入CS模型到Unity3D

    游戏动画基础 Animation组件 Animation组件是对于老的动画系统来说的. 老的动画形同相应的动画就是clip,每一个运动都是一段单独的动画,使用Play()或CrossFade(),直接 ...

  7. Unity3D游戏开发从零单排(三) - 极速创建狂拽酷炫的游戏地形

    提要 在Unity工作流程内,地形是一个必不可少的重要元素.不论是游戏或虚拟现实都会使用到各种类型的地形效果,在这个教学中我们须要了解到地形的制作基本概念与,当中对于Unity的地形操作部分须要大量的 ...

  8. Unity3D游戏开发从零单排(六) - 人物运动及攻击连击

    提要 今天要实现的是一个简单人物控制器. 包括用w,a,s,d来控制人物上下左右跑动,鼠标左击发出连招,都是基于老的lagacy的动画.尽管unity3d自带有charactorcontroller, ...

  9. Django web框架开发基础-django实现留言板功能

    1.创建项目 cmd  django-admin startpoject cloudms 2.创建APP cmd django-admin startapp msgapp 3.修改settings,T ...

随机推荐

  1. VB.NET 小程序 2

    Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click ...

  2. 一分钟加入google站内搜索代码

    一分钟加入google站内搜索代码| 一分钟加入google站内搜索代码|只有7行最精简.网上有很多 google 站内搜索代码,但是出于某些目的,很多都加入了多余的代码,从seo的角度来讲,是很不优 ...

  3. 详细js中(function(window,document,undefined))的作用

    在jquery插件中我们经常看到以下这段代码 对于很多初学者来说很难明白这表示什么,下边我将为大家介绍其相应的作用. 1.代码最前面的分号,可以防止多个文件压缩合并以为其他文件最后一行语句没加分号,而 ...

  4. asp.net 之 GC (垃圾回收机制)

    今天抽时间好好整理了下GC相关知识,看了CSDN和博客园的几篇文章,有了一定的简单了解,决定根据个人理解整合一份随笔写下来,望诸位指教. 一:基础问题 1.首先需要知道了解什么是GC? GC如其名,就 ...

  5. iOS 简单block的使用

    1.第一种方法 声明block: - (void)test:(int) param_1 completion:(void(^)(int)) completion; 实现block: -(void)te ...

  6. Part 86 to 88 Talking about Multithreading in C#

    Part 86   Multithreading in C# What is a Process: Process is what the operating system uses to facil ...

  7. JAVA之网页截屏

    先吐槽一下下: 表示接近两个月没有敲代码了,现在看一下代码都感觉有点生了.三天打鱼两天晒网是不行的,再说我本来就有“健忘症”,真的是木有办法啊 ̄へ ̄.我一直信奉一句话:“勤能补拙”,它也是我学习路上的 ...

  8. 英特尔® 实感™ SDK R4 (v.6.0) 的全新特性

    原文地址 第四版 (R4) 黄金版 SDK (版本 6.0)现已面向英特尔® 实感TM F200 摄像头推出,并面向英特尔® 实感TM 后置 R200 摄像头发布黄金版本. 请注意,F200 OR R ...

  9. hdu 2176 取(m)石子游戏

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2176 题意分析:给出M堆石子,两人交替取子,给出先手能否胜利. 不能输出No, 能则输出Yes并给出第 ...

  10. POJ 1459(EK)

    这题是学着小媛学姐写的.. #include<cstdio> #include<cstring> #include<iostream> #include<qu ...