• چيزى را بر زبان نياوريد که از ارزش شما بکاهد.
تاریخ امروز :
3.7


صفحه 1 از 2 12 آخرینآخرین
نمایش نتایج: از شماره 1 تا 10 , از مجموع 15
Like Tree101Likes

موضوع: آموزش ساخت سیستم مدیریت محتوای ساده با php

  1. Top | #1

    مدیر انجمن

    تاریخ عضویت
    06.04.2008
    محل سکونت
    نیشابور
    نوشته ها
    3,241
    زبان برنامه نویسی
    PHP
    سیستم مدیریت محتوا
    وردپرس
    سیستم مددیریت انجمن
    vBulletin

    رتبه
    45 
    تجربه
    4,869,805
    تشکر
    941
    تشکر شده 949 بار در 468 پست

    Thumbs up آموزش ساخت سیستم مدیریت محتوای ساده با php

    با درود

    در این تاپیک قصد داریم آموزش ایجاد و ساخت یک سیستم مدیریت محتوای ساده به زبان PHP همراه با دیتابیس رو به شما آموزش بدیم!

    این سیستم فعلا دارای امکاناتی چون:

    1. اخبار سایت
    2. صفحه تماس با ما
    3. مدیریت صفحه نخست
    4. قابلیت ایجاد صفحه
    5. لینک دوستان

    سطح این آموزش معمولی هست.

    مواد لازم:

    1. نرم افزار XAMPP - [Only registered and activated users can see links. ]
    2. نرم افزار notepad++ - [Only registered and activated users can see links. ]
    3. نرم افزار محبوب Dreamweaver

    پیش نیاز ها برای درک این آموزش :

    1. آشنایی با CSS و HTML در حد معمولی
    2. آشنایی با دستورات php در حد مبتدی
    این آموزش ممکنه زمان زیادی طول بکشه و سعی میکنیم مرحله به مرحله بریم جلو تا برای کاربران مبتدی قابل درک باشه! پس عجله نکنید. در مرحله اول ما آموزش رو از ساده ترین روش میریم جلو! ممکنه حجم برنامه نویسی زیاد بشه. ولی درک و فهم بهتر میشه.
    netism, rishsefid, amir_saman و 14 نفر دیگر این مطلب را می پسندند.
    [Only registered and activated users can see links. ]
    ============================

    | [Only registered and activated users can see links. ] | [Only registered and activated users can see links. ] | [Only registered and activated users can see links. ]


  2. 13 کاربر به دلیل پست مفید Mohammad از وی تشکر کرده اند:


  3. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    محل سکونت
    Advertising world
    نوشته ها
    Many
     

  4. Top | #2

    مدیر انجمن

    تاریخ عضویت
    06.04.2008
    محل سکونت
    نیشابور
    نوشته ها
    3,241
    زبان برنامه نویسی
    PHP
    سیستم مدیریت محتوا
    وردپرس
    سیستم مددیریت انجمن
    vBulletin

    رتبه
    45 
    تجربه
    4,869,805
    تشکر
    941
    تشکر شده 949 بار در 468 پست

    پیش فرض ایجاد فایل config.php در پوشه admin

    ایجاد فایل config.php در پوشه admin
    کد PHP:
    <?php
    $hostname 
    'localhost';
    $dbuser 'root';
    $dbpass 'password';
    $dbname 'cms';
    $persianscript mysql_connect ($hostname$dbuser$dbpass);
    mysql_select_db ($dbname$persianscript);

    /***  S I T E  S E T T I N G  ***/
    $adminuser "admin";
    $adminpass "admin";
    $title 'سیستم مدیریت محتوا';
    $email 'info@persianscript.ir';
    $desc 'توضیحات سایت';

    ?>
    ما در 7 خط اول فایل config.php مشخصات دیتابیسمون رو میدیم!

    و بعد با استفاده از دستور mysql_connect به دیتابیس متصل میشیم...


    در متغیر های adminuser و adminpass میتونید مشخصات ورود به مدیریت رو وارد کنید
    در متغیر های title,email,desc اطلاعاتی نظیر عنوان سایت, ایمیل (برای ارسال فرم های تماس به ایمیل),کلمات کلیدی و توضیحات سایت هست. اینها برای فراخوانی در قالب و سیستم بکار میره.
    rishsefid, Arda, ebi_shah و 2 نفر دیگر این مطلب را می پسندند.
    [Only registered and activated users can see links. ]
    ============================

    | [Only registered and activated users can see links. ] | [Only registered and activated users can see links. ] | [Only registered and activated users can see links. ]


  5. 11 کاربر به دلیل پست مفید Mohammad از وی تشکر کرده اند:


  6. Top | #3

    مدیر انجمن

    تاریخ عضویت
    06.04.2008
    محل سکونت
    نیشابور
    نوشته ها
    3,241
    زبان برنامه نویسی
    PHP
    سیستم مدیریت محتوا
    وردپرس
    سیستم مددیریت انجمن
    vBulletin

    رتبه
    45 
    تجربه
    4,869,805
    تشکر
    941
    تشکر شده 949 بار در 468 پست

    Lightbulb فرم ورود به مدیریت

    ببخشید یک مدت بروز رسانی نکردم.

    خب. حالا میریم سراغ ساختن بخش ورود به مدیریت
    فایل index.php موجود در پوشه admin رو باز میکنیم. یا اگه قبلا ایجاد نکردید ایجاد کنید

    برای ساخت بخش ورود به مدیریت ما با استفاده از سشن ها(جلسه) دسترسی رو برای مدیر ایجاد میکنیم. در اینجا ابتدا یک فرم میسازیم با دو فیلد text و یک دکمه :
    کد HTML:
    <form action="" method="POST">
    نام کاربری:<input type="text" name="username" size="20">
    <br/>
    رمز عبور:<input type="password" name="password" size="20">
    <br/>
    <br/>
    <input type="submit" value=" ورود " name="submit">
    </form>
    در این فرم نام کاربری و رمز عبور رو از کاربر میگیرم. و با زدن دکمه submit دوباره مقادیر به همین صفحه ارسال میشه چون تو اون اول action فرم برابر تهی بود

    حالا میرسیم به بخش بررسی نام کاربری و رمز عبور . ورود موفق به مدیریت و خروج از مدیریت

    این کد php رو در بالای فرم ورود میزاریم:
    کد PHP:
    <?php 
    session_start
    ();
    if ( isset(
    $_POST['username']) && isset($_POST['username']) )
    {
        include 
    "config.php";
        if ( (
    $_POST['username'] == $adminuser) && ($_POST['username'] == $adminpass) )
        {
            
    $_SESSION['user'] = $_POST['username'];
            
    header ("Location: home.php");
        }
    }
    ?>
    در خط اول ما php رو شروع میکنیم.
    در خط دوم لایه جلسه (سشن) رو استارت (روشن) میکنیم
    در خط سوم ما میگیم در صورتی که نام کاربری و رمز عبور به وسیله Post از فرم برامون ارسال شده بود. دستورات زیر رو اجرا کن
    در خط پنجم ما فایل کانفیگ رو با include فراخوانی میکنیم.
    در خط شش یک دستور شرطی دیگه هست که میگه اگه مقدار ارسال شده username با مقدار موجود در adminuser (فایل کانفیگ) برابری کرد. و همچنین (با &&) مقدار ارسال شده password با مقدار موجود در adminpass (فایل کانفیگ) برابری کرد . اون وقت مقدار ارسال شده username رو بریز داخل سشن user
    این سشن user تا وقتی کاربر داخل سایت باشه لازم هست...
    در خط بعد میگه وقتی همه این دو شرط درست بود. بعنی:

    1. کاربر نام کاربری و رمز عبور رو وارد کرده باشه
    2. نام کاربری و رمز عبور با مقداری که تو فایل کانفیگ هست برابر بود
    اون وقت برو به صفحه home.php

    صفحه home.php نقش داشبورد یا صفحه اصلی کنترل پنل مدیریت رو بازی میکنه



    محتویات فایل index.php شد این:
    کد PHP:
    <?php 
    session_start
    ();
    if ( isset(
    $_POST['username']) && isset($_POST['username']) )
    {
        include 
    "config.php";
        if ( (
    $_POST['username'] == $adminuser) && ($_POST['username'] == $adminpass) )
        {
            
    $_SESSION['user'] = $_POST['username'];
            
    header ("Location: home.php");
        }
    }
    ?>
    <html>
    <head>
    <title>ورود به مدریت</title>
    </head>
    <body>
    <form action="" method="POST">
    نام کاربری:<input type="text" name="username" size="20">
    <br/>
    رمز عبور:<input type="password" name="password" size="20">
    <br/>
    <br/>
    <input type="submit" value="ورود" name="submit">
    </form>
    </body>

    </html>
    خیلی آسون بود... نه؟ جلسه بعدی میریم داخل مدیریت. و مراحل بعدی ایجاد دیتابیس و وارد کردن اطلاعات


    نکته مهم: توجه کنید که تمامی فایل های سایت شما باید charset شون روی UTF-8 without BOM باشه (با نرم افزار notepad++ میتونین اوکی کنید)
    rishsefid, Arda, iPersianScript و 4 نفر دیگر این مطلب را می پسندند.
    [Only registered and activated users can see links. ]
    ============================

    | [Only registered and activated users can see links. ] | [Only registered and activated users can see links. ] | [Only registered and activated users can see links. ]


  7. 11 کاربر به دلیل پست مفید Mohammad از وی تشکر کرده اند:


  8. Top | #4

    مدیر انجمن

    تاریخ عضویت
    06.04.2008
    محل سکونت
    نیشابور
    نوشته ها
    3,241
    زبان برنامه نویسی
    PHP
    سیستم مدیریت محتوا
    وردپرس
    سیستم مددیریت انجمن
    vBulletin

    رتبه
    45 
    تجربه
    4,869,805
    تشکر
    941
    تشکر شده 949 بار در 468 پست

    Lightbulb صفحه اصلی کنترل پنل - خروج از مدیریت

    صفحه اصلی مدیریت :: فایل home.php موجود در پوشه admin

    همون طور که گفتم فایل home.php نقش داشبورد یا کنترل پنل مدیریت رو بازی میکنه
    همون طور که میدونید به این صفحه فقط باید مدیر دسترسی داشته باشه. یعنی کسی که نام کاربری و رمز عبور رو وارد کرده میتونه بیاد اینجا رو ببینه
    حالا چگونه؟ با استفاده از همون سشن یا جلسه ای که ایجاد کردیم و نامش رو گذاشتیم user

    در ابتدای فایل home مینویسیم:

    کد PHP:
    <?php
    session_start
    ();
    if ( isset(
    $_SESSION['user']) ) {
    if ( (isset(
    $_GET['logout'])) && ($_GET['logout'] == "true") )
    {
    unset (
    $_SESSION['user']);
    header ("Location: index.php");
    }
    ?>
    اگه کاربر وارد شده بود اینجا رو نشون میده

    <?php } else { header ("location: index.php"); } ?>
    توضیحات:
    ما در خط اول php رو شروع میکنیم
    در خط دوم سشن رو start میکنیم.
    در خط سوم میگیم اگه سشن ما (که در قسمت ورود گرفتیم) در user وجود داشت. اون وقت تمام زیر مجموعه رو نمایش بده.
    در خط اخر گفتیم. در غیر اینصورت برگرد به صفحه ورود (index.php)

    در خط چهارم میگیم اگه کاربر برای ما logout رو فرستاد و همچنین logout برابر با true بود اون وقت سشن user رو unset کن
    میشه به این صورت: [Only registered and activated users can see links. ]

    (حالا unset چیه؟ و چیکار میکنه؟: وقتی کاربر یوزر و پسورد رو درست میزنه یک سشن به اسم user ایجاد میشه. این user وقتی برای شما set شده باشه به شما اجازه می ده به صفحات دیگه مدیریت سر بزنید... و وقتی unset میکنیم. دیگه متغیر user چیزی داخلش نیست که بتونه وارد مدیریت بشه)

    اون قسمتی هم که نوشتم "اگه کاربر وارد شده بود اینجا رو نشون میده" وقتی نشون داده میشه که کاربر وارد شده باشه... در غیر اینصورت برمیگرده به صفحه index یا همون ورود به مدیریت"

    حالا ما در فایل home.php داریم:
    کد PHP:
    <?php
    session_start
    ();
    if ( isset(
    $_SESSION['user']) ) {
    if ( (isset(
    $_GET['logout'])) && ($_GET['logout'] == "true") )
    {
    unset (
    $_SESSION['user']);
    header ("Location: index.php");
    }
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title> مدیریت سایت</title>
    <link href="files/style.css" rel="stylesheet" type="text/css">
    </head>
    <body>
    <div id="main">
    <img src="files/header.jpg" border="0">
    <div class="navbar">
    <ul>
        <li><a href="home.php">داشبورد</a></li>
        <li><a href="../index.php" target="_blank">نمایش سایت</a></li>
    </ul>
    </div>
    </div>
      
        
            <div id="sidebar">
            <ul>
            <li><a href="home.php">داشبورد</a></li>
            <li><a href="addnews.php">ارسال خبر جدید</a></li>
            <li><a href="addpage.php">ایجاد صفحه جدید</a></li>
            <li><a href="addlink.php">ارسال لینک جدید</a></li>
            <li><a href="news.php">مدیریت اخبار</a></li>
            <li><a href="pages.php">مدیریت صفحات</a></li>
            <li><a href="links.php">مدیریت لینک ها</a></li>
            <li><a href="homepage.php">مدیریت صفحه نخست</a></li>
            <li><a href="?logout=true"><font color="red"><b>خروج!</b></font></a></li>

            </ul>
            
        </div>
        


    <div class="content">
    <div class="top-text">داشبورد</div> 
        به کنترل پنل مدیریت خوش آمدید. شما میتوانید از منوی سمت راست به مدیریت بخش های مورد نظر بپردازید

        </div>
        <div class="clear"></div>
    </div>
    </body></html>
    <?php } else { header ("location: index.php"); } ?>
    ما در این مرحله قسمت کنترل پنل مدیریت/ دسترسی مدیر به صفحات و همچنین خروج از مدیریت رو نوشتیم

    کارهایی رو که تا الان انجام دادیم رو به صورت زیپ به همراه قالب سایت میتونید دریافت کنید.
    فایل های پیوست شده فایل های پیوست شده
    • نوع فایل: zip cms.zip (13.5 کیلو بایت, 248 نمایش)
    salehkhan, rishsefid, Arda و 3 نفر دیگر این مطلب را می پسندند.
    [Only registered and activated users can see links. ]
    ============================

    | [Only registered and activated users can see links. ] | [Only registered and activated users can see links. ] | [Only registered and activated users can see links. ]


  9. 12 کاربر به دلیل پست مفید Mohammad از وی تشکر کرده اند:


  10. Top | #5

    مدیر انجمن

    تاریخ عضویت
    06.04.2008
    محل سکونت
    نیشابور
    نوشته ها
    3,241
    زبان برنامه نویسی
    PHP
    سیستم مدیریت محتوا
    وردپرس
    سیستم مددیریت انجمن
    vBulletin

    رتبه
    45 
    تجربه
    4,869,805
    تشکر
    941
    تشکر شده 949 بار در 468 پست

    پیش فرض ساخت دیتابیس اخبار

    خب دوستان. میرسیم به دیتابیس بخش اخبار

    برای اینکه بخوایم اخبار رو ارسال کنیم تا در دیتابیس ذخیره بشه باید ابتدا دیتابیس و table اخبار رو میسازیم. توضیحات زیادی در مورد نحوه ساخت دیتابیس نمیدم! چون چیز خاصی نداره. و محیط phpmyqdmin فارسی هست...

    خب ما میخوایم تیبل اخبار رو بسازیم. ابتدا یک دیتابیس مثلا با نام cms میسازیم.
    داخل دیتابیس cms ما یک table با نام news می سازیم. این news شامل مشخصات و داده های اخبار هست

    ما تو این تیبل (table) چه فیلد هایی داریم؟
    فیلد id از نوع عددی (int) هست و به صورت خودکار به ترتیب عدد داده میشه (AUTO_INCREMENT هست) ما با id هر خبر رو صدا میکنیم و از دیتابیس میخوایم که خبر رو بر اساس id اون نشون بده. چون این id به صورت یکتا هست (تکراری نیست)

    فیلد title که قراره عنوان هر خبر داخلش ذخیره بشه . از نوع متنی (text)
    فیلد content که قراره خلاصه هر خبر داخلش باشه . از نوع متنی (text)
    فیلد fullcontent که قرار متن کامل خبر داخلش باشه . از نوع متنی (text)
    فیلد date که قراره تاریخ ارسال خبر داخلش ذخیره بشه. از نوع VARCHAR (اندازه 20)
    و همون طور که گفتم id کلید هر فیلد هست

    تیبل news ما شد این:
    کد:
    CREATE TABLE `news` (
    `id` INT NOT NULL AUTO_INCREMENT ,
    `title` TEXT NOT NULL ,
    `content` TEXT NOT NULL ,
    `fullcontent` TEXT NOT NULL ,
    `date` VARCHAR( 20 ) NOT NULL ,
    PRIMARY KEY ( `id` )
    ) TYPE = MYISAM;
    میتونید از طریق import داخل phpmyadmin بریزید داخل دیتابیستون
    rishsefid, Arda, robographic و 3 نفر دیگر این مطلب را می پسندند.
    [Only registered and activated users can see links. ]
    ============================

    | [Only registered and activated users can see links. ] | [Only registered and activated users can see links. ] | [Only registered and activated users can see links. ]


  11. 10 کاربر به دلیل پست مفید Mohammad از وی تشکر کرده اند:


  12. Top | #6

    مدیر انجمن

    تاریخ عضویت
    06.04.2008
    محل سکونت
    نیشابور
    نوشته ها
    3,241
    زبان برنامه نویسی
    PHP
    سیستم مدیریت محتوا
    وردپرس
    سیستم مددیریت انجمن
    vBulletin

    رتبه
    45 
    تجربه
    4,869,805
    تشکر
    941
    تشکر شده 949 بار در 468 پست

    Thumbs up ساخت بخش ارسال و ویرایش خبر

    میرسیم به بخش ارسال خبر و همچنین ویرایش خبر

    معمولا برای بخش ارسال و ویرایش خبر باید یک ویرایشگر مناسب گذاشت. ما هم از ویرایشگر elrte استفاده میکنیم.

    کدهای بخش فایل addnews.php به شرح زیر هست.

    کد PHP:
    <?php
    session_start
    ();
    if ( isset(
    $_SESSION['user']) ) {
    if ( (isset(
    $_GET['logout'])) && ($_GET['logout'] == "true") )
    {
    unset (
    $_SESSION['user']);
    header ("Location: index.php");
    }
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>مدیریت سایت - ارسال خبر جدید</title>
    <link href="files/style.css" rel="stylesheet" type="text/css">
    <!-- jQuery and jQuery UI -->
        <script src="elrte-1.2/js/jquery-1.4.4.min.js" type="text/javascript" charset="utf-8"></script>
        <script src="elrte-1.2/js/jquery-ui-1.8.7.custom.min.js" type="text/javascript" charset="utf-8"></script>
        <link rel="stylesheet" href="elrte-1.2/css/smoothness/jquery-ui-1.8.7.custom.css" type="text/css" media="screen" charset="utf-8">

        <!-- elRTE -->
        <script src="elrte-1.2/js/elrte.min.js" type="text/javascript" charset="utf-8"></script>
        <link rel="stylesheet" href="elrte-1.2/css/elrte.min.css" type="text/css" media="screen" charset="utf-8">

        <!-- elRTE translation messages -->
        <script src="elrte-1.2/js/i18n/elrte.fa.js" type="text/javascript" charset="utf-8"></script>

        <script type="text/javascript" charset="utf-8">
            $().ready(function() {
                var opts = {
                    cssClass : 'el-rte',
                    lang     : 'fa',
                    height   : 300,
                    toolbar  : 'normal',
                    cssfiles : ['elrte-1.2/css/elrte-inner.css']
                }
                $('#editor').elrte(opts);
            })
            
            $().ready(function() {
                var opts = {
                    cssClass : 'el-rte',
                    lang     : 'fa',
                    height   : 300,
                    toolbar  : 'normal',
                    cssfiles : ['elrte-1.2/css/elrte-inner.css']
                }
                $('#more').elrte(opts);
            })
        </script>
    </head>
    <body>

    <?php
    if ( isset($_POST['go']) && ($_POST['go'] == "add") )
    {
        include 
    "config.php";
        
    $add mysql_query ("INSERT INTO `news` VALUES ('', '".$_POST['newstitle']."', '".$_POST['newscontent']."', '".$_POST['newsfullcontent']."', '".mktime()."')");
        if ( 
    $add )
        {
            
    $status '<div class="ok">خبر جدید با موفقیت ثبت شد.</div>';
        }
        else { 
    $status '<div class="error">متاسفانه مشکلی در ثبت خبر جدید وجود دارد.</div>'; }
    }
    elseif ( isset(
    $_POST['go']) && ($_POST['go'] == "edit") )
    {
        include 
    "config.php";
        
    $edit mysql_query ("UPDATE `news` SET `title` = '".$_POST['newstitle']."', `content` = '".$_POST['newscontent']."', `fullcontent` = '".$_POST['newsfullcontent']."' WHERE `id` = '".$_POST['id']."' LIMIT 1");
        if ( 
    $edit )
        { 
        
    $status '<div class="ok">تغییرات با موفقیت اعمال شدند.</div>'
        }
        else { 
    $status '<div class="error">متاسفانه مشکلی در ثبت تغییرات وجود دارد</div>'; }
    }
    if ( isset(
    $_GET['editnews']) && ($_GET['editnews'] !== "") )
    {
        include 
    "config.php";
        
    $Query mysql_query("SELECT * FROM `news` WHERE `id` = '".intval($_GET['editnews'])."' LIMIT 1");
        
    $row_news mysql_fetch_array($Query);
    }
    ?>

    <div id="main">
    <img src="files/header.jpg" border="0">
    <div class="navbar">
    <ul>
        <li><a href="home.php">داشبورد</a></li>
        <li><a href="../index.php" target="_blank">نمایش سایت</a></li>
    </ul>
    </div>
    </div>
      
        
            <div id="sidebar">
            <ul>
            <li><a href="home.php">داشبورد</a></li>
            <li><a href="addnews.php">ارسال خبر جدید</a></li>
            <li><a href="addpage.php">ایجاد صفحه جدید</a></li>
            <li><a href="addlink.php">ارسال لینک جدید</a></li>
            <li><a href="news.php">مدیریت اخبار</a></li>
            <li><a href="pages.php">مدیریت صفحات</a></li>
            <li><a href="links.php">مدیریت لینک ها</a></li>
            <li><a href="homepage.php">مدیریت صفحه نخست</a></li>
            <li><a href="?logout=true"><font color="red">خروج!</b></font></a></li>

            </ul>
            
        </div>
        


    <div class="content">

    <div class="top-text">ارسال خبر جدید</div> 
        <?php echo $status?>
        <div class="forms">                        
        <form method="post" action="">
        <input type="hidden" name="go" value="<?php echo (isset($row_news)) ? "edit" "add"?>">
        <?php echo (isset($row_news)) ? '<input type="hidden" name="id" value="'.$row_news['id'].'">' ''?>
        <label for="username"> عنوان خبر : </label>
        <input name="newstitle" type="text" value="<?php echo $row_news['title']; ?>" class="form" />
        <br  /><br  /><br  />
        <label for="content"> خلاصه خبر : </label>
        <textarea name="newscontent" rows="10" cols="80" id="editor"><?php echo $row_news['content']; ?></textarea>
        <br /><br /><br /><br />
        <label for="fullcontent"> ادامه مطلب : </label>
        <textarea name="newsfullcontent" rows="10" cols="80" id="more"><?php echo $row_news['fullcontent']; ?></textarea>
        <br /><br /><br /><br />
        <input type="submit" value="ارسال خبر" name="submit">
        </form>
        </div>

        </div>
        <div class="clear"></div>
    </div>
    </body></html>
    <?php } else { header ("location: index.php"); } ?>
    حالا شروع میکنیم به توضیح دادن هر قسمت از فایل Addnews.php

    بررسی ورود مدیر:
    کد PHP:
    <?php
    session_start
    ();
    if ( isset(
    $_SESSION['user']) ) {
    if ( (isset(
    $_GET['logout'])) && ($_GET['logout'] == "true") )
    {
    unset (
    $_SESSION['user']);
    header ("Location: index.php");
    }
    ?>
    در ابتدا ما مثل صفحه Home.php بررسی میکنیم که کاربر وارد شده یا نه
    -------------------------

    کد های مربوط به قالب و ادیتور:

    کد HTML:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>مدیریت سایت - ارسال خبر جدید</title>
    <link href="files/style.css" rel="stylesheet" type="text/css">
    <!-- jQuery and jQuery UI -->
        <script src="elrte-1.2/js/jquery-1.4.4.min.js" type="text/javascript" charset="utf-8"></script>
        <script src="elrte-1.2/js/jquery-ui-1.8.7.custom.min.js" type="text/javascript" charset="utf-8"></script>
        <link rel="stylesheet" href="elrte-1.2/css/smoothness/jquery-ui-1.8.7.custom.css" type="text/css" media="screen" charset="utf-8">
    
        <!-- elRTE -->
        <script src="elrte-1.2/js/elrte.min.js" type="text/javascript" charset="utf-8"></script>
        <link rel="stylesheet" href="elrte-1.2/css/elrte.min.css" type="text/css" media="screen" charset="utf-8">
    
        <!-- elRTE translation messages -->
        <script src="elrte-1.2/js/i18n/elrte.fa.js" type="text/javascript" charset="utf-8"></script>
    
        <script type="text/javascript" charset="utf-8">
            $().ready(function() {
                var opts = {
                    cssClass : 'el-rte',
                    lang     : 'fa',
                    height   : 300,
                    toolbar  : 'normal',
                    cssfiles : ['elrte-1.2/css/elrte-inner.css']
                }
                $('#editor').elrte(opts);
            })
            
            $().ready(function() {
                var opts = {
                    cssClass : 'el-rte',
                    lang     : 'fa',
                    height   : 300,
                    toolbar  : 'normal',
                    cssfiles : ['elrte-1.2/css/elrte-inner.css']
                }
                $('#more').elrte(opts);
            })
        </script>
    </head>
    <body>
    این کد ها شامل کد های قالب و کد های html ,java مربوط به ادیتور هست. که قراره داخل textarea ها لود بشه

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

    کد های php شامل ارسال و ویرایش خبر:

    کد PHP:
    if ( isset($_POST['go']) && ($_POST['go'] == "add") )
    {
        include 
    "config.php";
        
    $add mysql_query ("INSERT INTO `news` VALUES ('', '".$_POST['newstitle']."', '".$_POST['newscontent']."', '".$_POST['newsfullcontent']."', '".mktime()."')");
        if ( 
    $add )
        {
            
    $status '<div class="ok">خبر با موفقیت ارسال شد</div>';
        }
        else { 
    $status '<div class="error">مشکلی در ارسال خبر وجود دارد. دوباره امتحان کنید</div>'; }

    ما در ابتدا بررسی میکنیم که اگر از فرم ارسال خبر go ارسال شد و همچنین این go برابر با add بود اون وقت مقدار های داخل فرم که شامل عنوان خبر newstitle و متن خبر newscontent و همچنین ادامه مطلب newsfullcontent هست به ترتیب بریز داخل table خبر که همون news باشه

    بعدش به وسیله متغیر add میتونیم بفهمیم که مقدار ها ریخته شده داخل دیتابیس یا نه. در اینجا شرط میزاریم براش که اگه خبر ارسال شده بود پیغام " خبر با موفقیت ارسال شد " رو بریز تو متغیر status
    در غیر اینصورت مقدار "مشکلی در ارسال خبر وجود دارد. دوباره امتحان کنید" رو بریز داخل متغیر status

    متغیر status قراره بعد از ارسال موفقیت امیز یا مشکل دار هر خبر چاپ بشه...
    --------------

    ویرایش خبر:
    کد PHP:
    elseif ( isset($_POST['go']) && ($_POST['go'] == "edit") )
    {
        include 
    "config.php";
        
    $edit mysql_query ("UPDATE `news` SET `title` = '".$_POST['newstitle']."', `content` = '".$_POST['newscontent']."', `fullcontent` = '".$_POST['newsfullcontent']."' WHERE `id` = '".$_POST['id']."' LIMIT 1");
        if ( 
    $edit )
        { 
        
    $status '<div class="ok">خبر با موفقیت ویرایش شد</div>'
        }
        else { 
    $status '<div class="error">مشکلی در ویرایش ثبت خبر وجود دارد.دوباره امتحان کنید</div>'; }

    این قسمت بعد از شرط ارسال خبر اجرا میشه! یعنی اگه کاربر به جای add که همون ارسال خبر باشه از فرم مقدار edit اومد دستورهای زیر رو اجرا کن. یعنی: مقدار های عنوان خبر, متن خبر و ادامه مطلب رو بر اساس id اون خبر آپدیت کن(جایگزین کن)

    در اینجا ما از طریق متغیر edit میتونیم بفهمیم که با موفقیت خبر اپدیت شد یا نه؟
    میگیم در صورتی که خبر تو دیتابیس در جدول news آپدیت شد متغیر status برابر هست با "خبر با موفقیت ویرایش شد" در غیر اینصورت "مشکلی در ویرایش ثبت خبر وجود دارد.دوباره امتحان کنید" وارد status میشه
    همون طور که گفتم status بعدا برای مدیر نمایش داده میشه


    ادامه در تاپیک بعدی...
    rishsefid, iPersianScript, mehritc و 1 نفر دیگر این مطلب را می پسندند.
    [Only registered and activated users can see links. ]
    ============================

    | [Only registered and activated users can see links. ] | [Only registered and activated users can see links. ] | [Only registered and activated users can see links. ]


  13. 11 کاربر به دلیل پست مفید Mohammad از وی تشکر کرده اند:


  14. Top | #7

    مدیر انجمن

    تاریخ عضویت
    06.04.2008
    محل سکونت
    نیشابور
    نوشته ها
    3,241
    زبان برنامه نویسی
    PHP
    سیستم مدیریت محتوا
    وردپرس
    سیستم مددیریت انجمن
    vBulletin

    رتبه
    45 
    تجربه
    4,869,805
    تشکر
    941
    تشکر شده 949 بار در 468 پست

    پیش فرض

    -------------------
    حالا چطور هر خبر رو برای ویرایش از دیتابیس فراخوانی کنیم؟
    اینطوری:
    کد PHP:
    if ( isset($_GET['editnews']) && ($_GET['editnews'] !== "") )
    {
        include 
    "config.php";
        
    $Query mysql_query("SELECT * FROM `news` WHERE `id` = '".intval($_GET['editnews'])."' LIMIT 1");
        
    $row_news mysql_fetch_array($Query);

    در اینجا میگیم در صورتی که کاربر بوسیله get مقدار editnews رو برای ما فرستاد و همچنین editnews ارسال شده خالی نبود اون وقت اون مقدار editnews که عدد (id) خبر تو دیتابیس هست رو از داخل تیبل نمایش بده!

    حالا کجا نمایش بده؟
    داخل value یا همون مقدار فرم ما.
    چطوری؟
    اینطوری:

    کد PHP:
    <div class="content">

    <div class="top-text">ارسال خبر جدید</div>
        <?php echo $status?>
        <div class="forms">                        
        <form method="post" action="">
        <input type="hidden" name="go" value="<?php echo (isset($row_news)) ? "edit" "add"?>">
        <?php echo (isset($row_news)) ? '<input type="hidden" name="id" value="'.$row_news['id'].'">' ''?>
        <label for="username"> عنوان خبر : </label>
        <input name="newstitle" type="text" value="<?php echo $row_news['title']; ?>" class="form" />
        <br  /><br  /><br  />
        <label for="content"> خلاصه خبر : </label>
        <textarea name="newscontent" rows="10" cols="80" id="editor"><?php echo $row_news['content']; ?></textarea>
        <br /><br /><br /><br />
        <label for="fullcontent"> ادامه مطلب : </label>
        <textarea name="newsfullcontent" rows="10" cols="80" id="more"><?php echo $row_news['fullcontent']; ?></textarea>
        <br /><br /><br /><br />
        <input type="submit" value="ارسال خبر" name="submit">
        </form>
        </div>

        </div>
    ما در ابتدا برای نمایش وضعیت خبر ارسال شده یا ویرایش شده status رو چاپ میکنیم تا مدیر از وضعیت خبر ارسالی آگاه باشه

    بعد ما دو فیلد مخفی "hidden" داریم که یکی برای اون دستورات php مشخص میکنیم این مقدار های ارسال شده برای ویرایش خبر هست یا ارسال خبر جدید
    فیلد دیگه id خبر رو مشخص میکنه (در صورتی که ما بخوایم یک خبر رو ویرایش کنیم)

    سوالاتی که ممکنه براتون پیش بیاد:

    1.row_news چیه؟
    این متغیر ردیف هر فیلد رو برامون نمایش میده. این قسمت برای ویرایش خبر کاربرد داره. یعنی ما وقتی بخوایم خبر رو ویرایش کنیم باید مقدار های قبلیش رو ببینیم دیگه؟ برای همین مثلا در مقدار value عنوان خبر مینویسیم
    کد PHP:
    $row_news['title']; 
    در آخرین خط فایل addnews.php هم ما شرط مدیر رو میبندیم (همون کدی که اول وارد کردیم تا بررسی کنیم مدیر وارد شده یا نه)

    کد PHP:
    <?php } else { header ("location: index.php"); } ?>


    دانلود پروژه تا جایی که انجام دادیم به همراه ادیتور: پیوست شد
    فایل های پیوست شده فایل های پیوست شده
    rishsefid, shamimi, Arda و 2 نفر دیگر این مطلب را می پسندند.
    [Only registered and activated users can see links. ]
    ============================

    | [Only registered and activated users can see links. ] | [Only registered and activated users can see links. ] | [Only registered and activated users can see links. ]


  15. 12 کاربر به دلیل پست مفید Mohammad از وی تشکر کرده اند:


  16. Top | #8

    مدیر انجمن

    تاریخ عضویت
    06.04.2008
    محل سکونت
    نیشابور
    نوشته ها
    3,241
    زبان برنامه نویسی
    PHP
    سیستم مدیریت محتوا
    وردپرس
    سیستم مددیریت انجمن
    vBulletin

    رتبه
    45 
    تجربه
    4,869,805
    تشکر
    941
    تشکر شده 949 بار در 468 پست

    پیش فرض نمایش لیست اخبار, حذف خبر

    بخش هفتم

    مبحث: نمایش لیست اخبار, حذف خبر
    ---

    در این قسمت میخوایم اخباری رو که ارسال کردیم به صورت لیست شده نمایش بدیم! و همچنین خبر های دلخواه رو حذف کنیم.



    کد فایل news.php (کد این مرحله) به شرح زیر هست.

    کد PHP:
    <?php
    session_start
    ();
    if ( isset(
    $_SESSION['user']) ) {
    if ( (isset(
    $_GET['logout'])) && ($_GET['logout'] == "true") )
    {
    unset (
    $_SESSION['user']);
    header ("Location: index.php");
    }
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title> مدیریت سایت -  مدیریت اخبار</title>
    <link href="files/style.css" rel="stylesheet" type="text/css">
    </head>
    <body>

    <?php
    include "config.php";
    if ( isset(
    $_GET['delete']) && !empty($_GET['delete']) )
    {
        
    $del mysql_query ("DELETE FROM `news` WHERE `id` = '".intval($_GET['delete'])."' LIMIT 1");
        if ( 
    $del )
        {
            
    $status '<div class="ok">خبر انتخاب شده با موفقیت از سایت حذف شد</div>';
        }
        else
        {
            
    $status '<div class="error">مشکلی در حذف خبر وجود دارد!دوباره امتحان کنید</div>';
        }
    }
    ?>

    <div id="main">
    <img src="files/header.jpg" border="0">
    <div class="navbar">
    <ul>
        <li><a href="home.php">داشبورد</a></li>
        <li><a href="../index.php" target="_blank">نمایش سایت</a></li>
    </ul>
    </div>
    </div>
      
        
            <div id="sidebar">
            <ul>
            <li><a href="home.php">داشبورد</a></li>
            <li><a href="addnews.php">ارسال خبر جدید</a></li>
            <li><a href="addpage.php">ایجاد صفحه جدید</a></li>
            <li><a href="addlink.php">ارسال لینک جدید</a></li>
            <li><a href="news.php">مدیریت اخبار</a></li>
            <li><a href="pages.php">مدیریت صفحات</a></li>
            <li><a href="links.php">مدیریت لینک ها</a></li>
            <li><a href="homepage.php">مدیریت صفحه نخست</a></li>
            <li><a href="?logout=true"><font color="red">خروج!</font></a></li>

            </ul>
            
        </div>
        


    <div class="content">
    <div class="top-text">مدیریت اخبار</div> 
        <php echo $status;?>
        
        <table id="box-table-a">
        <thead>
        <tr>
        <th scope="col">عنوان خبر</th>
        <th scope="col">تاریخ ارسال</th>
        <th scope="col">ویرایش</th>
        <th scope="col">حذف</th>
        </tr>
        </thead>
        <tfoot>
        <tr>
        <td colspan="3"><em>در حذف کردن اخبار دقت کنید</em></td>
        <td>&nbsp;</td>
        </tr>
        </tfoot>
        <tbody>
        <?php
        $Query 
    mysql_query ("SELECT * FROM `news` ORDER BY `id` DESC");
        while ( 
    $row_news mysql_fetch_array($Query) ) { 
        
    ?>
        <tr>
        <td><?php echo $row_news['title']; ?></td>
        <td><?php echo date("Y/n/d"$row_news['date']) ?></td>
        <td><a href="addnews.php?edit=<?php echo $row_news['id']; ?>"><img src="files/news_edit.png" border="0" title="ویرایش خبر" /></a></td>
        <td><a onclick="if (confirm('ایا از حذف خبر انتخاب شده مطمئن هستید؟')) window.location = '?delete=<?php echo $row_news['id']; ?>';" href="#"><img src="files/news_delete.png" border="0" title="حذف خبر" /></a></td>
        </tr>
        <?php ?>
        </tbody>
        </table>

        </div>
        <div class="clear"></div>
    </div>
    </body></html>
    <?php } else { header ("location: index.php"); } ?>
    توضیحات:

    در ابتدا داریم:

    مثل تمامی فایل های مدیریت, در اینجا هم بررسی میکنیم که کاربر (مدیر) وارد شده یا نه. و کد های معمول html و css

    کد PHP:
    <?php
    session_start
    ();
    if ( isset(
    $_SESSION['user']) ) {
    if ( (isset(
    $_GET['logout'])) && ($_GET['logout'] == "true") )
    {
    unset (
    $_SESSION['user']);
    header ("Location: index.php");
    }
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title> مدیریت سایت -  مدیریت اخبار</title>
    <link href="files/style.css" rel="stylesheet" type="text/css">
    </head>
    <body>
    سپس ما برای حذف خبر این کد ها رو داریم:
    کد PHP:

    <?php
    include "config.php";
    if ( isset(
    $_GET['delete']) && !empty($_GET['delete']) )
    {
        
    $del mysql_query ("DELETE FROM `news` WHERE `id` = '".intval($_GET['delete'])."' LIMIT 1");
        if ( 
    $del )
        {
            
    $status '<div class="ok">خبر انتخاب شده با موفقیت از سایت حذف شد</div>';
        }
        else
        {
            
    $status '<div class="error">مشکلی در حذف خبر وجود دارد!دوباره امتحان کنید</div>';
        }
    }
    ?>
    خط اول php رو آغاز میکنیم.
    در خط دوم ما فایل کانفیگ رو فراخوانی میکنیم.
    در خط سوم ما یک شرط میزاریم. میگیم اگه توسط کاربر به مرورگر delete ارسال شد و همچنین مقدار delete خالی نبود اون وقت میگیم: از جدول news سطری رو که بر اساس مقدار delete میگیریم. (مثلا delete=2) حذف کن! وقتی بهش میگیم delete=2 میره بر اساس id اون خبر. سطر رو حذف میکنه
    در خط های بعد بررسی میکنیم اگه خبر حذف شد بگو خبر حذف شد و اگه حذف نشد بگو خبر حذف نشد!


    --------
    در اینجا ما کد های معمولی html قالب رو داریم:
    کد HTML:
    <div id="main">
    <img src="files/header.jpg" border="0">
    <div class="navbar">
    <ul>
        <li><a href="home.php">داشبورد</a></li>
        <li><a href="../index.php" target="_blank">نمایش سایت</a></li>
    </ul>
    </div>
    </div>
      
        
            <div id="sidebar">
            <ul>
            <li><a href="home.php">داشبورد</a></li>
            <li><a href="addnews.php">ارسال خبر جدید</a></li>
            <li><a href="addpage.php">ایجاد صفحه جدید</a></li>
            <li><a href="addlink.php">ارسال لینک جدید</a></li>
            <li><a href="news.php">مدیریت اخبار</a></li>
            <li><a href="pages.php">مدیریت صفحات</a></li>
            <li><a href="links.php">مدیریت لینک ها</a></li>
            <li><a href="homepage.php">مدیریت صفحه نخست</a></li>
            <li><a href="?logout=true"><font color="red">خروج!</font></a></li>
    
            </ul>
            
        </div>
        
    
    
    <div class="content">
    <div class="top-text">مدیریت اخبار</div> 
        <php echo $status;?>
    --------------

    خب ما در اینجا یک جدول ایجاد میکنیم. که لیست اخبار رو داخل اون نمایش بدیم!


    کد PHP:
       <table id="box-table-a">
        <thead>
        <tr>
        <th scope="col">عنوان خبر</th>
        <th scope="col">تاریخ ارسال</th>
        <th scope="col">ویرایش</th>
        <th scope="col">حذف</th>
        </tr>
        </thead>
        <tfoot>
        <tr>
        <td colspan="3"><em>در حذف کردن اخبار دقت کنید</em></td>
        <td>&nbsp;</td>
        </tr>
        </tfoot>
        <tbody>
        <?php
        $Query 
    mysql_query ("SELECT * FROM `news` ORDER BY `id` DESC");
        while ( 
    $row_news mysql_fetch_array($Query) ) { 
        
    ?>
        <tr>
        <td><?php echo $row_news['title']; ?></td>
        <td><?php echo date("Y/n/d"$row_news['date']) ?></td>
        <td><a href="addnews.php?edit=<?php echo $row_news['id']; ?>"><img src="files/news_edit.png" border="0" title="ویرایش خبر" /></a></td>
        <td><a onclick="if (confirm('ایا از حذف خبر انتخاب شده مطمئن هستید؟')) window.location = '?delete=<?php echo $row_news['id']; ?>';" href="#"><img src="files/news_delete.png" border="0" title="حذف خبر" /></a></td>
        </tr>
        <?php ?>
        </tbody>
        </table>
    ما ابتدا جدول اخبار رو انتخاب میکنیم. و با حلقه while میگیم اخبار رو لیست کن. بر اساس id هر خبر...
    و ما با row_news مقدار هر فیلد رو برمیگردونیم.
    در اخر هم حلقه whileرو میبندیم

    --------------
    در آخر هم (مثل همیشه) شرط بررسی ورود مدیر رو میبندیم
    کد PHP:
        </div>
        <div class="clear"></div>
    </div>
    </body></html>
    <?php } else { header ("location: index.php"); } ?>
    دوستان . از این مرحله به بعد برای ارسال صفحه,ارسال لینک,مدیریت صفحه و مدیریت لینک دقیقا باید همین مراحلی که برای ارسال اخبار رفتیم رو طی کنیم! یعنی هیچ فرقی نداره! فقط باید به جای جدول news که اخبار باشه جدول صفحات و لینک ها رو انتخاب کنیم. تنها ممکنه تعداد فیلد ها تفاوت داشته باشه!

    بنابر این اگه این دو مرحله (صفحه ارسال خبر و صفحه مدیریت اخبار) رو خوب فهمیده باشید بقیه مراحل براتون تکراری هست! و بسیار ساده...



    دانلود پروژه تا این مرحله (مرحله هفتم) - پیوست شد
    فایل های پیوست شده فایل های پیوست شده
    rishsefid, shamimi, Arda و 4 نفر دیگر این مطلب را می پسندند.
    [Only registered and activated users can see links. ]
    ============================

    | [Only registered and activated users can see links. ] | [Only registered and activated users can see links. ] | [Only registered and activated users can see links. ]


  17. 13 کاربر به دلیل پست مفید Mohammad از وی تشکر کرده اند:


  18. Top | #9

    مدیر انجمن

    تاریخ عضویت
    06.04.2008
    محل سکونت
    نیشابور
    نوشته ها
    3,241
    زبان برنامه نویسی
    PHP
    سیستم مدیریت محتوا
    وردپرس
    سیستم مددیریت انجمن
    vBulletin

    رتبه
    45 
    تجربه
    4,869,805
    تشکر
    941
    تشکر شده 949 بار در 468 پست

    Arrow ایجاد جدول صفحات

    ساخت جدول صفحات:

    کد PHP:
    CREATE TABLE `page` (
    `
    idINT NOT NULL AUTO_INCREMENT ,
    `
    titleTEXT NOT NULL ,
    `
    contentTEXT NOT NULL ,
    `
    dateVARCHAR20 NOT NULL ,
    PRIMARY KEY ( `id` )
    TYPE MYISAM
    در اینجا ما مرحله جدید, یعنی مرحله طراحی جدول صفحات رو شروع میکنیم.

    یک تیبل/جدول با نام page ایجاد میکنیم.

    ما قراره در این جدول فیلد های زیر رو داشته باشیم:

    id = شناسه هر خبر (کلید ما هست)
    title = عنوان صفحات
    content = متن صفحات
    date = تاریخ ارسال خبر


    ساخت جدول به پایان رسید. مرحله بعدی ... ایجاد و ارسال صفحه
    rishsefid, Arda, amingroups و 3 نفر دیگر این مطلب را می پسندند.
    [Only registered and activated users can see links. ]
    ============================

    | [Only registered and activated users can see links. ] | [Only registered and activated users can see links. ] | [Only registered and activated users can see links. ]


  19. 12 کاربر به دلیل پست مفید Mohammad از وی تشکر کرده اند:


  20. Top | #10

    مدیر انجمن

    تاریخ عضویت
    06.04.2008
    محل سکونت
    نیشابور
    نوشته ها
    3,241
    زبان برنامه نویسی
    PHP
    سیستم مدیریت محتوا
    وردپرس
    سیستم مددیریت انجمن
    vBulletin

    رتبه
    45 
    تجربه
    4,869,805
    تشکر
    941
    تشکر شده 949 بار در 468 پست

    Lightbulb بخش نهم: ایجاد صفحه جدید

    با درود و تبریک سال نو...

    بخش نهم: ایجاد و ارسال صفحه جدید

    بخش ارسال صفحه (addpage.php) دقیقا شبیه به فایل addnews.php هست! و هیچ تفاوتی نداره. تنها تفاوت اون, وارد کردن (insert) کردن اطلاعات درون جدول صفحات (pages) هست! همین

    سورس کامل صفحه Addpage.php به شرح زیر هست...
    کد PHP:
    <?php
    session_start
    ();
    if ( isset(
    $_SESSION['user']) ) {
    if ( (isset(
    $_GET['logout'])) && ($_GET['logout'] == "true") )
    {
    unset (
    $_SESSION['user']);
    header ("Location: index.php");
    }
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>مدیریت سایت - ایجاد صفحه جدید</title>
    <link href="files/style.css" rel="stylesheet" type="text/css">
    <!-- jQuery and jQuery UI -->
        <script src="elrte-1.2/js/jquery-1.4.4.min.js" type="text/javascript" charset="utf-8"></script>
        <script src="elrte-1.2/js/jquery-ui-1.8.7.custom.min.js" type="text/javascript" charset="utf-8"></script>
        <link rel="stylesheet" href="elrte-1.2/css/smoothness/jquery-ui-1.8.7.custom.css" type="text/css" media="screen" charset="utf-8">

        <!-- elRTE -->
        <script src="elrte-1.2/js/elrte.min.js" type="text/javascript" charset="utf-8"></script>
        <link rel="stylesheet" href="elrte-1.2/css/elrte.min.css" type="text/css" media="screen" charset="utf-8">

        <!-- elRTE translation messages -->
        <script src="elrte-1.2/js/i18n/elrte.fa.js" type="text/javascript" charset="utf-8"></script>

        <script type="text/javascript" charset="utf-8">
            $().ready(function() {
                var opts = {
                    cssClass : 'el-rte',
                    lang     : 'fa',
                    height   : 300,
                    toolbar  : 'normal',
                    cssfiles : ['elrte-1.2/css/elrte-inner.css']
                }
                $('#editor').elrte(opts);
            })
            
            $().ready(function() {
                var opts = {
                    cssClass : 'el-rte',
                    lang     : 'fa',
                    height   : 300,
                    toolbar  : 'normal',
                    cssfiles : ['elrte-1.2/css/elrte-inner.css']
                }
                $('#more').elrte(opts);
            })
        </script>
    </head>
    <body>

    <?php
    if ( isset($_POST['go']) && ($_POST['go'] == "add") )
    {
        include 
    "config.php";
        
    $add mysql_query ("INSERT INTO `page` VALUES ('', '".$_POST['pagetitle']."', '".$_POST['pagecontent']."', '".mktime()."')");
        if ( 
    $add )
        {
            
    $status '<div class="ok">صفحه جدید با موفقیت ثبت شد</div>';
        }
        else { 
    $status '<div class="error">متاسفانه در ایجاد صفحه مشکلی به وجود آمده است! دوباره سعی کنید</div>'; }
    }
    elseif ( isset(
    $_POST['go']) && ($_POST['go'] == "edit") )
    {
        include 
    "config.php";
        
    $edit mysql_query ("UPDATE `page` SET `title` = '".$_POST['pagetitle']."', `content` = '".$_POST['pagecontent']."' WHERE `id` = '".$_POST['id']."' LIMIT 1");
        if ( 
    $edit )
        { 
        
    $status '<div class="ok">تغییرات با موفقیت اعمال شدند.</div>'
        }
        else { 
    $status '<div class="error">متاسفانه مشکلی در ثبت تغییرات وجود دارد</div>'; }
    }
    if ( isset(
    $_GET['editpage']) && ($_GET['editpage'] !== "") )
    {
        include 
    "config.php";
        
    $Query mysql_query("SELECT * FROM `page` WHERE `id` = '".intval($_GET['editpage'])."' LIMIT 1");
        
    $row_page mysql_fetch_array($Query);
    }
    ?>

    <div id="main">
    <img src="files/header.jpg" border="0">
    <div class="navbar">
    <ul>
        <li><a href="home.php">داشبورد</a></li>
        <li><a href="../index.php" target="_blank">نمایش سایت</a></li>
    </ul>
    </div>
    </div>
      
        
            <div id="sidebar">
            <ul>
            <li><a href="home.php">داشبورد</a></li>
            <li><a href="addnews.php">ارسال خبر جدید</a></li>
            <li><a href="addpage.php">ایجاد صفحه جدید</a></li>
            <li><a href="addlink.php">ارسال لینک جدید</a></li>
            <li><a href="news.php">مدیریت اخبار</a></li>
            <li><a href="pages.php">مدیریت صفحات</a></li>
            <li><a href="links.php">مدیریت لینک ها</a></li>
            <li><a href="homepage.php">مدیریت صفحه نخست</a></li>
            <li><a href="?logout=true"><font color="red">خروج!</b></font></a></li>

            </ul>
            
        </div>
        


    <div class="content">

    <div class="top-text">ایجاد صفحه جدید</div> 
        <?php echo $status?>
        <div class="forms">                        
        <form method="post" action="">
        <input type="hidden" name="go" value="<?php echo (isset($row_page)) ? "edit" "add"?>">
        <?php echo (isset($row_page)) ? '<input type="hidden" name="id" value="'.$row_page['id'].'">' ''?>
        <label for="username"> عنوان صفحه : </label>
        <input name="pagetitle" type="text" value="<?php echo $row_page['title']; ?>" class="form" />
        <br  /><br  /><br  />
        <label for="content"> متن صفحه: </label>
        <textarea name="pagecontent" rows="10" cols="80" id="editor"><?php echo $row_page['content']; ?></textarea>
        <br /><br /><br /><br />
        
        <input type="submit" value="ایجاد صفحه" name="submit">
        </form>
        </div>

        </div>
        <div class="clear"></div>
    </div>
    </body></html>
    <?php } else { header ("location: index.php"); } ?>
    زیاد توضیح نمیدم! چون قبلا این مراحل رو رفتیم...

    --------------
    کد های بررسی ورود مدیر:
    کد PHP:
    <?php
    session_start
    ();
    if ( isset(
    $_SESSION['user']) ) {
    if ( (isset(
    $_GET['logout'])) && ($_GET['logout'] == "true") )
    {
    unset (
    $_SESSION['user']);
    header ("Location: index.php");
    }
    ?>
    لایه جلسه که در ابتدای تمامی بخش های مدیریت هست که بررسی می کنه مدیر وارد شده یا نه...

    --------------
    کد های HTML سربرگ (header)

    کد HTML:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>مدیریت سایت - ایجاد صفحه جدید</title>
    <link href="files/style.css" rel="stylesheet" type="text/css">
    <!-- jQuery and jQuery UI -->
        <script src="elrte-1.2/js/jquery-1.4.4.min.js" type="text/javascript" charset="utf-8"></script>
        <script src="elrte-1.2/js/jquery-ui-1.8.7.custom.min.js" type="text/javascript" charset="utf-8"></script>
        <link rel="stylesheet" href="elrte-1.2/css/smoothness/jquery-ui-1.8.7.custom.css" type="text/css" media="screen" charset="utf-8">
    
        <!-- elRTE -->
        <script src="elrte-1.2/js/elrte.min.js" type="text/javascript" charset="utf-8"></script>
        <link rel="stylesheet" href="elrte-1.2/css/elrte.min.css" type="text/css" media="screen" charset="utf-8">
    
        <!-- elRTE translation messages -->
        <script src="elrte-1.2/js/i18n/elrte.fa.js" type="text/javascript" charset="utf-8"></script>
    
        <script type="text/javascript" charset="utf-8">
            $().ready(function() {
                var opts = {
                    cssClass : 'el-rte',
                    lang     : 'fa',
                    height   : 300,
                    toolbar  : 'normal',
                    cssfiles : ['elrte-1.2/css/elrte-inner.css']
                }
                $('#editor').elrte(opts);
            })
            
            $().ready(function() {
                var opts = {
                    cssClass : 'el-rte',
                    lang     : 'fa',
                    height   : 300,
                    toolbar  : 'normal',
                    cssfiles : ['elrte-1.2/css/elrte-inner.css']
                }
                $('#more').elrte(opts);
            })
        </script>
    </head>
    کد های قالب که html هست و همچنین کد های ادیتور پیشرفته ...

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

    کد ها و دستورات شرطی:

    کد PHP:
    <?php
    if ( isset($_POST['go']) && ($_POST['go'] == "add") )
    {
        include 
    "config.php";
        
    $add mysql_query ("INSERT INTO `page` VALUES ('', '".$_POST['pagetitle']."', '".$_POST['pagecontent']."', '".mktime()."')");
        if ( 
    $add )
        {
            
    $status '<div class="ok">صفحه جدید با موفقیت ثبت شد</div>';
        }
        else { 
    $status '<div class="error">متاسفانه در ایجاد صفحه مشکلی به وجود آمده است! دوباره سعی کنید</div>'; }
    }
    elseif ( isset(
    $_POST['go']) && ($_POST['go'] == "edit") )
    {
        include 
    "config.php";
        
    $edit mysql_query ("UPDATE `page` SET `title` = '".$_POST['pagetitle']."', `content` = '".$_POST['pagecontent']."' WHERE `id` = '".$_POST['id']."' LIMIT 1");
        if ( 
    $edit )
        { 
        
    $status '<div class="ok">تغییرات با موفقیت اعمال شدند.</div>'
        }
        else { 
    $status '<div class="error">متاسفانه مشکلی در ثبت تغییرات وجود دارد</div>'; }
    }
    if ( isset(
    $_GET['editpage']) && ($_GET['editpage'] !== "") )
    {
        include 
    "config.php";
        
    $Query mysql_query("SELECT * FROM `page` WHERE `id` = '".intval($_GET['editpage'])."' LIMIT 1");
        
    $row_page mysql_fetch_array($Query);
    }
    ?>
    در اینجا ما باید ورودی داشته باشیم . ورودی رو به وسیله GET میگیریم و به کد ها میگیم چه کار کنن...

    در خط اول php شروع میشه
    در خط دوم میگیم در صورتی که go ارسال شد و مقدار این go برابر با add بود. مقادیر ورودی رو insert (بریز داخل) جدول اخبار

    و بعد میگیم اگه با موفقیت انجام شد جمله ی "صفحه جدید با موفقیت ثبت شد" رو بریز داخل status...
    همون طور که میدونید این status قراره چاپ بشه و بگه که آیا صفحه ایجاد شد یا نه...

    در صورتی که با موفقیت انجام نشد مقادیر "متاسفانه در ایجاد صفحه مشکلی به وجود آمده است! دوباره سعی کنید" رو بریز داخل status

    --
    در خط بعدی میگیم. در صورتی که کاربر go رو زده بود! ولی مقدار go برابر با edit بود. مقادیر گرفته شده از فرم رو بروز رسانی کن (update کن)
    این قسمت برای ویرایش صفحه هست...

    وضعیت رو هم میریزیم داخل status که بعدا به کاربر بگیم که صفحه ویرایش شده یا نه...


    در قسمت آخر یک شرط دیگه ای میزاریم برای صدا کردن اون صفحه (برای ویرایش کردن اون صفحه به کار میره)



    ادامه در تاپیک بعدی...
    rishsefid, Karim1504, Arda و 5 نفر دیگر این مطلب را می پسندند.
    [Only registered and activated users can see links. ]
    ============================

    | [Only registered and activated users can see links. ] | [Only registered and activated users can see links. ] | [Only registered and activated users can see links. ]


  21. 10 کاربر به دلیل پست مفید Mohammad از وی تشکر کرده اند:


صفحه 1 از 2 12 آخرینآخرین

کلمات کلیدی این موضوع

علاقه مندی ها (Bookmarks)

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  

لینک های سریع
تمامی حقوق مطالب و تصاویر محفوظ است، نقل و استفاده از آنها در سایت ها و نشریات تنها با ذکر منبع مجاز میباشد .
پرشین اسکریپت توسط سرور های قدرتمند PersianWhois میزبانی می شود .

SEO by vBSEO 3.6.0