Home  >  Article  >  Backend Development  >  PHP implements simple blog production

PHP implements simple blog production

墨辰丷
墨辰丷Original
2018-05-31 10:38:372362browse

This article mainly introduces the production of simple blogs in PHP, which can display adding and deleting blogs. If you need it, you can learn more.

Recently, I had time to look at some PHP code. I made a simple blog with reference to the PHP100 tutorial, and briefly record it here.

The first is the integrated environment, the WAMP selected here: http://www.wampserver.com/en/

First, create a blog table through phpMyAdmin.

Pure interface operation, the process is relatively simple. It should be noted that id is the primary key, and the auto_increnent option is set, which means that the field will automatically increment when it is empty. Other fields are more casual, just pay attention to the type and length.

Create data connection

Create the conn.php file in the ./wamp/www/blog directory.

<?php

@mysql_connect("127.0.0.1:3306","root","") or die("mysql数据库连接失败");
@mysql_select_db("test")or die("db连接失败");
mysql_query("set names &#39;gbk&#39;");

?>

Mysql default user name is root and the password is empty. The blog created here is in the test library, so it needs to be connected to the test library.

Add blog                                                                                                                                                                                                                                                    


<a href="index.php"><B>index</B></a>
<a href="add.php"><B>add blog</B></a>
<hr>


<?php
include("conn.php"); //引入连接数据库

if (!empty($_POST[&#39;sub&#39;])) {
  $title = $_POST[&#39;title&#39;]; //获取title表单内容
  $con = $_POST[&#39;con&#39;];   //获取contents表单内容
  $sql= "insert into blog values(null,&#39;0&#39;,&#39;$title&#39;,now(),&#39;$con&#39;)";
  mysql_query($sql);
  echo "insert success!";

}

?>

<form action="add.php" method="post">
  title  :<br>
  <input type="text" name="title"><br><br>
  contents:<br>
  <textarea rows="5" cols="50" name="con"></textarea><br><br>
  <input type="submit" name="sub" value="submit">
  
</form>

This code is divided into two parts. The upper part is the PHP code. The include (or require) statement will get all the text that exists in the specified file. /code/ tag and copied to the file using the include statement.

Then, if it is judged that the content of name='sub' in the form is not empty, the content of the form will be obtained, and then the $sql statement will be executed. null means that the id is empty (incremented), now() It means taking the current date, $title and $con take the content submitted by the user in the form. Finally, eche is inserted successfully.

The lower part is a simple HTML code, used to implement a function that can submit a blog form.

Create the homepage of the blog                                                            ​

<a href="index.php"><B>index</B></a>
<a href="add.php"><B>add blog</B></a>
<br><br>
<form action="" method="get" style=&#39;align:"right"&#39;>
  <input type="text" name="keys" >
  <input type="submit" name="subs" >
</form>
<hr>

<?php
include("conn.php"); //引入连接数据库
  
  if (!empty($_GET[&#39;keys&#39;])) {
    $key = $_GET[&#39;keys&#39;];
    $w = " title like &#39;%$key%&#39;";

  }else{
    $w=1;
  }

  $sql ="select * from blog where $w order by id desc limit 5";
  $query = mysql_query($sql);
  
  while ($rs = mysql_fetch_array($query)) {


?>
<h2>title: <a href="view.php?id=<?php echo $rs[&#39;id&#39;]; ?>"><?php echo $rs[&#39;title&#39;]; ?></a>
  | <a href="edit.php?id=<?php echo $rs[&#39;id&#39;]; ?>">edit</a> 
  | <a href="del.php?id=<?php echo $rs[&#39;id&#39;]; ?>">delete</a> |
</h2>
<li>date: <?php echo $rs[&#39;data&#39;]; ?></li>
<!--截取内容展示长度-->
<p>contents:<?php echo iconv_substr($rs[&#39;contents&#39;],0,30,"gbk"); ?>...</p> 
<hr>

<?php

};

?>


This page contains quite a few functions.

The first is a search form. Use if to determine whether the content of the search form is empty. If it is not empty, match the title of the article by entering the keyword and display the result; if it is empty, query all blog content and loop. Display the title, date, and text of each article. Clicking on the title will link to the detailed page of the blog. Each article provides "edit" and "delete" functions.

mysql_query() is used to execute sql statements. mysql_fetch_arry() generates an array from the returned data, so that each piece of data in the database can be operated like an array.

Then the text is displayed, and the first 30 characters of the text are extracted through the iconv_substr() function.

View blog

                                       

#Create the view.php file in the ./wamp/www/blog/ directory.

<a href="index.php"><B>index</B></a>
<a href="add.php"><B>add blog</B></a>
<hr>

<?php
include("conn.php"); //引入连接数据库

  if (!empty($_GET[&#39;id&#39;])) {
    $id = $_GET[&#39;id&#39;];
    $sql ="select * from blog where id=&#39;$id&#39; ";  
    $query = mysql_query($sql);
    $rs = mysql_fetch_array($query);
    
    $sqlup = "update blog set hits=hits+1 where id=&#39;$id&#39;";
    mysql_query($sqlup);
  }



?>
<h2>title: <?php echo $rs[&#39;title&#39;]; ?> </h1>
<h3>date: <?php echo $rs[&#39;data&#39;]; ?> 
click number: <?php echo $rs[&#39;hits&#39;]; ?></h3>
<hr>
<p>contents:<?php echo $rs[&#39;contents&#39;]; ?></p>

The implementation of the blog text is relatively simple. Get the blog id through a get request, and then use the sql statement to get the title, date and date corresponding to the id. The text is queried and displayed.
An additional small function is to display a simple counter. Every time the page is refreshed, the number of clicks is increased by 1.

Edit blog        

                                                                                        Create the edit.php file in the ./wamp/www/blog/ directory.


<a href="index.php"><B>index</B></a>
<a href="add.php"><B>add blog</B></a>
<hr>


<?php
include("conn.php"); //引入连接数据库

//获取数据库表数据
if (!empty($_GET[&#39;id&#39;])) {
  $edit = $_GET[&#39;id&#39;];
  $sql = "select * from blog where id=&#39;$edit&#39;";
  $query = mysql_query($sql);
  $rs = mysql_fetch_array($query);
}

//更新数据库表数据
if (!empty($_POST[&#39;sub&#39;])) {
  $title = $_POST[&#39;title&#39;]; //获取title表单内容
  $con = $_POST[&#39;con&#39;];   //获取contents表单内容
  $hid = $_POST[&#39;hid&#39;]; 
  $sql= "update blog set title=&#39;$title&#39;, contents=&#39;$con&#39; where id=&#39;$hid&#39; ";
  mysql_query($sql);
  echo "<script>alert(&#39;update success.&#39;);location.href=&#39;index.php&#39;</script>";

}

?>

<form action="edit.php" method="post">
  <input type="hidden" name="hid" value="<?php echo $rs[&#39;id&#39;];?>">
  title  :<br>
  <input type="text" name="title" value="<?php echo $rs[&#39;title&#39;];?>">
  <br><br>
  contents:<br>
  <textarea rows="5" cols="50" name="con" ><?php echo $rs[&#39;contents&#39;];?></textarea><br><br>
  <input type="submit" name="sub" value="submit">
  
</form>

The function of editing blog is relatively complicated. The operation is divided into two steps. The first step is to query the title and text of the blog and display them in the input box. The second step is to update the edited content to the database.


Delete blog

在./wamp/www/blog/目录下创建del.php文件。

<a href="index.php"><B>index</B></a>
<a href="add.php"><B>add blog</B></a>
<hr>


<?php
  
  include("conn.php"); //引入连接数据库

  if (!empty($_GET[&#39;id&#39;])) {
    $del = $_GET[&#39;id&#39;]; //删除blog
    $sql= "delete from blog where id=&#39;$del&#39; ";
    mysql_query($sql);
    echo "delete success!";

  }

?>

最后是实现blog的删除功能,通过id将该条blog的查询出来并显示。

因为所有页面没有使用前端样式有美化,很丑就不贴图了。功能还算完美。在此记录,算做PHP学习的整理。

=======================================================

另外,虽然每个语言都有优缺点,这里还是忍不住要吐槽一下PHP的两个不好之处。

1、符号不好写, “$” 、“ ->” 、 “=>”。这些符号虽然并没有增加代码语法的理解难度。但敲起来具恶心。每次在打“$”符号的时候,都要眼看键盘按着shift键找4在哪儿。

2、php与html的混编在我看来也不是太优雅。

以上就是本文的全部内容,希望对大家的学习有所帮助。


相关推荐:

PHP的RSA加密解密与开发接口案例使用分析

php数据序列化测试详解

用PHP做出搜索附近的人功能

The above is the detailed content of PHP implements simple blog production. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn