سلام ، آیا این بازدید اول شماست ؟ یا
نمایش نتایج: از شماره 1 تا 6 , از مجموع 6

موضوع: استفاده از session بین جوملا و اسکریپت php

Hybrid View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1
    Team
    تاریخ عضویت
    Jun 2011
    محل سکونت
    تهران
    نوشته ها
    3,035
    تشکر
    351
    تشکر شده 1,221 بار در 1,047 ارسال
    این درسته که جوملا session ها ریست میکنه ولی مکانیزمی داره که شما نیازی به value نشست نخواهید داشت
    با استفاده از
    کد:
    if ($user->guest)
    میتونید مشخص کنید که کاربر login کرده یا خیر.
    (اگر نیاز به value داشته باشید به این صورت
    کد:
    $session =& JFactory::getSession();
    $session->set('name', "value");
    میتونید به اون دسترسی داشته باشید)

    اما راه حل مشکل شما :
    کد:
    $user =& JFactory::getUser();
    if (!$user->guest) {
            // YOU'r Bussiness logic
     }else{
        header("Location: YOUR LOGIN PAGE.php");
     }

    جهت مشاهده لینک ها باید ثبت نام کنید یا لاگین کنید.


  2. # ADS
    تبلیغات در جوملا فارسی
    تاریخ عضویت
    Always
    محل سکونت
    Advertising world
    نوشته ها
    Many
     

  3. #2

    تاریخ عضویت
    Dec 2011
    نوشته ها
    59
    تشکر
    9
    تشکر شده 7 بار در 7 ارسال
    راه حل پیشنهادی شما توی لینکی که گذاشتم اومده ولی برای من جواب نداد.

    کد من همچین چیزیه:
    کد:
    <?php
    //اینجا متغیر خودمو بررسی می کنم که ست شده یا خیر
    //اگه ست نشده باشه میره سراغ جوملا و اگه ست شده باشه اسکریپتی که خودم نوشتم اجرا می شه
    if (!isset($_SESSION['started']))
    {
        $started = $_SESSION['started'];
        // Set flag that this is a parent file.
        define('_JEXEC', 1);
        define('DS', DIRECTORY_SEPARATOR);
    
        if (file_exists(dirname(__FILE__) . '/defines.php')) {
            include_once dirname(__FILE__) . '/defines.php';
        }
        
        if (!defined('_JDEFINES')) {
            define('JPATH_BASE', dirname(__FILE__));
            require_once JPATH_BASE.'/includes/defines.php';
        }
        
        require_once JPATH_BASE.'/includes/framework.php';
        
        
        // Mark afterLoad in the profiler.
        JDEBUG ? $_PROFILER->mark('afterLoad') : null;
        
        //    (۱)
        //    ست کردن مقدار در نشست جوملایی
        if(isset($started))
        {
            $session =& JFactory::getSession();
            $session->set( 'started', $started );
        }
    
        
        // Instantiate the application.
        $app = JFactory::getApplication('site');
        
        // Initialise the application.
        $app->initialise();
        
        // Mark afterIntialise in the profiler.
        JDEBUG ? $_PROFILER->mark('afterInitialise') : null;
        
        // Route the application.
        $app->route();
        
        // Mark afterRoute in the profiler.
        JDEBUG ? $_PROFILER->mark('afterRoute') : null;
        
        // Dispatch the application.
        $app->dispatch();
        
        // Mark afterDispatch in the profiler.
        JDEBUG ? $_PROFILER->mark('afterDispatch') : null;
        
        // Render the application.
        $app->render();
        
        // Mark afterRender in the profiler.
        JDEBUG ? $_PROFILER->mark('afterRender') : null;
        
        // Return the response.
        echo $app;
        
    }
    else    // اگه مقدار گرفته باشه این کار رو انجام بده
    {
    //    (۲)
        $_SESSION['started'] = 1;
        echo "started!";
    }
    ?>
    بعد توی یکی از ماژولهای جوملا همچین اسکریپتی دارم که مقدار msg رو از توی نشست جوملایی می خونه و اگه مقدار داشت ازش استفاده می کنه:
    کد:
    <?php
    defined('_JEXEC') or die;
    JHtml::_('behavior.keepalive');
    define('_JEXEC', 1);
    define('DS', DIRECTORY_SEPARATOR);
    $session =& JFactory::getSession();
    $started = $session->get( 'started' );
        if(isset($started))
        {
            switch ($started)
            {
                case 1:
                    // some code
                    break;
    
                case 2:
                    // some code else
                    break;
    
                case 3:
                    // another some code
                    break;
    
                default:
                    // Do nothing
            }
            }
    // و ادامه اسکریپت ...
    ?>
    اما مشکل اینه که توی ماژول (یعنی همین کد آخری) همواره "ست نشده" باقی می مونه!
    ویرایش توسط farajian86 : 02-21-2012 در ساعت 03:37 PM

    جهت مشاهده لینک ها باید ثبت نام کنید یا لاگین کنید.


موضوعات مشابه

  1. آموزش نحوه استفاده از اسکریپت ها
    توسط mehrdad22 در انجمن سوالهای عمومی مامبو فارسی
    پاسخ ها: 5
    آخرين نوشته: 02-04-2012, 03:46 AM
  2. مشکل در استفاده از اسکریپت انقال فایل
    توسط hapoogoon در انجمن سوالهای عمومی جوملا 1.5 فارسی
    پاسخ ها: 1
    آخرين نوشته: 02-28-2011, 03:53 PM
  3. استفاده از اسکریپت های آماده MooTools
    توسط yaser1 در انجمن قالب های مامبو فارسی
    پاسخ ها: 4
    آخرين نوشته: 04-07-2008, 11:36 PM
  4. استفاده از جاوا اسکریپت در مامبو
    توسط boglado در انجمن سوالهای عمومی مامبو فارسی
    پاسخ ها: 1
    آخرين نوشته: 12-31-2007, 09:36 AM

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

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

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

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