Heim >Backend-Entwicklung >PHP-Tutorial >怎么利用后台来发布文章后,在前台显示。

怎么利用后台来发布文章后,在前台显示。

WBOY
WBOYOriginal
2016-06-23 14:01:351396Durchsuche

每次手工在前台写代码 来添加文章,实在很麻烦,也很累人。我想在后台写个功能,输入标题,内容 就可以直接发表。  我想利用文件读取。然后利用正则来读取php文件的某个位置,然后添加文章,比如
我想在index.php显示文章。而index.php的内容为

<div style="float: left;height: 2%;padding-top: 1%;padding-left: 232px;padding-bottom: 4%;"><h1>文章作者??????????????文章标题?????????????文章时间</h1><hr></div><table class="article"><div><tr><th width="100"><a style="font-size:18px;text-decoration:none;" href="www.baidu.com">Black-Hole</a></th><td><a style="padding-left: 273px;" href="http://www.baidu.com">PHP代码</a></td><td><a style="padding-left:25%;" href="http://www.baidu.com">2014年2月28号</a></td></tr></div>

我先在后台写个标题 内容 作者  时间。点击发布文章后,在写个正则读取index.php里的article">与

之间的内容。擦除内容,写入我刚刚写的 标题 内容 作者 时间。

这样又可以保证新帖子永远在第一位。又省去手工写代码来添加文章的麻烦。

因为 本人学php不到1年。所以,又很多地方不懂,望各位程序员照顾下新人,谢谢了


回复讨论(解决方案)

后台操作数据库,完成添加插入,删除,修改,查询操作,
前台读取数据库信息即可。

建议找个开源CMS学习学习。

这是很基础的东西。
需要用到数据库,可以查看mysql 的dbconnect,select,insert,update,delete语法。
写了个demo,可以插入数据库,从数据库中按时间倒序显示记录,希望对你有帮助。

dbname是 demo

连接数据库
$conn=@mysql_connect("localhost","root","")  or die(mysql_error());
@mysql_select_db('demo',$conn) or die(mysql_error());

localhost 是服务器ip,本机用localhost
root是数据库用户名
密码为空。

db结构

CREATE TABLE `test` (  `id` int(10) unsigned NOT NULL auto_increment,  `name` varchar(100) NOT NULL,  `age` tinyint(4) unsigned NOT NULL,  `addtime` datetime NOT NULL,  PRIMARY KEY  (`id`)) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;


db.php 用于显示记录
<?php	//打开数据库	function opendb(){		$conn=@mysql_connect("localhost","root","")  or die(mysql_error());		@mysql_select_db('demo',$conn) or die(mysql_error());		}	//关闭数据库	function closedb(){		@mysql_close() or die("?????出?!");	}    opendb();    echo '<meta http-equiv="content-type" content="text/html; charset=utf-8">';    $sqlstr = "select * from test order by addtime desc";    $query = mysql_query($sqlstr) or die(mysql_error());    while($thread=mysql_fetch_assoc($query)){        $result[] = $thread;    }    if($result){        foreach($result as $val){            echo $val['id'].' '.$val['name'].' '.$val['age'].' '.$val['addtime'].'<br>';        }    }?>


add.php 用于新增记录
<?php//打开数据库function opendb(){    $conn=@mysql_connect("localhost","root","")  or die(mysql_error());    @mysql_select_db('demo',$conn) or die(mysql_error());	}//关闭数据库function closedb(){    @mysql_close() or die("?????出?!");}opendb();$send = isset($_POST['send'])? $_POST['send'] : '';if($send=='true'){ // submit    $name = isset($_POST['name'])? $_POST['name'] : '';     $age = isset($_POST['age'])? $_POST['age'] : '';    $addtime = date('Y-m-d H:i:s');    if($name=='' || $age==''){        exit('name or age is empty');    }    $sqlstr = "insert into test(name,age,addtime) values('{$name}','{$age}','{$addtime}')";    mysql_query($sqlstr) or die(mysql_error());    echo 'insert success';}else{?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html> <head>  <meta http-equiv="conent" content="text/html;charset=utf-8">  <title> New Document </title>  <meta name="Generator" content="EditPlus"> </head> <body>  <form name="form1" method="post" action="add.php">  <p>name:<input type="text" name="name"></p>  <p>age:<input type="text" name="age"></p>  <p><input type="submit" value="submit"></p>  <input type="hidden" name="send" value="true">  </form> </body></html><? } ?>

这是很基础的东西。
需要用到数据库,可以查看mysql 的dbconnect,select,insert,update,delete语法。
写了个demo,可以插入数据库,从数据库中按时间倒序显示记录,希望对你有帮助。

dbname是 demo

连接数据库
$conn=@mysql_connect("localhost","root","")  or die(mysql_error());
@mysql_select_db('demo',$conn) or die(mysql_error());

localhost 是服务器ip,本机用localhost
root是数据库用户名
密码为空。

db结构

CREATE TABLE `test` (  `id` int(10) unsigned NOT NULL auto_increment,  `name` varchar(100) NOT NULL,  `age` tinyint(4) unsigned NOT NULL,  `addtime` datetime NOT NULL,  PRIMARY KEY  (`id`)) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;


db.php 用于显示记录
<?php	//打开数据库	function opendb(){		$conn=@mysql_connect("localhost","root","")  or die(mysql_error());		@mysql_select_db('demo',$conn) or die(mysql_error());		}	//关闭数据库	function closedb(){		@mysql_close() or die("?????出?!");	}    opendb();    echo '<meta http-equiv="content-type" content="text/html; charset=utf-8">';    $sqlstr = "select * from test order by addtime desc";    $query = mysql_query($sqlstr) or die(mysql_error());    while($thread=mysql_fetch_assoc($query)){        $result[] = $thread;    }    if($result){        foreach($result as $val){            echo $val['id'].' '.$val['name'].' '.$val['age'].' '.$val['addtime'].'<br>';        }    }?>


add.php 用于新增记录
<?php//打开数据库function opendb(){    $conn=@mysql_connect("localhost","root","")  or die(mysql_error());    @mysql_select_db('demo',$conn) or die(mysql_error());	}//关闭数据库function closedb(){    @mysql_close() or die("?????出?!");}opendb();$send = isset($_POST['send'])? $_POST['send'] : '';if($send=='true'){ // submit    $name = isset($_POST['name'])? $_POST['name'] : '';     $age = isset($_POST['age'])? $_POST['age'] : '';    $addtime = date('Y-m-d H:i:s');    if($name=='' || $age==''){        exit('name or age is empty');    }    $sqlstr = "insert into test(name,age,addtime) values('{$name}','{$age}','{$addtime}')";    mysql_query($sqlstr) or die(mysql_error());    echo 'insert success';}else{?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html> <head>  <meta http-equiv="conent" content="text/html;charset=utf-8">  <title> New Document </title>  <meta name="Generator" content="EditPlus"> </head> <body>  <form name="form1" method="post" action="add.php">  <p>name:<input type="text" name="name"></p>  <p>age:<input type="text" name="age"></p>  <p><input type="submit" value="submit"></p>  <input type="hidden" name="send" value="true">  </form> </body></html><? } ?>
  十分感谢

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn