Pro cms ب php و mysql الجزء الأول

imadbelasri PHP
PH

فهاد ال projet الجديد من سلسلة php غادي نشوفو كيفاش نقادو واحد cms ب php و mysql ولي غادي يكون عبارة عن blog الأدمن كيزيد des articles الناس كتصفحهم كتزيد التعليقات ديالها كتسجل فالموقع كتكونيكطا والأدمن عندو الصلاحيات ديال التعديل والحدف ديال كلشي فهنا خص تكون عندك les bases ديال php ويلا كنتي مازال مبتدئ شوف الدروس لي سبقوا هادا. 


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


1- إنشاء قاعدة البيانات

أول حاجة غادي نديرو غادي نزيدو مشروع جديد ف xampp/htdocs أو wamp/www نتا وباش خدام من بعد غادي نزيدو قاعدة بيانات جديدة ف phpmyadmin نسميوها php-cms فيها 6 ديال les tables كاين users,articles,comments,admins,contacts,categories الكود باش تزيد الجداول فقاعدة البيانات هو :

                                                    
                                                        --
-- Structure de la table `admins`
--

CREATE TABLE `admins` (
  `id` int(11) NOT NULL,
  `name` varchar(255) NOT NULL,
  `email` varchar(100) NOT NULL,
  `password` varchar(100) NOT NULL,
  `added_by` varchar(200) NOT NULL,
  `created` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Structure de la table `articles`
--

CREATE TABLE `articles` (
  `id` int(11) NOT NULL,
  `category_id` int(11) NOT NULL,
  `title` varchar(200) NOT NULL,
  `body` text NOT NULL,
  `image` varchar(255) NOT NULL,
  `author` varchar(200) NOT NULL,
  `created` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Structure de la table `categories`
--

CREATE TABLE `categories` (
  `id` int(11) NOT NULL,
  `name` varchar(255) NOT NULL,
  `added_by` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Structure de la table `comments`
--

CREATE TABLE `comments` (
  `id` int(11) NOT NULL,
  `name` varchar(255) NOT NULL,
  `email` varchar(255) NOT NULL,
  `comment` text NOT NULL,
  `created` varchar(255) NOT NULL,
  `status` tinyint(4) NOT NULL DEFAULT '0',
  `post_id` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Structure de la table `contacts`
--

CREATE TABLE `contacts` (
  `id` int(11) NOT NULL,
  `name` varchar(255) NOT NULL,
  `email` varchar(255) NOT NULL,
  `message` text NOT NULL,
  `created` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Structure de la table `users`
--

CREATE TABLE `users` (
  `id` int(11) NOT NULL,
  `name` varchar(255) NOT NULL,
  `email` varchar(255) NOT NULL,
  `password` varchar(255) NOT NULL,
  `created` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Index pour la table `admins`
--
ALTER TABLE `admins`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `articles`
--
ALTER TABLE `articles`
  ADD PRIMARY KEY (`id`),
  ADD KEY `category_id` (`category_id`);

--
-- Index pour la table `categories`
--
ALTER TABLE `categories`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `comments`
--
ALTER TABLE `comments`
  ADD PRIMARY KEY (`id`),
  ADD KEY `post_id` (`post_id`);

--
-- Index pour la table `contacts`
--
ALTER TABLE `contacts`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `users`
--
ALTER TABLE `users`
  ADD PRIMARY KEY (`id`);

--
-- AUTO_INCREMENT pour les tables déchargées
--

--
-- AUTO_INCREMENT pour la table `admins`
--
ALTER TABLE `admins`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=0;
--
-- AUTO_INCREMENT pour la table `articles`
--
ALTER TABLE `articles`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=0;
--
-- AUTO_INCREMENT pour la table `categories`
--
ALTER TABLE `categories`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=0;
--
-- AUTO_INCREMENT pour la table `comments`
--
ALTER TABLE `comments`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=0;
--
-- AUTO_INCREMENT pour la table `contacts`
--
ALTER TABLE `contacts`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=0;
--
-- AUTO_INCREMENT pour la table `users`
--
ALTER TABLE `users`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=0;COMMIT;
                                                    
                                                

2- الإتصال بقاعدة البيانات

منبعد كنمشي لل projet ديالنا لي زدنا انا سميتو php_cms كنزيد فيه مجلد جديد كنسميه database فيه كنزيد ملف جديد كنسميه constants.php فيه غادي يكونو لconstantes لي غادي نستخدمهم باش نتاصل بقاعدة البيانات الكود ديال الملف هو :

                                                        
                                                            <?php
define('DB_HOST','localhost');
define('DB_USER','root');
define('DB_PASS','');
define('DB_DATABASE','php-cms');
                                                        
                                                    

3- الإتصال بقاعدة البيانات تتمة

دائما فالمجلد database كنزيد فيه ملف كنسميه connection.php فيه غادي يكون الكود لي غادي يمكن باش نتاصل بقاعدة البيانات باستخدام لconstantes لي سبقنا زدنا ف constants.php الكود ديال الملف هو :


                                                        
                                                            <?php
include_once('constants.php');
$con = mysqli_connect(DB_HOST,DB_USER,DB_PASS,DB_DATABASE);
                                                        
                                                    

4- الملف includes/header.php

فالمجلد الرئيسي ديال ال projet ديالنا لي انا سميتو php-cms  فيه زيد مجلد جديد سميه includes فيه زيد 3 ديال المجلدات css,js,fonts غادي تطيليشارجي bootstrap من الموقع الرسمي من هنا تيليشارجي ل version 3.3.7 ماشي ل 4 حيت هنا راني خدام ب 3 من بعد زيد الملفات لي ف css فالمجلد css ديالنا ونفس الشي بالنسبة ل js و fonts من بعد زيد ملف جديد سميه header.php فيه روابط css لي غادي نحتاجو و فيه غادي تكون القائمة ديالنا لي غادي تمكنا من التنقل بين الصفحات بالنسبة للملف style.css غادي نزيدوه من بعد الكود ديال الملف هو : 

                                                        
                                                            <?php 
session_start();
include('database/connection.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">
    <title>PHP CMS BY DARIJA CODING</title>
    <!-- Bootstrap core CSS -->
    <link href="includes/css/bootstrap.min.css" rel="stylesheet">
    <link href="includes/css/style.css" rel="stylesheet">
  </head>
  <body>
  <nav class="navbar navbar-default main-nav">
      <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" id="link">PHP CMS</a>
        </div>
        <div id="navbar" class="navbar-collapse collapse">
          <ul class="nav navbar-nav">
            <li><a href="index.php" id="link">Accueil</a></li>
            <li><a href="posts.php" id="link">Articles</a></li>
            <?php 
              if(isset($_SESSION['logged']) && $_SESSION['logged'] == true):
            ?>
            <li><a href="logout.php" id="link">Déconnexion</a></li>
            <?php 
              else:
            ?>
            <li><a href="register.php" id="link">Inscription</a></li>
            <li><a href="login.php" id="link">Connexion</a></li>
            <?php 
              endif;
            ?>
            <li><a href="contact.php" id="link">Contact</a></li>
          </ul>
          <form class="navbar-form navbar-right" method="post" action="searchPost.php">
            <input type="text" class="form-control" placeholder="Recherche..." name="search">
            <button class="btn btn-success xs-btn" id="btn-search" type="submit"><i class="glyphicon glyphicon-search"></i></button>
          </form>
        </div>
      </div>
    </nav>
                                                        
                                                    

5- الملف footer.php

دائما فالمجلد includes غادي نزيدو ملف جديد نسميوه footer.php فيه ل footer ديالنا وروابط للملفات js الكود ديال الملف هو:

                                                        
                                                            <hr>
 <footer class="main-nav">
    <p class="text-center" style="color:#FFF;padding:10px;font-size:20px;">DarijaCoding©2017</p> 
 </footer> <!-- Bootstrap core JavaScript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    <script src="includes/js/bootstrap.min.js"></script>
    <script src="includes/js/addComment.js"></script>
  </body>
</html>
                                                        
                                                    

دروس ذات صلة

PH

Pro cms ب php و mysql الجزء الثاني

فهاد الجزء الثاني من Pro cms ب php و mysql غادي نشوفو الملفات الخاصين بالأدمين ولي غادي تكون فيهم ال...


PH

Pro cms ب php و mysql الجزء الثالت

فهاد الجزء الثالت من Pro cms ب php و mysql غادي نكملو الملفات لي غادي يمكنوا الأدمن من تعديل ar...


PH

Pro cms ب php و mysql الجزء الرابع

فهاد الجزء الرابع من Pro cms ب php و mysql غادي نكملو الملفات الخاصين ب les catégories غادي نشوفو ال...


PH

Pro cms ب php و mysql الجزء الخامس

فهاد الجزء الخامس من Pro cms ب php و mysql غادي نشوفو كيفاش يمكن للأدمن يزيد des admins أخرين وهنا غ...


PH

Pro cms ب php و mysql الجزء السادس

فهاد الجزء السادس من Pro cms ب php و mysql غادي نكملو الملف لي غادي يمكن الأدمن باش يديكونيكطا منبعد...


PH

Pro cms ب php و mysql الجزء السابع

فهاد الجزء السابع من Pro cms ب php و mysql غادي نشوفو كيفاش نعرضوا المعلومات لي عندنا فقاعدة البيانا...


PH

Pro cms ب php و mysql الجزء الثامن

فهاد الجزء الثامن من Pro cms ب php و mysql غادي نشوفوا الملفات لي غادي يمكنوا من عرض les articles عل...


PH

Pro cms ب php و mysql الجزء التاسع والأخير

فهاد الجزء التاسع والأخير من Pro cms ب php و mysql غادي نكملو الملفات لي بقاو ولي غادي تكون فيه...