php blog网站开发实例教程(1/8)

 更新时间:2016年11月25日 17:34  点击:1627
本章介绍一个基于文本的简易BLOG系统,当然我们可以利用这款blog系统的开发,很好的理解php网站开发原理了,其实网站开发容易于博客开哦,下面来看功能模块。

  post.php  读文件并显示日志内容的php程序。
  page.html  显示日志文章的html文档。
  style.css教程  页面显示效果的css代码。
  add.php  添加blog文章的php程序。
  config/auth.php 用户名和密码配置文件。
  index.php  blog首页程序。
  edit.php  编辑blog文章的程序。
  delete.php  删除blog文章的程序。
  archives.php 归档显示blog文章的程序。
  logout.php  退出登录的程序。

 */
  //post.php  读文件并显示日志内容的php程序。
 

 代码如下 复制代码

<?php
if(!isset($_get['entry']))
{
    echo '请求参数错误';
    exit;
}

$post_data = array();

$path = substr($_get['entry'],0,6);             //日志存储目录
$entry = substr($_get['entry'],7,9);            //日志文件名称
$file_name = 'contents/'.$path.'/'.$entry.'.txt';

if(file_exists($file_name))
{
    $fp = @fopen($file_name, 'r');
    if($fp)
    {
        flock($fp, lock_sh);
        $result = fread($fp, filesize($file_name)*100);
    }
    flock($fp, lock_un);
    fclose($fp);
}

$content_array = explode('|', $result);

$post_data['subject'] = $content_array[0];
$post_data['date'] = date('y-m-d h:i:s',$content_array[1]);
$post_data['content'] = $content_array[2];
//print_r($post_data);
?>

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html>
<head>
<title>基于文本的简易blog</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>

<div id="container">
 <div id="header">
  <h1>我的blog</h1>
 </div>
 <div id="title">
  ----i have dream....
 </div>
 <div id="left">
  <div id="blog_entry">
   <div id="blog_title"><? echo $post_data['subject'];?></div>
   <div id="blog_body">
    <div id="blog_date"><? echo $post_data['date'];?></div>
    <? echo $post_data['content'];?>
   </div><!--blog_body-->
  </div><!--blog_entry-->
 </div>
 
 <div id="right">
        <div id="sidebar">
            <div id="menu_title">关于我</div>
            <div id="menu_body">www.111cn.net</div>
        </div>
    </div>
 
 <div id="footer">
  copyright 2007
 </div>
</div>

<body>
</html>

  //page.html  显示日志文章的html文档。
 

 代码如下 复制代码

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html>
<head>
<title>blog</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>

<div id="container">
    <div id="header">
        <h1>我的blog</h1>
    </div>
    <div id="title">
        ----i have a dream....
    </div>
    <div id="left">
        <div id="blog_entry">
            <div id="blog_title">日志文章标题</div>
            <div id="blog_body">
                <div id="blog_date">2007-12-01</div>
                日志文章内容
            </div>
        </div>
    </div>
   
    <div id="right">
        <div id="sidebar">
            <div id="menu_title">关于我</div>
            <div id="menu_body">www.111cn.net</div>
        </div>
    </div>
   
    <div id="footer">
        copyright 2007
    </div>
</div>

<body>
</html>
 

 

本章介绍如何使用PHP操作MySQL数据库,包括连接数据库 ,关闭数据库连接 示例 执行SQL语句 获取查询结果集,获取SQL语句执行错误的信息,获取结果集中的所有记录,分页显示数据,数据插入数据库,提交用户信息的HTML页面,显示数据信息的PHP程序,添加删除链接的PHP程序,删除数据库数据可以说是一部完整的php mysql入门基础教程哦。

  1.php  连接数据库的示例。
  2.php  关闭数据库连接。
  3.php  执行sql语句。
  4.php  获取sql语句执行错误的信息。
  5.php  获取查询结果集。
  6.php  获取结果集中的所有记录。
  7.php  用php程序显示表中数据。
  8.php  分页显示数据。
  9.html  提交用户信息的html页面。
  10.php  数据插入数据库。
  11.php  显示数据信息的php程序。
  12.php  添加删除链接的php程序。
  13.php  删除数据库数据。

*/
 // 1.php  连接数据库的示例。

 代码如下 复制代码

$host = 'localhost';
$user_name = 'root';
$password = 'admin';

$conn = mysql_connect($host,$user_name,$password);
if(!$conn)
{
    die('数据库连接失败:<br/>'.mysql_error());
}
echo '数据库连接成功!';

 

// 2.php  关闭数据库连接。

 代码如下 复制代码

$host = 'localhost';
$user_name = 'root';
$password = 'admin';

$conn = mysql_connect($host,$user_name,$password);
if(!$conn)
{
    die('数据库连接失败:'.mysql_error());
}
echo '数据库连接成功!';

if(mysql_close($conn))
{
    echo '<br/>........<br/>';
    echo '到数据库的连接已经成功关闭';
}

 

这里讲的文件操作主要是讲php获取文件的主要信息,判断文件的性质,获取文件名和目录名等哦。下面看三个实例

 代码如下 复制代码

//获取文件的主要信息。
$file = "data.txt";

if(is_dir($file))
{
    echo "文件 $file 是个目录";
    echo "<br/>";
}
else
{
    echo "文件 $file 不是目录";
    echo "<br/>";
}

if(is_file($file))
{
    echo "文件 $file 是一个普通文件";
    echo "<br/>";
}

if(is_readable($file))
{
    echo "文件 $file 是可读的";
    echo "<br/>";
}
else
{
    echo "文件 $file 是不可读的";
    echo "<br/>";
}

if(is_writeable($file))
{
   echo "文件 $file 是可写的";
   echo "<br/>";
}
else
{
   echo "文件 $file 是不可写的";
   echo "<br/>";
}
//判断文件的性质。
$path = "/home/prog/php/sayhello.php";

$file_name = basename($path);
$dir_name = dirname($path);

echo "完整路径:".$path;
echo "<hr>";
echo "<br/>";

echo "其中目录名为:".$dir_name;
echo "<br/>";
echo "其中文件名为:".$file_name;
echo "<br/>";
//获取文件名和目录名。
$file = "data.txt";
$dir = "info/newdata";

if(file_exists($file))
{
    echo "当前目录中,文件".$file."存在";
    echo "<br/>";
}
else
{
     echo "当前目录中,文件".$file."不存在";
     echo "<br/>";
}
echo "<br/>";
echo "<hr>";
echo "<br/>";

if(file_exists($dir))
{
    echo "当前目录下,目录".$dir."存在";
    echo "<br/>";
}
else
{
     echo "当前目录下,目录".$dir."不存在";
     echo "<br/>";
}

下面提供了三款日期验证正则表达式哦,你可以根据自己的需选择下面三种中期其中一种日期验证方法

 

 代码如下 复制代码

$arr_date = array(
'2004-06-01',
'2005-0x-10',
'12-12-12',
'2000-12-25 00:10:20',
'2007-12-05'
);

for ($i=0; $i<5; ++$i)
{
 $date = $arr_date[$i];
 if(ereg("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $date, $regs))
 {
     echo "日期字符串$date 符合'yyyy-mm-dd'格式:";
     echo "$regs[1].$regs[2].$regs[3]<br/><br/>";
 }
 else
 {
     echo "<b>日期字符串$date 不符合'yyyy-mm-dd'格式的日期字符串</b><br/><br/>";
 }
}

//匹配yyyy-mm-dd

 代码如下 复制代码

(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29)

 

 

//2:匹配dd/mm/yyyy 或匹配d/m/yyyy

 

 代码如下 复制代码
'/^(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|'
                                .'[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})/((([13578]|1[2])|(0[13578]|1[02])'
                                .'/((0[1-9]|[12][0-9]|3[01])|([1-9]|[12][0-9]|3[1])))|(((0[469]|11)|([469]|11))'
                                .'/((0[1-9]|[12][0-9]|30)|([1-9]|[12][0-9]|30)))|'
                                .'((02|2)/((0[1-9]|[1][0-9]|2[0-8])|([1-9]|[1][0-9]|2[0-8]))'
                                .')))|((([0-9]{2})((0[48]|[2468][048]|[13579][26])|([48]|[2468][048]|[13579][26]))|'
                                .'((((0[48])|([48]))|[2468][048]|[3579][26])00))/(02|2)/29)$/';

 

php教程 ajax 实例与ajax 教程
   1创建xmlhttprequest对象的网页特效程序。
  2   发出异步请求的javascript程序。
  3   处理服务器响应的javascript程序。

*/

 //1创建xmlhttprequest对象的javascript程序。

 代码如下 复制代码

 function getxmlhttprequest()
{
    var xmlhttp=null;
    try
    {
        xmlhttp = new xmlhttprequest();                      //对于firefox等浏览器
    }
    catch(e)
    {
        try
        {
            xmlhttp = new activexobject("msxml2.xmlhttp");   //对于ie浏览器
        }
        catch (e)
        {
            try
            {
                xmlhttp = new activexobject("microsoft.xmlhttp");
            }
            catch(e)
            {
                xmlhttp = false;
            }           
        }
    }

return xmlhttp;
}

 


  //2   发出异步请求的javascript程序。
  
 

 代码如下 复制代码

function sendrequest()
{
    //获取页面表单的文本框name的值
    var user_name = document.getelementbyid("name").value;

    if((user_name == null) || (user_name == ""))
        return;
   
    xmlhttp = getxmlhttprequest();
    if(xmlhttp == null)
    {
        alert("浏览器不支持xmlhttprequest!");
        return;
    }

    var url = "getusername.php";               //构建请求的url地址
    url = url + "?name=" + user_name;
   
    xmlhttp.open("get", url, true);            //使用get方法打开一个到url的连接,为发出请求做准备
   
    //设置一个函数,当服务器处理完请求后调用,该函数名为updatepage
    xmlhttp.onreadystatechange = updatepage;
    xmlhttp.send(null);                        //发送请求
}
 

// 3   处理服务器响应的javascript程序。
 

 代码如下 复制代码
function updatepage()
{
    if(xmlhttp.readystate == 4)
    {
        var response = xmlhttp.responsetext;
        document.getelementbyid("userinfo").value = response;
    }
}
[!--infotagslink--]

相关文章

  • Painter绘制红衣喝酒男水粉画效果教程

    今天小编在这里就来给Painter的这一款软件的使用者们来说一说绘制红衣喝酒男水粉画效果的教程,各位想知道具体绘制步骤的使用者,那么下面就快来跟着小编一起看一看教程...2016-09-14
  • iPhone6怎么激活?两种苹果iPhone6激活教程图文详解

    iPhone6新机需要激活后才可以正常使用,那么对于小白用户来说,iPhone6如何激活使用呢?针对此问题,本文就为大家分别介绍Wifi无线网络激活以及iPhone6连接电脑激活这两种有效的方法,希望本文能够帮助到大家...2022-09-14
  • Photoshop制作雨中野外孤独行走的一头牛海报教程

    今天小编在这里就来给各位photoshop的这一款软件的使用者们来说下制作雨中野外孤独行走的一头牛海报的教程,各位想知道具体制作方法的使用者们,大家就快来看一看小编给...2016-09-14
  • php漏洞之跨网站请求伪造与防止伪造方法

    今天我来给大家介绍在php中跨网站请求伪造的实现方法与最后我们些常用的防止伪造的具体操作方法,有需要了解的朋友可进入参考。 伪造跨站请求介绍 伪造跨站请求...2016-11-25
  • Painter绘制帅气卡通魔法王子漫画教程

    今天小编在这里就来给Painter的这一款软件的使用者们来说一下绘制帅气卡通魔法王子漫画的具体教程,各位想知道绘制步骤的使用者,那么下面就快来跟着小编一起看一看教程...2016-09-14
  • Illustrator鼠绘堆雪人的孩童矢量插画教程

    今天小编在这里就来给各位Illustrator的这一款软件的使用者们来说说鼠绘堆雪人的孩童矢量插画的教程,各位想知道具体绘制方法的使用者们,那么各位就快来跟着小编来看看...2016-09-14
  • 美图秀秀给照片天空加蓝天白云教程一览

    今天小编在这里就来给美图秀秀的这一款软件的使用者们来说下究竟该怎么给照片天空加蓝天白云的教程,各位想知道具体制作步骤的,那么下面就来跟着小编一起看看吧。 ...2016-09-14
  • 安卓手机app添加支付宝支付开发教程

    支付宝支付在国内算是大家了,我们到处都可以使用支付宝了,下文整理介绍的是在安卓app应用中使用支付宝进行支付的开发例子。 之前讲了一篇博客关与支付宝集成获取...2016-09-20
  • llustrator绘制扁平化风格卡通警察护士空姐肖像教程

    今天小编在这里就来给llustrator的这一款软件的使用者们来说一说绘制扁平化风格卡通警察护士空姐肖像的教程,各位想知道具体绘制步骤的使用者们,那么下面就快来跟着小编...2016-09-14
  • Illustrator绘制一个方形的录音机图标教程

    今天小编在这里就来给Illustrator的这一款软件的使用者们来说一下绘制一个方形的录音机图标的教程,各位想知道具体绘制方法的使用者们,那么下面就来看一下小编给大家分...2016-09-14
  • photoshop简单制作一个搞笑的换脸表情包教程

    今天小编在这里就来给photoshop的这一款软件的使用者们来说一说简单制作一个搞笑的换脸表情包的教程,各位想知道具体制作方法的使用者们,那么大家就快来看一看教程吧。...2016-09-14
  • photoshop给手绘画调色变换场景后期教程

    今天小编在这里就来给各位photoshop的这一款软件的使用者们来说说给手绘画调色变换场景的后期教程,各位想知道具体后期处理步骤的使用者们,那么大家就快来跟着小编来看...2016-10-02
  • 美图秀秀让你胸丰满起来处理教程

    今天小编在这里就来给美图秀秀的这一款软件的使用者们来说一下让你胸丰满起来的处理教程,各位想知道具体处理步骤的,那么下面就快来跟着小编一起看一下教程吧。 给...2016-09-14
  • Painter绘制雷神传插画教程

    今天小编在这里就来给Painter的这一款软件的使用者们来说一下绘制雷神传插画的教程,各位想知道具体绘制步骤的使用者,那么下面就快来跟着小编一起看看绘制方法吧。 ...2016-09-14
  • 如何获取网站icon有哪些可行的方法

    获取网站icon,常用最简单的方法就是通过website/favicon.ico来获取,不过由于很多网站都是在页面里面设置favicon,所以此方法很多情况都不可用。 更好的办法是通过google提供的服务来实现:http://www.google.com/s2/favi...2014-06-07
  • 美图秀秀制作隔离区聊天背景教程

    今天小编在这里就来给美图秀秀的这一款软件的使用者们来说下制作隔离区聊天背景的教程,各位想知道具体方法的,那么下面就快来跟着小编一起看一看吧。 给各位美图秀...2016-09-14
  • MySQL中的联合索引学习教程

    联合索引又叫复合索引。对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分。例如索引是key index (a,b,c). 可以支持a | a,b| a,b,c 3种组合进行查找,但不支持 b,c进...2015-11-24
  • MySQL日志分析软件mysqlsla的安装和使用教程

    一、下载 mysqlsla [root@localhost tmp]# wget http://hackmysql.com/scripts/mysqlsla-2.03.tar.gz--19:45:45-- http://hackmysql.com/scripts/mysqlsla-2.03.tar.gzResolving hackmysql.com... 64.13.232.157Conn...2015-11-24
  • Lua语言新手简单入门教程

    这篇文章主要给大家介绍的是关于Lua语言新手入门的简单教程,文中通过示例代码一步步介绍的非常详细,对各位新手们的入门提供了一个很方便的教程,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。...2020-06-30
  • photoshop素材合成古典园林场景制作教程

    今天小编在这里就来给photoshop的这一款软件的使用者们来说说用素材合成古典园林场景教程,各位想知道到底该怎么制作的,那么就快来一起看一下吧。 给各位photoshop...2016-09-14