• 31-01-2013, 21:15:23
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Arkadaşlar selamlar,

    Session içinde tutulan bir veriyi almam ve onu bir değişkene atamam gerekiyor.

    Bu arada session dan veri almak istediğim script opencart ve sürümü 1.5.4

    if ( isset($this->session->data['order_id']) && ( ! empty($this->session->data['order_id']))  ) {
    			$this->session->data['last_order_id'] = $this->session->data['order_id'];
    satırlarında order_id bana gerekli (anladığım kadarıyla session içinde bu veri var)

    buradaki order_id ile gelen değeri bir değişkene atamak istiyorum, bunu nasıl yapabileceğim hakkında fikri olan var mı?

    Teşekkürler
  • 31-01-2013, 21:19:24
    #2
    extract fonksiyonu işini görür
  • 31-01-2013, 21:25:04
    #3
    bana bir örnek kullanım vermeniz mümkün müdür? manuellerden baktım ama bişeye benzetemedim kendiminkinden.

    <? $deneme = $this->session->data['order_id'];
        
     echo $deneme ?>
    şöyle bir deneme yaptım ama

    Notice: Undefined property: Front::$session in /home/www/xxx/catalog/controller/checkout/success.php on line 94Notice: Trying to get property of non-object in /home/www/xxx/catalog/controller/checkout/success.php on line 94

    şeklinde bir hata verdi
  • 31-01-2013, 23:34:01
    #4
    echo '<pre>';
    print_r($_SESSION);
    echo '</pre>';
  • 31-01-2013, 23:37:10
    #5
    bu -> $this->session->data['order_id'] var ise neyi almaya çalışıyorsunuz?
  • 31-01-2013, 23:41:57
    #6
    print_r($_SESSION);
    bunu kullandığım zaman

    Array ( [language] => tr [currency] => TRY [cart] => Array ( [503] => 1 ) [captcha] => f1ddbc [customer_id] => 3 [wishlist] => Array ( [0] => 306 ) [shipping_country_id] => 215 [shipping_zone_id] => 3354 [shipping_postcode] => 34000 [payment_address_id] => 3 [payment_country_id] => 215 [payment_zone_id] => 3354 [shipping_address_id] => 3 [shipping_methods] => Array ( [kargo] => Array ( [title] => ARAS KARGO [quote] => Array ( [kargo] => Array ( [code] => kargo.kargo [title] => Kargo tutarı: [cost] => 0.00TL [tax_class_id] => 9 [text] => 0.00TL ) ) [sort_order] => 1 [error] => ) ) [shipping_method] => Array ( [code] => kargo.kargo [title] => Kargo tutarı: [cost] => 0.00TL [tax_class_id] => 9 [text] => 0.00TL ) [comment] => [payment_methods] => Array ( [bank_transfer] => Array ( [code] => bank_transfer [title] => Banka Havalesi/EFT [sort_order] => 1 ) [payment_method] => Array ( [code] => bank_transfer [title] => Banka Havalesi/EFT [sort_order] => 1 ) [order_id] => 52 )

    şeklinde bir sonuç verdi.

    "[order_id] => 52" bölümünde 52 rakamını bir değişkene atamam lazım.

    <? $deneme = $_SESSION['order_id'];
    echo $deneme; ?>
    dediğim zaman hata alıyorum
  • 31-01-2013, 23:47:01
    #7
    echo '<pre>';
    print_r($_SESSION);
    echo '</pre>';

    olarak yazdır eve sonucu buraya ver.
    Demek ki order_id diğer alt dizi elemanı.
    yukarıdaki kodun çıktısını göster.
    bir de şöyle dene.

    echo $_SESSION['payment_methods']['order_id'];
  • 01-02-2013, 00:08:13
    #8
    digiklan adlı üyeden alıntı: mesajı görüntüle
    echo '<pre>';
    print_r($_SESSION);
    echo '</pre>';

    olarak yazdır eve sonucu buraya ver.
    Demek ki order_id diğer alt dizi elemanı.
    yukarıdaki kodun çıktısını göster.
    bir de şöyle dene.

    echo $_SESSION['payment_methods']['order_id'];
    echo '<pre>';
    print_r($_SESSION);
    echo '</pre>';
    kodunu kullandığımda
    Array
    (
    [language] => tr
    [currency] => TRY
    [cart] => Array
    (
    )

    [captcha] => f1ddbc
    [customer_id] => 3
    [wishlist] => Array
    (
    [0] => 306
    )

    [shipping_country_id] => 215
    [shipping_zone_id] => 3354
    [shipping_postcode] => 34000
    [payment_address_id] => 3
    [payment_country_id] => 215
    [payment_zone_id] => 3354
    [shipping_address_id] => 3
    [last_order_id] => 52
    )

    şeklinde sonuç geliyor.

    echo $_SESSION['payment_methods']['order_id'];
    kodunu kullandığımda

    Notice: Undefined index: payment_methods in
    hatasını veriyor.
  • 01-02-2013, 00:14:09
    #9
    oguzhan306 adlı üyeden alıntı: mesajı görüntüle
    echo '<pre>';
    print_r($_SESSION);
    echo '</pre>';
    kodunu kullandığımda
    Array
    (
    [language] => tr
    [currency] => TRY
    [cart] => Array
    (
    )

    [captcha] => f1ddbc
    [customer_id] => 3
    [wishlist] => Array
    (
    [0] => 306
    )

    [shipping_country_id] => 215
    [shipping_zone_id] => 3354
    [shipping_postcode] => 34000
    [payment_address_id] => 3
    [payment_country_id] => 215
    [payment_zone_id] => 3354
    [shipping_address_id] => 3
    [last_order_id] => 52
    )

    şeklinde sonuç geliyor.

    echo $_SESSION['payment_methods']['order_id'];
    kodunu kullandığımda

    Notice: Undefined index: payment_methods in
    hatasını veriyor.

    Hangi sayfada alacaksan değişkeni o sayfada çalıştıracaksın. Yukarıdaki sayfada order_id yoksa demek ki session da kayıtlı öyle bir değer yok.

    Sanırım order_id sadece success.php dosyasında bulunuyor. success.php dışında order_id değerine ulaşamazsın.