一个极其简单的CMS(内容管理系统)PHP+MySQL技术解析

时间:2022-09-19 15:35:09

          今晚坐在自习室里,敲了一些代码,感觉不错这是我初学PHP+MySQL时经常练习的一个模块。拿出来和大家分享,特别是PHP初学者。我想必备的应该是熟悉HTML CSS ,Javascript以及SQL语句 的基本知识。好了,废话不多说,开始吧。

          一个极其简单的CMS的技术解析:
          此CMS的功能:能够查看,增加记录。 简单吧一个极其简单的CMS(内容管理系统)PHP+MySQL技术解析

          首先,数据库中表的设计是 四个字段 id,title,content,time_created其中id自增(AUTO_INCREASMENT),主键(primary key),int类型;title varchar类型 长度随便设;content varchar类型 长度随便设 ;time_created datetime类型 。

        
          在Wampserver中www目录下建立个cms文件夹,然后在此文件夹内建立四个空白页,分别命名为conn.php  index.php  control.php和 deal.php
              Aconn.php的代码如下
<?php
$dblink = mysql_pconnect("localhost","wangdongya","wdy123456");
mysql_select_db("news",$dblink);
mysql_query("set names utf8");
?>
第一句连接本机上的数据库 后面两个参数是数据库用户名和密码(在数据库管理页面中设置的哦全部权限赋予
第二句:选择要的连接的数据库
第三局统一字符编码
          
            B、index.php的代码如下
<?php
include("conn.php");
?>
<html>
	 <head>
        		<title>Show Page</title>
        </head>
        <body>
        		<?php
                         $SQL = mysql_query("select id,title,content from news order by id desc ");
				while($row = mysql_fetch_array($SQL)){
					$id = $row["id"];
					$title = $row["title"];
					$content = $row["content"];
					echo "$title";
					echo "<br>";
					echo "$content";
					echo"<hr>";
					}
				?>
                <a href="control.php">管理</a>
        </body>
</html>
         首先引入数据库连接信息然后用一个select语句逆序取出表中每的每条记录。这里我想详细说下mysql_query()函数和mysql_fetch_array()函数,mysql_query()函数仅仅对select,show,explain,describe语句返回一个资源标识符,如果有查询不正确,则返回false,对于其他类型的SQL语句,mysql_query()函数在执行成功时返回true,出错时返回false。也即非false的返回值意味着查询合法且能被服务器执行。 本例中执行了select语句,返回值是一个资源集,在PHP中直接输出资源集是无用的,输出的将是一个资源标识符,要操作这个资源集则需要用到mysql_fetch_array()函数,此函数没执行一次都会从资源集中取出一条记录放入一个数组中,并且内部数据指针自动指向下一条数据。要取出所有的数据就需要借助于while循环,然后输出每条数组中的元素即可。此页面的功能用于展示记录。

          C、control.php的代码如下
<?php
include ("conn.php");
?>
<html>
 <head>
        		<title>Control Page</title>
         </head>
        <body>
        		<form action="deal.php" method="post">
                		<table border="0" width="500">
                        		<tr>
                                	         <td width="100" align="right">新闻标题:</td>
                                                   <td><input type="text" name="title" value=""></td>
                                       </tr>
                                        <tr>
                                	         <td width="100" align="right">新闻内容:</td>
                                                 <td><input type="text" name="content" value=""></td>
                                       </tr>
                                       <tr>
                                	         <td align="center"><input type="submit" name="post" value="提交"></td>
                                       </tr>
                        
                               </table>
                </form>
        </body>
</html>
         这个控制页面用到了table布局,虽然有违时代精神,但不乏是一种简单有效的布局方法。此页面的作用即是收集用户填写的表单内容,并提交给deal.php 注意form标签的那两个属性值 action提交给deal.php做处理,通过method=post方法。此页面用于收集用户在form表单中填写的文本信息并提交给deal.php。
        D、deal.php的代码如下:
      
<?php
include("conn.php");
?>
<html>
 <head>
        		<title>Deal Page</title>
        </head>
        <body>
<?php
if(!empty($_POST['post'])){
	   //$sql = "insert into news set 'title' ='".$_POST['title']."' ,  'content' = '".$_POST['content']."'; ";
	 $title =$_POST['title'];
         $content =$_POST['content'];
        $sql = "insert into news (title,content) values ('$title','$content') ";

	$result = mysql_query($sql);
	if($result){
		echo "<script type='text/javascript'>alert('suucceed!');location.href='index.php'</script>";
		}
		else{
			echo "<script type='text/javascript'>alert('failed in the sql sentence');location.href='index.php'</script>";
			}
	}
	else{
		echo "<script type='text/javascript'>alert('failed in receiving the data');location.href='index.php'</script>";
		}
?>
     	</body>
</html>
          说一下HTTP数组$_POST 是通过HTTP POST方法传递的变量组成的数组,也是自动全局变量,在所有的脚本中都生效,用来向服务器上传递数据,$_POST是讲表单中的数据放在form的数据体中,按照变量和值对应的方式,传递到action所指向的URL。
        这个处理页面 收集过来的数据通过SQL语句的形式打入到数据库中,并用弹框提醒用户并返回到展示页面

至此,一个简单的CMS就弄好了。各种PHP图书中介绍的经典留言板模型也是这样的。我想通过一点点的完善,功能的一点点增加,比如增加一个登录管理功能,我们的建站技术就会不知不觉地提高
了。