Banyak Web Developer yang terjebak untuk menggunakan caranya sendiri hanya untuk mendapatkan data yang diinginkannya dari Database. Contoh, di Aplikasi Web yang dibuatnya, dia ingin menampilkan informasi nama lengkap si Pengguna untuk ditampilkan di bagian header, atau pesan sapaan selamat datang kepada si Pengguna dengan menyertakan nama lengkapnya.
Kebanyakan cara yang dilakukan oleh Web Developer adalah dengan melakukan query lagi secara khusus hanya untuk mendapatkan informasi tadi dari tabel users. Tentu saja cara seperti ini sangat tidak disarankan. Mengapa?
Karena di samping boros resource karena membutuhkan query tambahan hanya untuk mendapatkan data tadi, tapi juga akan membutuhkan waktu lebih lama untuk menghubungi Database lalu mengambil data tersebut. Sesuatu yang seharusnya bisa dihindari.
Aplikasi Web yang dihasilkan oleh PHPMaker sudah lama mengantisipasi hal ini. PHPMaker sudah menyediakan sebuah fungsi global yang bernama CurrentUserInfo(“nama_field”) untuk mendapatkan informasi Pengguna berdasarkan sebuah parameter nama field-nya.
Di sinilah cerdiknya PHPMaker, yang langsung mengambil informasi dari tabel users setelah Pengguna berhasil login, sehingga Web Developer tinggal mengoptimalkannya saja.
Katakanlah di table users terdapat field Nama_Awal dan Nama_Akhir, dan Anda sebagai Web Developer ingin mengambil data dari kedua field tadi, maka Anda cukup menggunakan kode PHP seperti ini:
$nama_awal = CurrentUserInfo("Nama_Awal"); $nama_akhir = CurrentUserInfo("Nama_Akhir");
Perlu diketahui bahwa fungsi global tersebut hanya akan mengembalikan nilai jika Pengguna sudah berhasil Login ke Aplikasi Web. Itu artinya, jika Pengguna yang login adalah Administrator yang Anda tentukan dari bagian Administrator Login (Hard-coded), maka fungsi global di atas tidak mengembalikan nilai apapun.
Mudah sekali, bukan? π
hendra mengatakan
Saya coba buat OderMaster dengan isi function Row_Rendered dalam table OrderMaster sbb berikut :
Jika customerID saya buka, kok ada error : Parse error: syntax error, unexpected T_OBJECT_OPERATOR in C:\xampp\htdocs\crm\PreSOMstinfo.php on line 969
Jika Inputdate saya buka, kok ada error :Strict Standards: Creating default object from empty value in C:\xampp\htdocs\crm\PreSOMstinfo.php on line 971
function Row_Rendered() {
$TglInput = date(“Y/m/d”,strtotime(“+1 DAYS”));
$TglKirim = date(“Y/m/d”,strtotime(“+30 DAYS”));
// this->cCustcomerID->EditValue=CurrentUserInfo(“cUser”)
// $this->dInputdate->EditValue=$TglInput;
$this->dDeliveryDate->EditValue=$TglKirim ;
}
Masino Sinaga mengatakan
Apa kode di baris 969 s.d. 971 ?
hendra mengatakan
terima kasih jawab nya
969 $this->cCustcomerID->EditValue=CurrentUserInfo(βcUserβ)
970
971 $this->dInputdate->EditValue=$TglInput;
Jadi jika 2 baris kode saya buka , maka error.
cUser adalah nama field table userlogin
Masino Sinaga mengatakan
Yang baris 969, kurang tanda ; di akhir.
Yakin apakah nama kedua field tersebut sudah benar cCustomerID dan dInputdate? Pastikan tidak ada salah nama field, apalagi sifatnya case-sensitive.
Jika field-nya menggunakan ComboBox, tidak bisa menggunakan EditValue, tapi harus menggunakan CurrentValue. EditValue digunakan jika field-nya Textbox.
hendra mengatakan
yg tanggal karena saya tulis salah , tidak case sensitif pak.
Sekarang tinggal yg user, ini tidak error tapi text box masih blm terisi user login , code saya berikut.
$this->cCustomerID->EditValue=CurrentUserInfo(“cUser”);
User Existing Table :
Table : UserLogin
Login name field :cUser
Kurang apalagi ya pak ?
Masino Sinaga mengatakan
Sudah di-generate belum semua file script termasuk di bagian “Other Files” di jendela “Generate”?
hendra mengatakan
π sudah pak.
Atau bapak punya link contoh, yang bisa saya pelajari ?
Selain cara itu, pakai cara apa ya pak yg bisa saya coba gunakan ?
Masino Sinaga mengatakan
Coba download file project demo yang disediakan oleh PHPMaker di website-nya.
hendra mengatakan
Sudah nemu pak masalahnya. Saya ngikuti contoh table demo phpmaker 11, saya ganti table user, dan menambahkan userlevelpermission & userlevel.
Masino Sinaga mengatakan
Baguslah kalau begitu.
irwan mengatakan
Bagaimana cara mengakses currentuserinfo dari file php yg independen, contoh saya buat file php kosong untuk mengakses currentuserinfo
Masino Sinaga mengatakan
Kan sudah dijawab di forum diskusi PHPMaker?