كيفاش نصاوب blog بل php الجزء الثاني

منذ 5 سنوات imadbelasri PHP
PH

فهاد الجزء الثاني من هاد المشروع غادي نشوفو كيفاش نسجلو المعلومات ديالنا فقاعدة البيانات و كيفاش نديرو صفحة خاصة بالأدمين لي غادي تكون عندو صلاحيات الإضافة والحذف.


نظرة سريعة بالفيديو


- إنشاء المجلد admin و باقي الملفات

أول حاجة غادي تمشي للمجلد admin وغادي تزيد فيه مجلد تسميه includes فهاد المجلد غادي تزيد 3 ملفات الأول header .php وfooter.php و menu.php الكود ديالهم مجموع هو :

                                                    
                                                        //header.php code
<?php
  include('../config/config.php');
  include('../libraries/Database.php');
  include('../helpers/format_helper.php');
?>
<!DOCTYPE html>
<html lang="fr">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
    <title>Php Blog</title>

    <!-- Bootstrap -->
    <link href="../css/bootstrap.min.css" rel="stylesheet">
    <link href="../css/blog.css" rel="stylesheet">
    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
  </head>
  <body>
  //menu.php code 

  <nav class="navbar navbar-default">
    <div class="container-fluid">
        <div class="navbar-header">
        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
        </button>
        <a class="navbar-brand" href="index.php">Php Blog</a>
        </div>
        <div id="navbar" class="navbar-collapse collapse">
        <ul class="nav navbar-nav">
            <li><a href="index.php">Acceuil</a></li>
            <li class="dropdown">
            <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Posts <span class="caret"></span></a>
            <ul class="dropdown-menu">
                <li><a href="add_post.php">Ajouter un post</a></li>
            </ul>
            </li>
            <li class="dropdown">
            <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Catégories <span class="caret"></span></a>
            <ul class="dropdown-menu">
                <li><a href="add_category.php">Ajouter une catégorie</a></li>
            </ul>
            </li>
            <li><a href="../index.php">Retour au blog</a></li>
        </ul>
        </div><!--/.nav-collapse -->
    </div><!--/.container-fluid -->
 </nav>

  //footer.php

   <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    <!-- Include all compiled plugins (below), or include individual files as needed -->
    <script src="../js/bootstrap.min.js"></script>
    <script src="../js/script.js"></script>
  </body>
</html>
                                                    
                                                

- الملف add_post.php

فالمجلد admin غادي تزيد ملفات 7 ملفات وadd_category.php و edit_category.php و add_post.php و edit_post.php و delete_category.php و delete_post.php و index.php هاد الملفات غادي يمكننا من عرض إضافة تعديل مسح ل posts من قاعدة البيانات أول ملف غادي نبداو بيه هو ملف إضافة post الكود ديالو هو :

                                                        
                                                            <?php include('includes/header.php');?>
<body>
<?php include('includes/menu.php');?>
<?php 
     //connexion au base de données
     $db = new Database();
     if(isset($_POST['submit'])){
         $title = mysqli_real_escape_string($db->link,$_POST['title']);
         $post = mysqli_real_escape_string($db->link,$_POST['post']);
         $categorie = mysqli_real_escape_string($db->link,$_POST['categorie']);
         $auteur = mysqli_real_escape_string($db->link,$_POST['auteur']);
         $tags = mysqli_real_escape_string($db->link,$_POST['tags']);
         if($title == '' || $post == '' || $categorie == '' || $auteur == '' || $tags == ''){
             $error = "Veuillez remplir tous les champs";
         }else{
             $query = "INSERT INTO posts (category,title,body,author,tags) VALUES ('$categorie','$title','$post','$auteur','$tags')";
             $insert = $db->insert($query);
         }
     }
     //select requête 
     $query = "SELECT * FROM categories";
     $categories  = $db->select($query);
?>
<div class="container">
    <div class="row">
        <div class="col-md-6 col-md-offset-3">
            <div class="panel panel-default">
                <h1 class="text-center text-primary">Ajouter un post</h1>
                <hr>
                <section class="questions-box row">
                    <div class="col-md-8 col-md-offset-2">
                       <form action="add_post.php" method="post">
                            <div class="form-group">
                                <label for="title">Titre</label>
                                <input type="text" name="title"  class="form-control">
                            </div>
                            <div class="form-group">
                                <label for="post">Post</label>
                                <textarea name="post" id="" cols="30" rows="10" class="form-control"></textarea>
                            </div>
                            <div class="form-group">
                                <label for="categorie">Catégorie</label>
                                <select name="categorie" id="" class="form-control">
                                    <?php while($row = $categories->fetch_assoc()):?>
                                        <?php
                                            if($row['id']  == 9){
                                                $selected = 'selected';
                                            }else{
                                                $selected = '';
                                            }
                                        ?>
                                    <option <?php echo $selected;?>  value="<?php echo $row['id'];?>"><?php echo $row['name'];?></option>
                                    <?php endwhile;?>
                                </select>
                            </div>
                            <div class="form-group">
                                <label for="auteur">Auteur</label>
                                 <input type="text" name="auteur"  class="form-control">
                            </div>
                            <div class="form-group">
                                <label for="tags">Tags</label>
                                 <input type="text" name="tags"  class="form-control">
                            </div>
                            <div class="form-group">
                                <button type="submit" name="submit" class="btn btn-success">Ajouter</button>
                            </div>
                       </form>
                    </div>
                </section>
            </div>
        </div>
    </div>
</div>
<?php include('includes/footer.php');?>
                                                        
                                                    

- الملف add_category.php

فالملف add_category.php غادي نزيدو الكود لي غادي يمكنا من إضافة الفئات فقاعدة البيانات :

                                                        
                                                            <?php include('includes/header.php');?>
<body>
<?php include('includes/menu.php');?>
<?php
//connexion au base de données
     $db = new Database();
     if(isset($_POST['submit'])){
         $categorie = mysqli_real_escape_string($db->link,$_POST['categorie']);
         if($categorie == ''){
             $error = "Veuillez remplir le champ catégorie";
         }else{
             $query = "INSERT INTO categories (name) VALUES ('$categorie')";
             $insert = $db->insert($query);
         }
     }
?>
<div class="container">
    <div class="row">
        <div class="col-md-6 col-md-offset-3">
            <div class="panel panel-default">
                <h1 class="text-center text-primary">Ajouter une catégorie</h1>
                <hr>
                <section class="questions-box row">
                    <div class="col-md-8 col-md-offset-2">
                       <form action="add_category.php" method="post">
                            <div class="form-group">
                                <label for="categorie">Catégorie</label>
                                <input type="text" name="categorie"  class="form-control">
                            </div>
                            <div class="form-group">
                                <button type="submit" name="submit" class="btn btn-success">Ajouter</button>
                                <a href="edit_post.php?id=<?php echo $result['id'];?>&action=DELETE" class="btn btn-danger">Supprimer</a>
                            </div>
                       </form>
                    </div>
                </section>
            </div>
        </div>
    </div>
</div>
<?php include('includes/footer.php');?>
                                                        
                                                    

- الملف edit_post.php

فالملف edit_post.php غادي نزيدو الكود لي غادي يمكنا باش نديرو تعديلات على ل post لي ختارينا وإعادة تسجيلو فقاعدة البيانات :

                                                        
                                                            <?php include('includes/header.php');?>
<body>
<?php include('includes/menu.php');?>
<?php 
    //connexion à la  base de données
    $db = new Database();
    if(isset($_GET['id'])){
        $id = (int)$_GET['id'];
    }
    $query = "SELECT * FROM posts WHERE id = $id";
    $result = $db->select($query)->fetch_assoc();
    //modification
    if(isset($_POST['submit'])){
        $title = mysqli_real_escape_string($db->link,$_POST['title']);
        $post = mysqli_real_escape_string($db->link,$_POST['post']);
        $categorie = mysqli_real_escape_string($db->link,$_POST['categorie']);
        $auteur = mysqli_real_escape_string($db->link,$_POST['auteur']);
        $tags = mysqli_real_escape_string($db->link,$_POST['tags']);
        if($title == '' || $post == '' || $categorie == '' || $auteur == '' || $tags == ''){
            $error = "Veuillez remplir tous les champs";
        }else{
            $query = "UPDATE posts set category = '$categorie',title = '$title',body = '$post',author = '$auteur',tags = '$tags' WHERE id = $id";
            $update = $db->update($query);
        }
    }
    //select catégories requête 
    $query = "SELECT * FROM categories";
    $categories  = $db->select($query);
?>
<div class="container">
    <div class="row">
        <div class="col-md-6 col-md-offset-3">
            <div class="panel panel-default">
                <h1 class="text-center text-primary">Modifier un post</h1>
                <hr>
                <section class="questions-box row">
                    <div class="col-md-8 col-md-offset-2">
                       <form action="edit_post.php?id=<?php echo $id;?>" method="post">
                            <div class="form-group">
                                <label for="title">Titre</label>
                                <input type="text" name="title"  class="form-control" value="<?php echo $result['title'];?>">
                            </div>
                            <div class="form-group">
                                <label for="post">Post</label>
                                <textarea name="post" id="" cols="30" rows="10" class="form-control"><?php echo $result['body'];?></textarea>
                            </div>
                            <div class="form-group">
                                <label for="categorie">Catégorie</label>
                                <select name="categorie" id="" class="form-control">
                                    <?php while($row = $categories->fetch_assoc()):?>
                                        <?php
                                            if($row['id']  == $result['category']){
                                                $selected = 'selected';
                                            }else{
                                                $selected = '';
                                            }
                                        ?>
                                    <option <?php echo $selected;?>  value="<?php echo $row['id'];?>"><?php echo $row['name'];?></option>
                                    <?php endwhile;?>
                                </select>
                            </div>
                            <div class="form-group">
                                <label for="auteur">Auteur</label>
                                 <input type="text" name="auteur"  class="form-control" value="<?php echo $result['author'];?>">
                            </div>
                            <div class="form-group">
                                <label for="tags">Tags</label>
                                 <input type="text" name="tags"  class="form-control" value="<?php echo $result['tags'];?>">
                            </div>
                            <div class="form-group">
                                <button type="submit" name="submit" class="btn btn-success">Modifier</button>
                                <a href="delete_post.php?id=<?php echo $result['id'];?>&action=DELETE" class="btn btn-danger">Supprimer</a>
                            </div>
                       </form>
                    </div>
                </section>
            </div>
        </div>
    </div>
</div>
<?php include('includes/footer.php');?>
                                                        
                                                    

- الملف edit_category.php

فالملف edit_category.php غادي نزيدو الكود لي غادي يمكنا باش نديرو تعديلات على ل categorie لي ختارينا وإعادة تسجيلها فقاعدة البيانات :

                                                        
                                                            <?php include('includes/header.php');?>
<body>
<?php include('includes/menu.php');?>
<?php 
     //connexion à la  base de données
    $db = new Database();
    if(isset($_GET['id'])){
        $id = (int)$_GET['id'];
    }
    $query = "SELECT * FROM categories WHERE id = $id";
    $result = $db->select($query)->fetch_assoc();
    //modification
    if(isset($_POST['submit'])){
         $categorie = mysqli_real_escape_string($db->link,$_POST['categorie']);
         if($categorie == ''){
             $error = "Veuillez remplir le champ catégorie";
         }else{
             $query = "UPDATE  categories SET name = '$categorie' WHERE id = $id";
             $update = $db->update($query);
         }
    }
?>
<div class="container">
    <div class="row">
        <div class="col-md-6 col-md-offset-3">
            <div class="panel panel-default">
                <h1 class="text-center text-primary">Modifier une catégorie</h1>
                <hr>
                <section class="questions-box row">
                    <div class="col-md-8 col-md-offset-2">
                       <form action="edit_category.php?id=<?php echo $id;?>" method="post">
                            <div class="form-group">
                                <label for="categorie">Catégorie</label>
                                <input type="text" name="categorie"  class="form-control" value="<?php echo $result['name'];?>">
                            </div>
                            <div class="form-group">
                                <button type="submit" name="submit" class="btn btn-success">Modifier</button>
                                <a href="delete_category.php?id=<?php echo $result['id'];?>&action=DELETE" class="btn btn-danger">Supprimer</a>
                            </div>
                       </form>
                    </div>
                </section>
            </div>
        </div>
    </div>
</div>
<?php include('includes/footer.php');?>
                                                        
                                                    

دروس ذات صلة

PH

كيفاش تزيد المعلومات فقاعدة البيانات بإستعمال Ajax

فهاد الدرس غادي نقادو واحد المشروع بسيط لي عبارة عن chatbox الهدف هنا ماشي هو نديرو chat ولكن الهدف...


PH

كيفاش تصاوب إختبار بإستعمال PHP الجزء الأول

فهاد الدرس غادي نشوفو كيفاش نديرو نصاوبو واحد الإختبار بسيط هاد الإختبار غادي يطرح الاسئلة على المست...


PH

كيفاش تصاوب إختبار بإستعمال PHP الجزء الثاني

فهاد الدرس لي هو الجزء الثاني ديال كيفاش نقاد إختبار بإستعمال ل php غادي نكملو باقي الصفحات لي غادي...


PH

كيفاش نصاوب blog بل php الجزء الأول

فهاد المشروع غادي نشوفو كيفاش نقادو blog بإستعمال php كما غادي نشوفو كيفاش نسجلو المعلومات ديالنا فق...


PH

كيفاش نصاوب blog بل php الجزء الثاني

فهاد الجزء الثاني من هاد المشروع غادي نشوفو كيفاش نسجلو المعلومات ديالنا فقاعدة البيانات و كيفاش ند...


PH

كيفاش نصاوب blog بل php الجزء الثالث

فهاد الجزء الثالث من هاد المشروع غادي نكملو الملفات الخاصة بالأدمن وغادي نقادو الصفحات الرئيسية لي...


PH

كيفاش نصاوب blog بل php الجزء الرابع

فهاد الجزء الرابع غادي نشوفو كيفاش نزيدو système d'authentification لي غادي يمكن المستخدم من التسجيل...


PH

مشروع Photos Gallery بل PHP الجزء الأول

فهاد الدرس غادي نشوفو كيفاش نصاوبو واحد المشروع لي عبارة عن موقع للصور المستخدم كيدخل كيشاهد الصور و...


PH

مشروع Photos Gallery بل PHP الجزء الثاني

فهاد الجزء الثاني غادي نقادو الملفات لي غادي يمكننا من ربط الإتصال بقاعدة البيانات وغادي نزيدو الملف...


PH

مشروع Photos Gallery بل PHP الجزء الثالث

فهاد الجزء الثالث من المشروع ديالنا غادي نكملو الملفات لي غادي يمكنو من التعامل مع المعلومات الخاصة...