Lunya's Note

学习成长笔记
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

在上一篇博客中介绍怎样在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开发的道路上,大家一起交流更好的建议和想法