我在sae上搭建了一个个人简历的页面: 有兴趣的可以访问  http://671coder.sinaapp.com/

在做下面一个简单的留言板的时候,卡了我很久,虽然完全没用过php。。但是还是最后勉强写出来了。。。

主页面html是这样写的:

  1. <div class="row row-contact" id="contact_row" style="display: block">
  2. <article>
  3.  
  4. <h2 class="section-title">Contact Me</h2>
  5.  
  6. <p>This block can be hidden and only shown in <a class="zoom-html">a popup</a>.</p>
  7.  
  8. <div class="wrap-contact-form">
  9. <form id="contacts" class="contact-form" action="/db/submitform.php" method="post">
  10. <table class="info">
  11. <tr>
  12. <th><label for="contact_name">Name</label></th>
  13. <td><input type="text" class="input-text" name="contact_name" id="contact_name" value="" maxlength="10"></td>
  14. </tr>
  15. <!-- start spam protection
  16. <tr class="spam-protection">
  17. <th><label>E-mail</label></th>
  18. <td><input type="text" name="email" value=""></td>
  19. </tr>
  20. end -->
  21. <tr>
  22. <th><label for="contact_code">Security code</label></th>
  23. <td><input type="text" class="input-text" name="contact_code" id="contact_code" maxlength="4"></td>
  24. </tr>
  25.  
  26. <tr>
  27. <th><label for="contact_message">Your Message</label></th>
  28. <td><textarea id="contact_message" name="contact_message" maxlength="200"></textarea></td>
  29. </tr>
  30. <tr>
  31. <th></th>
  32. <td>
  33. <input type="submit" class="input-submit" name="contact_send" value="Send">
  34. <div class="on-success">
  35. Thank You. The message was sent.
  36. </div>
  37. <!--
  38. <div class="on-error">
  39. A technical error occured. Message was not delivered. Please contact me over e-mail.
  40. </div>
  41. -->
  42. </td>
  43. </tr>
  44. </table>
  45. </form>
  46. </div>
  47.  
  48. </article>
  49. </div>

验证码功能暂时还没有实现。。。

后台的php是这样写的:

  1. <?php
  2.  
  3. $name = $_POST['contact_name'];
  4. $message = $_POST['contact_message'];
  5.  
  6. if (strlen($name) == 0 || strlen($message) == 0) {
  7. ?><script>
  8. alert("Sorry, your name and your message can not be empty.");
  9. window.history.back(-1);
  10. </script><?
  11. }
  12.  
  13. $m_notchar="$#@!%&*?<>";
  14.  
  15. $mysql = new SaeMysql();
  16.  
  17. $judge = true;
  18. for ($i=0; $i<10; $i++) {
  19. if (strpos($name, substr($m_notchar, $i, 1)) || strpos($message, substr($m_notchar, $i, 1)))
  20. $judge = false;
  21. }
  22. if( $mysql->errno() != 0 ) {
  23. die( "Error:" . $mysql->errmsg() );
  24. } else if (!$judge) {
  25. ?><script>alert("Sorry, your message has illegal characters, please re-enter checked.");</script><?
  26. } else {
  27. $sql = "INSERT INTO Message (MName, MText) VALUES ('$name', '$message')";
  28. $mysql->runSql( $sql );
  29. ?><script>alert("Thank you for your message!");</script><?
  30. }
  31. $mysql->closeDb();
  32.  
  33. ?>
  34. <script>window.history.back(-1);</script>

然后最后显示留言板是这么写的:

  1. <html>
  2. <head>
  3. <meta charset="utf-8">
  4. <title>My messages</title>
  5.  
  6. <link href=”http://fonts.googleapis.com/css?family=Reenie+Beanie:regular” rel=”stylesheet” type=”text/css”>
  7. <style type="text/css">
  8. *{
  9. margin:0;
  10. padding:0;
  11. }
  12. body{
  13. font-family: arial,sans-serif;
  14. font-size:100%;
  15. margin:3em;
  16. background:#666;
  17. color:#fff;
  18. }
  19. h2,p{
  20. font-size:100%;
  21. font-weight:normal;
  22. }
  23. ul,li{
  24. list-style:none;
  25. }
  26. ul{
  27. overflow: hidden;
  28. padding:3em;
  29. }
  30. ul li a{
  31. text-decoration:none;
  32. color:#000;
  33. background:#ffc;
  34. display:block;
  35. height:10em;
  36. width:10em;
  37. padding:1em;
  38. -moz-box-shadow:5px 5px 7px rgba(33,33,33,1);
  39. -webkit-box-shadow: 5px 5px 7px rgba(33,33,33,.7);
  40. box-shadow: 5px 5px 7px rgba(33,33,33,.7);
  41. /*倾斜正方形*/
  42. -webit-transform: rotate(-6deg);
  43. -o-transform: rotate(-6deg);
  44. -moz-transform: rotate(-6deg);
  45. /*添加鼠标放上时的平滑过渡*/
  46. -moz-transition:-moz-transform .15s linear;
  47. -o-transition:-o-transform .15s linear;
  48. -webkit-transition:-webkit-transform .15s linear;
  49.  
  50. }
  51. ul li{
  52. margin:1em;
  53. float:left;
  54. }
  55. ul li h2{
  56. font-size:140%;
  57. font-weight:bold;
  58. padding-bottom:10px;
  59. }
  60. ul li p{
  61. font-family:"Reenie Beanie",arial,sans-serif,微软雅黑;
  62. font-size:110%;
  63. }
  64. ul li:nth-child(even) a{
  65. -o-transform: rotate(4deg);
  66. -webkit-transform: rotate(4deg);
  67. -moz-transform: rotate(4deg);
  68. position:relative;
  69. top:5px;
  70. background:#cfc ;
  71. }
  72.  
  73. ul li:nth-child(3n) a{
  74. -o-transform: rotate(-3deg);
  75. -webkit-transform: rotate(-3deg);
  76. -moz-transform: rotate(-3deg);
  77. position:relative;
  78. top:-5px;
  79. background:#ccf ;
  80. }
  81. ul li:nth-child(5n) a{
  82. -o-transform: rotate(5deg);
  83. -webkit-transform: rotate(5deg);
  84. -moz-transform: rotate(5deg);
  85. position:relative;
  86. top:-10px;
  87. }
  88. ul li a:hover, ul li a:focus{
  89. -moz-box-shadow:10px 10px 7px rgba(0,0,0,.7);
  90. -webkit-box-shadow:10px 10px 7px rgba(0,0,0,.7);
  91. -box-shadow:10px 10px 7px rgba(0,0,0,.7);
  92. -webkit-transform:scale(1.25);
  93. -moz-transform:scale(1.25);
  94. -o-transform:scale(1.25);
  95. position:relative;
  96. z-index:5;
  97. }
  98. </style>
  99. </head>
  100.  
  101. <body>
  102.  
  103. <?php
  104. $link=mysql_connect(SAE_MYSQL_HOST_M.':'.SAE_MYSQL_PORT,SAE_MYSQL_USER,SAE_MYSQL_PASS);
  105. if(!$link)die('could not connect'.mysql_error());
  106.  
  107. mysql_select_db(SAE_MYSQL_DB,$link);
  108.  
  109. $query = "select * from app_671coder.Message";
  110. $result = mysql_query( $query );
  111. if ($result) {
  112. ?>
  113. <ul>
  114. <?
  115. echo "<p><font size=7>671coder's message:</font></p><br><p></p>";
  116.  
  117. while ($r = mysql_fetch_array($result)) {
  118. $idx = $r["MId"];
  119. $user = $r["MName"];
  120. $text = $r["MText"];
  121. ?>
  122. <li>
  123. <a href ="#">
  124. <h2><?=$user?>:</h2>
  125. <p><?=$text?></p>
  126. </a>
  127. </li>
  128. <?php
  129. }
  130. ?>
  131. </ul>
  132. <?
  133. } else {
  134. echo "No data.";
  135. }
  136. //mysql_free_result($result);
  137. //$mysql->closeDb();
  138. ?>
  139. </body>
  140.  
  141. </html>

怎么样!感觉上很炫吧!

数据库的话想必大家都知道是怎么设计的了吧?!

一个很简单的php留言板。。。。搭建在sae上的。。。的更多相关文章

  1. 一个超级简单php的留言板

    第一步:配置好测试环境:(详细略了) 第二部:新建一个数据库,命名为guestbook(名字可以随便改),可以直接在phpmyadmin里面操作,在数据库里面新建一张表‘content’,表里面有4个 ...

  2. 写一个简单的HTML留言板

    最近有点懒,没码什么字,防止遗忘,从头开始码,写一个简单的HTML留言板.包含两个文件,book.html还有style.css,放在同一目录下. book.html 1 <!DOCTYPE h ...

  3. [.NET] 打造一个很简单的文档转换器 - 使用组件 Spire.Office

    打造一个很简单的文档转换器 - 使用组件 Spire.Office [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6024827.html 序 之前,& ...

  4. 问题:关于一个贴友的js留言板的实现

    需求:用js做一个简单的留言板效果 html部分: 1: <!DOCTYPE> 2: <html lang="zh-en"> 3: <head> ...

  5. java(itext) 一个很简单的PDF表格生成工具

    先上个效果图 因为做的项目涉及到数据预测,其中有大量打印业务来支撑实体店的运营,因为注重的是数据,要求简洁,清晰,所以写了个很简单也很实用的工具类. 如果需要编写样式或者插入背景,都可以查阅itex官 ...

  6. 一个很简单的jQuery插件实例教程(菜鸟级)

    很多公司的前端设计开发人员都是女孩子,而这些女孩子很多JavaScript技能都不是很好.而前端开发过程中,JavaScript技能又是必不可少的.所以,如果前端小MM正在为某个JavaScript效 ...

  7. 个人网页的留言板实现与sae的数据库账户配置

    个人网页(github)的留言板终于搞定了.总之后端的东西不会写,只有修改以前教程里面的文件.记录一下重要的过程. 使用了留言保存的send()函数,模版有注册登录功能.根据需求修改了一下,去掉了登录 ...

  8. 一个很简单的SqlServer生成常用C#语句工具的诞生

    前言: 这个文章只要是记录一下,这个工具的诞生过程.作用.其中的技术实在是太简单可以说没有什么技术~主要是锻炼一下写文章的能力! 正文: 在开发项目的时,常常会要维护或变更一些老项目,涉及到简单的几张 ...

  9. 『NYIST』第八届河南省ACM竞赛训练赛[正式赛一]-CodeForces 236A,虽然很水,但有一个很简单的函数用起来方便

    A. Boy or Girl time limit per test 1 second memory limit per test 256 megabytes input standard input ...

随机推荐

  1. Parrot源代码分析之海贼王

    我们的目的是找到speedup-example在使用Parrot加速的原因,假设仅仅说它源于Context Switch的降低,有点简单了,它究竟为什么降低了?除了Context Switch外是否还 ...

  2. JS+CSS打造三级折叠菜单,自动收缩其它级 js

    <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="C ...

  3. if语句之求一元二次方程

    思路:1.首先明白什么叫做一元二次方程,当a不等于0的时候,此方程是一元二次方程 2.根据公式derta=b*b-4*a*c来判断根的情况 ①derta>0时,方程有两个不相等的实根 ②dert ...

  4. HDU 4267 线段树 离散点区间更新, 自叶子节点至根单点查询

    题意: n个数字 下面n个数字表示数列 2个操作 1 [u, v]  k  add [u,v ]区间 (u点要计算)每隔k个位置,该数字+add 2 pos 询问 pos下标的值(下标从1开始) 思路 ...

  5. CentOS 安装easy_install、pip的方法

    CentOS 安装easy_install的方法: wget -q http://peak.telecommunity.com/dist/ez_setup.py python ez_setup.py ...

  6. 安装帝国CMS遇到“修改php.ini,将:short_open_tag 设为 On”的解决方法+“建立目录不成功!请检查目录权限”问题

    想用安装个帝国CMS来做个网站,于是下载了程序,上传到服务器上,但是在输入安装路径的时候却给出了如下图示: 您的PHP配置文件php.ini配置有问题,请按下面操作即可解决: 1.修改php.ini, ...

  7. IBM Python 技术专题

    Python 技术专题 Python 是由 Guido van Rossum 开发的,可免费获得的.是一种非常高级的解释型语言.其语法简单易懂,而且面向对象的语义功能强大又灵活,Python 可以广泛 ...

  8. Debian 7 下载

                                                                    Debian 7 DOWNLOAD http://cdimage.deb ...

  9. USG 2210

  10. 过渡到SSAS之一:简单模型认识

    本文主要是转载的,但有些地方,原作者没有说的够详细,我加以补充发到这里. --------------------------------------------------------------- ...