Skip to main content

Jangan taruh perintah set_userdata di model

December 19, 2008 by cahyono

cahyono's picture

Saya punya pengalaman dengan session di CI. Semua pasti tahu perintah semacam ini:

$this->session->set_userdata('id', '');

Satu hal yg harus dihindari adalah meletakkan perintah semacam diatas di dalam file model (kalau di controller tidak masalah). Selain akses menjadi lambat juga sessionnya tidak berhasil didefinisikan. Saya baru tahu bbrp bulan yang lalu saat mengerjakan sebuah project.

Kenapa ya? Mungkin ada rekan2 lain yg mengalami hal sama? Sharing dong...

salam CI

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

ane nubi di CI & di PHP

January 11, 2010 by jooti, 2 years 3 weeks ago
Comment: 5814

jooti's picture

ane nubi di CI & di PHP testking N10-003 udah kenal lama cuman sbg sarat aja kl ada proyek yg butuh web base kebanyakan begelu testking 1Y0-A09 t alias berkutat di desktop application, skrng atas tuntutan kerjaan mau nyoba ke web applicatio testking HP0-D04 n CI, Drupal dan temen-temennya

Ada banyak hal yang membuat

January 4, 2010 by richardbowcher, 2 years 4 weeks ago
Comment: 5797

richardbowcher's picture

Ada banyak hal yang membuat seorang lelaki mencintai wanita. Ada yang karena kemolekannya semata. Ada juga karena status sosialnya. Tidak sedikit lelaki menikahi wanita karena wanita itu kaya. Tapi, kata Rasulullah mcdba questions yang beruntung adalah lelaki yang mendapatkan wanita yang faqih dalam urusan agamanya. Itulah wanita dambaan yang lelaki ccie certification shalih.Dari Abu Hurairah, Rasulullah saw. bersabda, “Wanita dinikahi karena empat perkara: karena hartanya, keturunannya, kecantikannya, dan agamanya. Maka, ambillah wanita yang memiliki agama (wanita shalihah), kamu akan beruntung.” asulullah saw. juga menegaskan, “Dunia adalah ccna exam perhiasan, dan perhiasan dunia yang paling baik adalah wanita yang shalihah.” (Muslim, Ibnu Majah, dan Nasa’i).Jadi, hanya lelaki yang tidak berakal yang tidak mencintai wanita shalihah.

controller lain tidak mengenali userdata, kok bisa?

April 30, 2009 by Anonymous, 2 years 40 weeks ago
Comment: 2540

Anonymous's picture

Selamat siang rekan semua,
mu nanya ^^

saya menempatkan set_userdata di CONTROLLER sesaat setelah proses login berhasil,
$this->session->set_userdata('is_login', TRUE);
$this->session->set_userdata($data_session);

saat load VIEW, data session bisa dikeluarkan, misal:
<?=$this->session->userdata('username')?>

problem terjadi ketika saya ingin menggunakan userdata tersebut di CONTROLLER LAIN. data session menjadi tidak terdeteksi. saya coba echo hasilnya 'empty'.

berikut config session saya:
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_encrypt_cookie'] = FALSE;
$config['sess_use_database'] = TRUE;
$config['sess_table_name'] = 'TM_SESSIONS';
$config['sess_match_ip'] = TRUE;
$config['sess_match_useragent'] = FALSE;
$config['sess_time_to_update'] = 300;

load library sudah diauto, dan session memang disimpnkan ke table (oracle XE). Server menggunakan XAMPP. CI versi 1.7.1

Ada saran dari rekan2 untuk menyelesaikan masalah saya?

terimakasih.

ikut saran

March 18, 2009 by Anonymous, 2 years 46 weeks ago
Comment: 242

Anonymous's picture

sebenernya ga ada maslah dalam menulis set_userdata() di mana aj
asalkan jgn lupa menambahkan library session di file autoload.php

...?

January 12, 2009 by chandrajatnika, 3 years 3 weeks ago
Comment: 198

chandrajatnika's picture

saya malah pernah buat model isinya ngoprek2 session gk ada masalah, setelah di-upload juga gk masalah. mungkin ada setting di PHP server anda yg bermasalah...

Model itu untuk database

December 25, 2008 by koes, 3 years 6 weeks ago
Comment: 178

koes's picture

IMHO, sebaiknya model hanya berisi perintah yang berhubungan dengan database. operasi lain yang tidak berhubungan dengan database, sebaiknya dibuat di library.

Menurut User's Guide:

Models are PHP classes that are designed to work with information in your database.

What???

December 20, 2008 by anggie, 3 years 6 weeks ago
Comment: 168

anggie's picture

Maaf, sepertinya anda kurang benar. Walau saya tidak pernah melakukannya (menaruh set_userdata di model), tapi hal itu tidak menutup kemungkinan untuk dilakukan. Saya bereksperimen langsung dengan ini, dan ternyata berhasil tuh...saya berhasil set_userdata di model dan menampilkannya di controller. Everything was OK, no problem found. Saya dah cari di forum CI dan tak ada topik ttg itu. Kalaupun hal ini memang benar (larangan untuk set_userdata di model), pastinya sudah diperingatkan di user_guide CI.
Saya tidak meremehkan Anda, tapi sebuah pertanyaan untuk anda : Apakah anda sudah load library 'session' (di autoload/controller) ?

Tambahan info

December 20, 2008 by cahyono, 3 years 6 weeks ago
Comment: 169

cahyono's picture

Kalau di localhost memang gak masalah krn saya juga developnya di localhost (waktu itu msh pake versi 1.6.2) dan gak mengalami kejanggalan ini. Masalah muncul setelah ditaruh di live server dan diakses lebih dari 40 user. Seminggu setelah launching, klien saya komplain halaman http://www.bobbispolestudio.com.au/index.php?c=bobbi&m=timetable sering tidak bisa diakses alias blank (kadang bisa kadang blank). Setelah saya coba sendiri ternyata benar.
Lalu saya telusuri lagi kode2nya dan kecurigaan muncul di set_userdata. Kemudian saya ubah kodenya, perintah set_userdata saya taruh semuanya di controller. Setelah itu semua beres, gak ada komplain lg dari klien.
Terus terang saya sendiri gak tahu kenapa, makanya saya sharing disini mungkin ada rekan2 lain yg pernah mengalami juga atau tahu sebabnya.

Kejadian itu sudah setengah tahun yg lalu dan sampai skrg saya msh trauma meletakkan set_userdata di model meski sdh pakai versi 1.7.0.

salam CI

in my case, it solved

June 9, 2010 by memordial, 1 year 34 weeks ago
Comment: 7052

memordial's picture

saya baru saja menggunakan ci, pengalaman saya mengalami masalah yang mungkin hampir sama, yaitu ketika mendefinisikan session di model. error yang terjadi di tempat saya yaitu saat menyimpan data di session data berhasil tersimpan di session tapi ketika halaman di refresh data di session kembali kosong. setelah berpusing" ria, solusi untuk masalah saya yaitu saya salah meletakan $this->session->set_userdata() di model. Jangan letakan $this->session->set_userdata() di konstruktor model :)

Boz.. Posting aja

December 30, 2008 by Anonymous, 3 years 5 weeks ago
Comment: 192

Anonymous's picture

Boz..
Posting aja pseudo-codeny biar bisa dianalisa..
Gw jg ngalamin ga tw bug ato bukan.
Gw ngload beberapa model secara bsamaan dn smua model ngload table DB eh tw2 data dr model 1 sm dgn model 2.

Premium Drupal Themes by Adaptivethemes