php实现blog

1.建立表单

2.连接数据库,测试其功能

 

/怎样给按钮加连接?
//<input type="submit" name="add post" value="add post">
<a href="http://phpblog.local/test.php?" target="_blank">add post</a>

//<input type="submit" οnclick="http://phpblog.local/test.php?">

3.实现index.php页面

 1 <!DOCTYPE HTML>
 2 <html>
 3     <body>
 4         <?php $TitleErr = $BodyErr = "";
 5         $Title = $Body = "";
 6         
 7         <h4>Add post:</h4>
 8         <p><span class="error">* Required</span></p>
 9         <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> 
10 
11         <label>Title<span class="error">*<?php echo $TitleErr;?>:</span></label>
12         <br>
13         <input type="text" maxlength="50" name="Title" value="<?php echo $Title;?>">
14         <br>
15        
16         <label>Body<span class="error">* <?php echo $BodyErr;?>: </span></label><br>
17         <textarea name="Body" rows="5" cols="40"><?php echo $Body;?></textarea>*
18         <br><br>
19 
20         <input type="submit" name="save post" value="save post"> 
21      
22         </form>
23         
24         //$dbc = mysqli_connect("localhost","root","root","cakephp2");
25         $servername = "localhost";
26         $username = "root";
27         $password = "root";
28         $dbname = "cakephp2";
29 
30         // 创建连接
31         $conn = new mysqli($servername, $username, $password, $dbname);
32         // 检测连接
33         if ($conn->connect_error) {
34             die("连接失败: " . $conn->connect_error);
35         }
36 
37         $sql = "INSERT INTO posts (title, body,created,modified) VALUES ($Title, $Body, NOW(),NOW())";
38 
39         if ($conn->query($sql) === TRUE) {
40             echo "新记录插入成功";
41         } else {
42             echo "Error: " . $sql . "<br>" . $conn->error;
43         }
44 
45         $conn->close();
46 
47         function test_input($data)
48         {
49             $data = trim($data);
50             $data = stripslashes($data);
51             $data = htmlspecialchars($data);
52             return $data;
53             
54         }
55         var_dump($_SERVER["REQUEST_METHOD"]);
56         if ($_SERVER["REQUEST_METHOD"] == "POST"){
57             if (empty($_POST["Title"])){
58                 $nameErr = "Title is required";
59                 
60             }else{
61                 $name = test_input($_POST["Title"]);     
62                 
63             }
64             if (empty($_POST["Body"])){
65                 $BodyErr = "Body is required";
66                 
67             }
68             else{
69                 $Body = test_input($_POST["Body"]);    
70                 }
71         }
72         //var_dump($_POST['Title']);
73     
74         ?>
75 
76         <?php
77         echo $Title;
78         echo "<br>";
79         echo $Body;
80         echo "<br>";
81         ?>
82     </body>
83 </html>

updat.php

<!DOCTYPE HTML>
<html>
    <body>
        <?php $TitleErr = $BodyErr = "";
        $Title = $Body = "";
        
        <h4>Add post:</h4>//显示出错,但没找出来。
        <p><span class="error">* Required</span></p>
        <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> 

        <label>Title<span class="error">*<?php echo $TitleErr;?>:</span></label>
        <br>
        <input type="text" maxlength="50" name="Title" value="<?php echo $Title;?>">
        <br>
       
        <label>Body<span class="error">* <?php echo $BodyErr;?>: </span></label><br>
        <textarea name="Body" rows="5" cols="40"><?php echo $Body;?></textarea>*
        <br><br>

        <input type="submit" name="save post" value="save post"> 
     
        </form>
        
        //$dbc = mysqli_connect("localhost","root","root","cakephp2");
        $servername = "localhost";
        $username = "root";
        $password = "root";
        $dbname = "cakephp2";

        // 创建连接
        $conn = new mysqli($servername, $username, $password, $dbname);
        // 检测连接
        if ($conn->connect_error) {
            die("连接失败: " . $conn->connect_error);
        }

        $sql = "INSERT INTO posts (title, body,created,modified) VALUES ($Title, $Body, NOW(),NOW())";

        if ($conn->query($sql) === TRUE) {
            echo "新记录插入成功";
        } else {
            echo "Error: " . $sql . "<br>" . $conn->error;
        }

        $conn->close();

        function test_input($data)
        {
            $data = trim($data);
            $data = stripslashes($data);
            $data = htmlspecialchars($data);
            return $data;
            
        }
        var_dump($_SERVER["REQUEST_METHOD"]);
        if ($_SERVER["REQUEST_METHOD"] == "POST"){
            if (empty($_POST["Title"])){
                $nameErr = "Title is required";
                
            }else{
                $name = test_input($_POST["Title"]);     
                
            }
            if (empty($_POST["Body"])){
                $BodyErr = "Body is required";
                
            }
            else{
                $Body = test_input($_POST["Body"]);    
                }
        }
        //var_dump($_POST['Title']);
    echo $Title;
        echo "<br>";
        echo $Body;
        echo "<br>";
  
    </body>
</html>

title.php

<?php
echo "<table style='border: solid 1px black;'>";
echo "<tr><th>Id</th><th>Title</th><th>Body</th><th>Update</th><th>created</th></tr>";

class TableRows extends RecursiveIteratorIterator {
    function __construct($it) { 
        parent::__construct($it, self::LEAVES_ONLY); 
    }

    function current() {
        return "<td style='width: 150px; border: 1px solid black;'>" . parent::current(). "</td>";
    }

    function beginChildren() { 
        echo "<tr>"; 
    } 

    function endChildren() { 
        echo "</tr>" . "\n";
    } 
} 

$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "cakephp2";

try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $stmt = $conn->prepare("SELECT * FROM posts"); 
    $stmt->execute();

    // 设置结果集为关联数组
    $result = $stmt->setFetchMode(PDO::FETCH_ASSOC); 

    foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) { 
        echo $v;
    }
    $dsn = null;
}
catch(PDOException $e)
{
    echo "Error: " . $e->getMessage();
}
$conn = null;
echo "</table>";
?>

 

转载于:https://www.cnblogs.com/Abby2017/p/7100888.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 随着互联网的发展,博客的存在与发展也变得越来越重要。而PHP作为一种广泛运用的服务器端脚本语言,其提供了很多开发工具和技术,方便程序员们打造出一个高效、高品质的个人博客管理网站。 要实现个人博客管理网站,首先需要设计合理的数据库,包括博客文章、用户信息、评论等数据表。在数据表的设计中,需要考虑到数据的完整性,需要对数据库进行一些安全性方案的制定,以保证网站的正常运行。 其次,在代码编写方面,需要针对不同的用户权限定义不同的功能。比如设置管理员的权限,可以修改博客文章的内容;普通用户只能查看其他博客文章、写评论等。同时,为了方便用户更好地体验,可以开发各种博客模板,提供多种预设的博客风格供用户选择。 最后,对于网站的性能优化也是至关重要的。要减少访问时的响应时间,尽量避免资源浪费和不必要的请求等,以保证博客网站的流畅运行。可以采用一些技术手段,如页面静态化、数据库连接池、CDN加速等。 总之,通过PHP编写个人博客管理网站,可以提供一个良好的网路体验,方便用户与他们的博客读者互动,丰富个人博客的内容。同时,对于开发者来说,也能提升编程技能,增强对于Web技术的了解。 ### 回答2: PHP是一种流行的服务器端编程语言,适合创建功能强大的个人博客管理网站。使用PHP可以实现博客的创建、发布、分类和管理等功能。 为了实现个人博客管理网站,首先需要一个数据库来存储博客文章、分类信息和用户信息等。可以使用MySQL或其他关系型数据库来管理数据。 其次,需要使用PHP开发网站的主要功能,包括博客文章的发布与管理、分类的创建与管理、用户登录和管理等。针对不同的功能,需要编写不同的PHP程序来实现。 在设计网站时,需要考虑到网站的用户体验和交互效果。可以使用HTML、CSS、JavaScript等技术来设计网站的页面和交互效果,使用户更方便地管理自己的博客。 最后,需要考虑网站的安全性和可扩展性。可以使用PHP的安全性功能来防止网络攻击和数据泄露,同时还需要考虑网站的可扩展性,使其可以随着个人博客的发展不断扩展和改进。 总之,PHP是一个非常强大的工具,通过它可以轻松地开发个人博客管理网站。需要结合实际情况和用户需求来设计实现,不断改进和提高用户体验,从而使个人博客管理网站更加完善和有价值。 ### 回答3: PHP是一种广泛用于Web开发的脚本语言,常用于开发个人博客管理网站。要实现个人博客管理网站,需要掌握PHP的基本语法与Web开发知识。 首先,需要搭建Web服务器和数据库环境。常用的Web服务器有Apache、Nginx等,搭配MySQL、MariaDB等数据库,构建出完整的Web应用环境。 其次,需要实现用户登录注册、博客撰写、博客分类、博客搜索等核心功能。用户登录注册可以使用PHP的会话管理机制,实现简单的用户信息管理。博客撰写需要使用PHP处理表单数据、写入数据库等操作。博客分类可以设计数据库表结构,存储博客数据的同时,维护博客分类信息。博客搜索可以使用MySQL的全文索引功能,实现快速检索。 最后,要提升用户体验,可以使用一些前端框架和技术,如Bootstrap、jQuery等,优化网站布局和交互。同时,可以使用PHP框架,如Laravel、CodeIgniter等,快速构建Web应用。 总之,PHP实现个人博客管理网站的重要工具,整个开发过程需要依托Web开发知识、数据库知识、前端技术等多方面的技术能力。只有掌握了这些技术,才能开发出高效、便捷、易用的个人博客管理网站,为用户提供更好的体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值