Pro cms ب php و mysql الجزء الأول
نظرة سريعة بالفيديو
1- إنشاء قاعدة البيانات
--
-- 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- الإتصال بقاعدة البيانات
<?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
<?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
<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>