PHP让内容动起来

发表的文章怎么不见了?

因为那是静态HTML网页,不能处理数据。这时候就需要PHP了。

首先要配置一下nginx服务器,当发现请求了PHP文件时,就传递给PHP程序进行处理。

Windows:无需配置。wnmp已经默认配置好了,启动PHP和nginx即可。

Linux:按照下面的图片进行修改。

  1. sudo vi /etc/nginx/sites-enabled/default

nginx conf php

修改完毕,重启nginx。

  1. sudo /etc/init.d/nginx reload

然后开始写代码。修改“发表页”add_article.html的表单,提交到PHP。代码如下:

  1. <h1>写文章</h1>
  2. <form action="add_article_submit.php" method="post">

add_article_submit.php收到数据,保存到哪里呢?最简单的方法:本地文件。代码如下:

  1. <?php
  2. $input = $_POST;
  3. $file = './articles.json';
  4. $data = array();
  5. if (file_exists($file)) {
  6. $tmp = file_get_contents($file); //读取文件,变成字符串
  7. if(!empty($tmp)) {
  8. $data = json_decode($tmp, true); //json解码成array
  9. }
  10. }
  11. $data[] = $input;
  12. file_put_contents($file, json_encode($data)); //把字符串保存到文件
  13. echo '保存成功';

能看懂这些代码吗?如果看不懂,学一下PHP语法,很简单。看这里:《PHP官方手册:第一个 PHP 页面》http://www.php.net/manual/zh/tutorial.firstpage.php

自学:0.5天。

然后把这些代码下载下来:https://github.com/sinkcup/php-ebook-online-reader/tree/0.2.0

在浏览器里访问,尝试录入一篇文章。如图:

ebook add article

ebook add article submit

然后回到首页,刷新,看到文章列表,可以点进去阅读,如图:

ebook articles

ebook get article

总结一下

我的技术水平














HTML PHP 数据存储 HTTP协议
语义化:最简HTML 让内容动起来 文件存数据 GET、POST

已解决的问题

  • 提交的内容跑哪里去了?

    可以存到本地文件里

  • GET和POST有什么区别?该用哪个?

    简单的说:GET表示读,POST表示写。

  • 【阿里 IPO 后员工套现 410 亿美元,对杭州这个城市会有怎样的影响?】

    匿名用户:现身说法,房子有了,目前的代步车是mini,套现后换辆路虎揽胜,还有让妻子去香港生孩子,这就是我的计划。http://zhi.hu/4OKR(分享自知乎)

待解决的问题

  • PHP和HTML混写,很乱啊,怎么解决?

    且听下回分解。

  • 保存之后,在Firefox中页面怎么乱码了?

    且听下回分解。