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

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


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

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

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

أول حاجة غادي تمشي لphpmyadmin وغادي تزيد قاعدة بيانات جديدة تسميها gallery_opp من بعد غادي تزيد فيها 3 ديال الجداول واحد ديال المستخدمين سميتو users واحد خاص بالصور سميه photos والآخير ديال التعاليق سميه comments الكود ديال إنشاء قاعدة البيانات هو :

                                -- Structure de la table `comments`
--

CREATE TABLE IF NOT EXISTS `comments` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `photo_id` int(11) NOT NULL,
  `user_id` int(11) NOT NULL,
  `comment` text NOT NULL,
  `date` datetime NOT NULL,
  PRIMARY KEY (`id`),
  KEY `photo_id` (`photo_id`,`user_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=33 ;

-- --------------------------------------------------------

--
-- Structure de la table `photos`
--

CREATE TABLE IF NOT EXISTS `photos` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(255) NOT NULL,
  `description` text NOT NULL,
  `filename` varchar(255) NOT NULL,
  `type` varchar(255) NOT NULL,
  `size` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=18 ;
--
-- Structure de la table `users`
--

CREATE TABLE IF NOT EXISTS `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `pseudo` varchar(255) NOT NULL,
  `nom` varchar(255) NOT NULL,
  `prenom` varchar(255) NOT NULL,
  `passe` varchar(255) NOT NULL,
  `filename` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=20 ;


                            

- الملفات الأساسية

من بعد غادي تمشي لwamp يلا كنتي خدام به و منبعد تمشي للمجلد www وتزيد مجلد جديد تسميه PhotoGalleryOPP ولي غادي تزيد فيه واحد المجلد غادي تسميه admin فهاد المجلد غادي تزيد 4 ديال المجلدات css و js و includes و fonts من بعد غادي تمشي للموقع http://fontawesome.io وغادي تحمل font-awsome وغادي تزيد المجلد فadmin منبعد غادي تقوم بتحميل bootstrap وغادي تزيد الملف bootstrap.min.css ف css والملف bootstrap.min.js ف js و الملفات لي فالمجلد fonts ف fonts من بعد غادي تزيد ملف تسميه header.php و آخر تسميه footer.php وآخر تسميه navigation.php و config.php تزيدهم فincludes الملف config.php غادي يكونو فيه لvariables لي غادي يمكنو من الإتصال بقاعدة البيانات الكود ديالو هو :

                                <?php

define('DB_HOST','localhost');
define('DB_USER','root');
define('DB_PASSWORD','');
define('DB_DATABASE','gallery_opp');
                            

- الملف header.php

هاد الملف غادي يكون هو الأساس ديال كل الصفحات الخاصة بجهة الأدمن ولي غادي يربط ملفات css بالملفات ديالنا.

                                <?php
include "init.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>Photo Gallery</title>
    <link href="css/bootstrap.min.css" rel="stylesheet">
    <link href="css/main.css" rel="stylesheet">
    <link href="font-awsome/css/font-awesome.css" rel="stylesheet">
  </head>
  <body>
                            

- الملف footer.php

هاد الملف غادي يكون هو الأساس ديال كل الصفحات الخاصة بجهة الأدمن ولي غادي يربط ملفات js بالملفات ديالنا.

                                    <footer>
      <p>© 2016 Darija Coding</p>
</footer>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    <script src="js/bootstrap.min.js"></script>
    <script src="http://cdn.tinymce.com/4/tinymce.min.js"></script>
    <script src="js/scripts.js"></script>
  </body>
</html>
                                

- الملف navigation.php

هاد الملف غادي تكون فيه القائمة لي غادي تمكن من تصفح جميع الصفحات.

                                        <nav class="navbar navbar-inverse navbar-fixed-top">
      <div class="container">
        <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">Admin</a>
        </div>
        <div id="navbar" class="collapse navbar-collapse">
          <ul class="nav navbar-nav">
            <li class="active"><a href="users.php">Utilisateurs</a></li>
            <li><a href="photos.php">Photos</a></li>
            <li><a href="upload.php">Télécharger une photo</a></li>
            <li><a href="comments.php">Commentaires</a></li>
            <?php if(isset($_SESSION['user_id'])):?>
              <li><a href="logout.php">Déconnexion</a></li>
            <?php endif; ?>
          </ul>
        </div>
      </div>
    </nav>
                                


بحث في الموقع


إشترك للتوصل بالجديد