Yii Framework Forum: [ASK] Membuat Session Dari Database - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

[ASK] Membuat Session Dari Database membuat session dari tabel user Rate Topic: *---- 1 Votes

#1 User is offline   John_453P 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 88
  • Joined: 24-March 11

Posted 17 April 2011 - 10:35 PM

Para masta yii, saya pengguna yii masih newbie banget nih, baru 3 minggu saya belajar, untuk saat ini saya masih mencoba membuat session dengan tabel user, tapi selalu gagal. Saya mempunya tabel sprti ini:

Nama tabel : tbl_user
---------------------------------------
|UserID | NamaUser | Password | Level |
---------------------------------------
| 1 | Asep | ******** | admin |
| 2 | Tono | ******** | user |
---------------------------------------
Saya ingin mengambil NamaUser sesuai session, kodingnya seperti ini :

$session = new CHttpSession;
$user='SELECT NamaUser FROM tbl_user WHERE UserID=$id'
$session->add('NamaUser',$user);
echo $session->get('NamaUser');

Hasilnya malah seperti ini
SELECT NamaUser FROM tbl_user WHERE UserID=$id
... bagaimana solusinya ya?? :(
0

#2 User is offline   petra 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 218
  • Joined: 20-June 10

Posted 17 April 2011 - 11:46 PM

Biasanya untuk menyimpan data user pakai $session, kita biasanya pake komponen CWebUser di Application,,

tapi untuk ngebetulin yang di atas lebih baik kayak gini...


$namauser = Yii::app()->db->createCommand("SELECT NamaUser FROM tbl_user WHERE UserID=$id")->queryScalar();
$session=new CHttpSession;
$session->open();
$session['username'] = $namauser;
echo $session['username'];


tapi jelas lebih bersih kalau pake CWebUser sih :)
http://www.yiiframew...pi/1.1/CWebUser
0

#3 User is offline   John_453P 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 88
  • Joined: 24-March 11

Posted 18 April 2011 - 08:05 PM

Mr.Petra, sebelumnya terimakasih postingan saya sudah di respon, setelah saya coba memang sudah bisa untuk ambil data user. Dari coding di atas, jika saya masukan &d=1 maka munculnya adalah Asep, kalo &id=2 muncul Tono.
Sebenarnya saya ingin jika pas login (memasukkan username dan password) itu otomatis saya dapat memunculkan username tersebut sesuai dengan pada saat loginnya. Saya kira koding session di atas otomatis register session, tapi ternyata agak sedikit susah pemakaiannya.
Misal :
Jika saya memasukan username= asep dan password=******** maka muncul di halaman home itu username= asep.
Saya sebelumnya pernah bikin dengan PHP prosedural biasa,logikanya session itu di daftarkan di cek_login.php (file yang dituju setelah memasukkan Username dan password, saya jadikan file itu sebagai action di login.php).Tapi kalo di YII saya benar2 masih bingung, karena actionnya tidak begitu jelas karena hanya ada
<?php $form=$this->beginWidget('CActiveForm', array(
	'id'=>'login-form',
	'enableClientValidation'=>true,
	'clientOptions'=>array(
		'validateOnSubmit'=>true,
	),
)); ?>

bagaimana caranya ya, mohon sekali bantuannya? Di bawah ini coding di yiinya. lokasi (protected/views/site/login.php)

<?php
$this->pageTitle=Yii::app()->name . ' - Login';
$this->breadcrumbs=array(
	'Login',
);
?>

<h1>Login</h1>

<p>Please fill out the following form with your login credentials:</p>

<div class="form">
<?php $form=$this->beginWidget('CActiveForm', array(
	'id'=>'login-form',
	'enableClientValidation'=>true,
	'clientOptions'=>array(
		'validateOnSubmit'=>true,
	),
)); ?>

	<p class="note">Fields with <span class="required">*</span> are required.</p>

	<div class="row">
		<?php echo $form->labelEx($model,'username'); ?>
		<?php echo $form->textField($model,'username'); ?>
		<?php echo $form->error($model,'username'); ?>
	</div>

	<div class="row">
		<?php echo $form->labelEx($model,'password'); ?>
		<?php echo $form->passwordField($model,'password'); ?>
		<?php echo $form->error($model,'password'); ?>
		<p class="hint">
			Hint: You may login with <tt>demo/demo</tt> or <tt>admin/admin</tt>.
		</p>
	</div>

	<div class="row rememberMe">
		<?php echo $form->checkBox($model,'rememberMe'); ?>
		<?php echo $form->label($model,'rememberMe'); ?>
		<?php echo $form->error($model,'rememberMe'); ?>
	</div>

	<div class="row buttons">
		<?php echo CHtml::submitButton('Login'); ?>
	</div>

<?php $this->endWidget(); ?>
</div><!-- form -->

0

#4 User is offline   petra 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 218
  • Joined: 20-June 10

Posted 18 April 2011 - 08:47 PM

hooo, berarti belum baca Yii user guidenya toh,,

untuk autentikasi login itu ada class yg namanya CUserIdentity
http://www.yiiframew...1/CUserIdentity

kemudian untuk nyimpen data user di session itu ada class yg namanya CWebUser
http://www.yiiframew...pi/1.1/CWebUser

silakan dibaca dulu guidenya :D

http://www.yiiframew.../id/topics.auth
0

#5 User is offline   John_453P 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 88
  • Joined: 24-March 11

Posted 18 April 2011 - 09:25 PM

hehe...
jadi malu :D
thanks om infonya.. akan saya coba-coba dulu.
0

#6 User is offline   John_453P 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 88
  • Joined: 24-March 11

Posted 19 April 2011 - 01:09 AM

akhirnya bisa juga... :lol:

thanks bgt om... semoga tidak bosan jika ada pertanyaan yuag lain.
Maaf kalo sudah merepotkan.
Salam

Sang Newbie
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users