切换风格

Wizard Sky California Sunset glow Black Cloud Beige Dragon Lavender NewYear City Snow Flowers London
收藏本站XSS平台字符串转换jsfuck
2012-12-26(php小程序留言板)[复制链接]
发表于 2012-12-26 00:36:27 | 显示全部楼层 |!read_mode!
距离上次发笔记日期也快一周了
一周就会养成一个习惯
如果再不跟进学习  就会养成了一个不学习的习惯了
这样太不好
所以。我得改改我那强迫症 弄不明白先放那里再说  
这里就准备学其他教程   
关于留言板的
php提供了两种包含外部文件的方法:include()和require()
include()和require()作用都是相同的,但也有不同之处
require() :如果文件不存在,会报出一个fatal error.脚本停止执行
include() : 如果文件不存在,会给出一个 warning,但脚本会继续执行

其他好像还有别的差别  但我没太能理解它   求通俗易懂详解

我就照猫画虎地写下留言板前面的教程
首先,先在建立一数据库 建立一个表单 用来记录 留言板的相关内容

CREATE TABLE `message` (
  `id` tinyint(1) NOT NULL auto_increment,
  `user` varchar(25) NOT NULL,
  `title` varchar(50) NOT NULL,
  `content` tinytext NOT NULL,
  `lastdate` date NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk AUTO_INCREMENT=1 ;
下面是mysql数据库连接文件
  1. <?php
  2. $con=mysql_connect("localhost","root","") or die('连接失败'.mysql_error());
  3. mysql_select_db('test',$con);
  4. mysql_query("set names 'GBK'"); //使用GBK中文编码;
  5. ?>
复制代码
下面是增加内容文件
不过下面那段代码有错误
我也不知道错误在哪   就是提交不成功  数据库里没记录啊   求指点
  1. <?php
  2. include 'mysql.php';//包含mysql数据库的连接文件 那么在本页面内就不用重复去定义连接了
  3. //加一个判断一句  判断用户是否提交了 留言  是的话就执行下面 操作数据库语句 把提交内容 储存进数据库
  4. //id是自增的  所以这里为空
  5. if ($_POST['sumbit'])
  6. {
  7. $sql1="INSERT INTO 'message' (id,user,title,content,lastdata) values
  8.                                     ('','_post[user]','_post[title]','_post[content]',now())";
  9. mysql_query($sql1);
  10. echo "发表成功";
  11.          
  12.          
  13. }
  14. ?>

  15. <html>

  16.   <body background="http://t1.baidu.com/it/u=2374558947,3732621043&fm=23&gp=0.jpg">
  17. <form action="add.php" method="post">
  18. <center>
  19. <table border="1">

  20. <tr>
  21. <td>用户</td>
  22. <td><input type="text" size="10" name="user"></td>
  23. </tr>
  24. <tr>
  25. <td>标题:</td>
  26. <td><input type="text" name="title"></td>
  27. </tr>
  28. <tr>
  29. <td>内容:</td>
  30. <td><textarea name="content"></textarea></td>
  31. </tr>
  32. <td><input type="submit" name="submit" value="发表留言"></td>
  33. <tr>
  34. </tr>
  35. </center>



  36. </table>
  37. </form>
  38. </body>



  39. </html>
复制代码
太晚了 今天就搞到这    明天继续


发表于 2012-12-26 16:15:17 | 显示全部楼层
include()和require()作用都是相同的,但也有不同之处,这个你说的对,其他没啥区别,但是别忘了带括号

代码修改如下,请逐行比对差别,改了N处
  1. <?php
  2. include ('./mysql.php');
  3. if ($_POST[submit]){
  4. $time = time();
  5. //表名不是单引号括起来是tab键上边的那个
  6. $sql1="INSERT INTO `message` (user,title,content,lastdate)
  7.                                                                 values
  8.                              ('$_POST[user]','$_POST[title]','$_POST[content]','$time')";
  9.                                                          echo $sql1;
  10.         $insert_result = mysql_query($sql1,$con); //http://www.jb51.net/w3school/php/func_mysql_query.asp.htm
  11.         print_r($insert_result);
  12.         echo "<hr>";
  13.         if($insert_result){
  14.                 echo "发表成功";
  15.         }      
  16. }
  17. ?>
  18. <html>
  19. <body background="http://t1.baidu.com/it/u=2374558947,3732621043&fm=23&gp=0.jpg">
  20.         <form action="./index.php" method="post">
  21.                 <center>
  22.                         <table border="1">
  23.                                 <tr>
  24.                                 <td>用户</td>
  25.                                 <td><input type="text" size="10" name="user"></td>
  26.                                 </tr>
  27.                                 <tr>
  28.                                 <td>标题:</td>
  29.                                 <td><input type="text" name="title"></td>
  30.                                 </tr>
  31.                                 <tr>
  32.                                 <td>内容:</td>
  33.                                 <td><textarea name="content"></textarea></td>
  34.                                 </tr>
  35.                                 <td><input type="submit" name="submit" value="发表留言"></td>
  36.                                 <tr>
  37.                                 </tr>
  38.                         </table>
  39.                 </center>
  40.         </form>
  41. </body>



  42. </html>
复制代码


另外 时间字段调整为存时间戳的格式如下



keep moving


附件: 你需要登录才可以下载或查看附件。没有帐号?加入Team
操千曲而后晓声,观千剑而后识器。
发表于 2012-12-26 19:57:16 | 显示全部楼层
对于提交的数据 要处理一下  

1:用htmlspecialchars()函数 进行  处理 将用户提交的带有html 标签的东西  转换成 html  字符实体

2: 显示的时候  要输出用户输出的原格式  :

可以写一个函数


function htmtocode($content) {
        $content = str_replace("\n", "<br>", str_replace(" ", "&nbsp;", $content));
        return $content;
}

$content 为从数据库中检索出的留言内容
发表于 2012-12-26 20:11:25 | 显示全部楼层
蜀山野鬼 发表于 2012-12-26 19:57
对于提交的数据 要处理一下  

1:用htmlspecialchars()函数 进行  处理 将用户提交的带有html 标签的东西 ...

嗯 不错    过滤整数的intval()也不错  discuz的哦:funk:
发表于 2012-12-26 21:44:49 | 显示全部楼层
抚菊深思 发表于 2012-12-26 20:11
嗯 不错    过滤整数的intval()也不错  discuz的哦

要洗  嘿嘿
发表于 2013-1-5 23:25:37 | 显示全部楼层
抚菊深思 发表于 2012-12-26 16:15
include()和require()作用都是相同的,但也有不同之处,这个你说的对,其他没啥区别,但是别忘了带括号

代 ...

记录时间出错。
$time
好像没给 time设置它的值吧。

代码区

GMT+8, 2019-12-13 18:49

Powered by Discuz! X2

© 2001-2018 Comsenz Inc.

回顶部