Yii Framework Forum: Membuat Menu Dan Databasenya - Yii Framework Forum

Jump to content

  • (2 Pages)
  • +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

Membuat Menu Dan Databasenya membuat menu dan databasenya Rate Topic: -----

#1 User is offline   hc_2013 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 17
  • Joined: 06-November 13

Posted 06 November 2013 - 03:37 AM

mt sore para master yii................
saya newbie dan ingin sekali untuk belajar yii.....
yang saya mo tanyakan, gimana sih menghubungkan menu ke database? soalnya saya udah ikutin tutorialnya dan gak ada masalah, tapi saya masih bingung menghubungkan menu dengan database, maksud saya supaya bisa membuat website yang dinamis.
0

#2 User is offline   rei 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 309
  • Joined: 10-November 10
  • Location:Cimahi

Posted 09 November 2013 - 11:40 PM

View Posthc_2013, on 06 November 2013 - 03:37 AM, said:

yang saya mo tanyakan, gimana sih menghubungkan menu ke database? soalnya saya udah ikutin tutorialnya dan gak ada masalah, tapi saya masih bingung menghubungkan menu dengan database, maksud saya supaya bisa membuat website yang dinamis.


Menghubungkan menu ke database di sini kaya gimana, masbro? Mungkin bisa diperjelas pertanyaannya? Lebih bagus lagi kalau ada contoh kasus dan kodenya.
0

#3 User is offline   hc_2013 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 17
  • Joined: 06-November 13

Posted 13 November 2013 - 12:12 AM

View Postrei, on 09 November 2013 - 11:40 PM, said:

Menghubungkan menu ke database di sini kaya gimana, masbro? Mungkin bisa diperjelas pertanyaannya? Lebih bagus lagi kalau ada contoh kasus dan kodenya.




maksud sya ini gan, contoh nya blog demo dari yii, kalau tidak login maka menu sidebarnya tidak muncul, tapi sebaliknya kalau udah login baru menu sidebarnya ada, itu aturnya dimana ya?
Attached File  pertanyaan.jpg (137.33K)
Number of downloads: 23
0

#4 User is offline   rei 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 309
  • Joined: 10-November 10
  • Location:Cimahi

Posted 13 November 2013 - 01:12 AM

View Posthc_2013, on 13 November 2013 - 12:12 AM, said:

maksud sya ini gan, contoh nya blog demo dari yii, kalau tidak login maka menu sidebarnya tidak muncul, tapi sebaliknya kalau udah login baru menu sidebarnya ada, itu aturnya dimana ya?
Attachment pertanyaan.jpg


Mungkin bro hc bisa liat di 'views/layouts/column2.php':

<?php if(!Yii::app()->user->isGuest) $this->widget('UserMenu'); ?>


Jadi menunya ditampilkan hanya jika user sudah login.
0

#5 User is offline   hc_2013 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 17
  • Joined: 06-November 13

Posted 13 November 2013 - 07:09 AM

View Postrei, on 13 November 2013 - 01:12 AM, said:

Mungkin bro hc bisa liat di 'views/layouts/column2.php':

<?php if(!Yii::app()->user->isGuest) $this->widget('UserMenu'); ?>


Jadi menunya ditampilkan hanya jika user sudah login.


gan saya taro coding :
<?php if(!Yii::app()->user->isGuest) $this->widget('UserMenu'); ?>
di column2.php tapi kemudian muncul erorr ini :

PHP warning

include(UserMenu.php) [<a href='function.include'>function.include</a>]: failed to open stream: No such file or directory

C:\xampp\htdocs\yii\framework\YiiBase.php(423)

411 {
412 include($classFile);
413 if(YII_DEBUG && basename(realpath($classFile))!==$className.'.php')
414 throw new CException(Yii::t('yii','Class name "{class}" does not match class file "{file}".', array(
415 '{class}'=>$className,
416 '{file}'=>$classFile,
417 )));
418 break;
419 }
420 }
421 }
422 else
423 include($className.'.php');
424 }
425 else // class name with namespace in PHP 5.3
426 {
427 $namespace=str_replace('\\','.',ltrim($className,'\\'));
428 if(($path=self::getPathOfAlias($namespace))!==false)
429 include($path.'.php');
430 else
431 return false;
432 }
433 return class_exists($className,false) || interface_exists($className,false);
434 }
435 return true;
Stack Trace

kenapa ya gan?
0

#6 User is offline   rei 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 309
  • Joined: 10-November 10
  • Location:Cimahi

Posted 13 November 2013 - 11:34 AM

Widget UserMenu-nya sudah dibuat gan? Kalau gak salah ada di folder 'protected/components'.

Ngemeng2 kalau agan ngikutin tutorial blog dari Yii, setau ane hasil akhirnya bisa diliat di folder 'demos/blog'. Bisa bandingkan ke situ jika ada yang salah. :)
0

#7 User is offline   hc_2013 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 17
  • Joined: 06-November 13

Posted 13 November 2013 - 10:13 PM

View Postrei, on 13 November 2013 - 11:34 AM, said:

Widget UserMenu-nya sudah dibuat gan? Kalau gak salah ada di folder 'protected/components'.

Ngemeng2 kalau agan ngikutin tutorial blog dari Yii, setau ane hasil akhirnya bisa diliat di folder 'demos/blog'. Bisa bandingkan ke situ jika ada yang salah. :)


ok gan. thx ya sblumnya :)

tp mo tnya lagi dunk gan, klo cara bikin halaman login menjadi halaman pertama, gmn ya? jadinya kayak facebook gitu, orang musti punya username dan password dulu bru bisa login...
0

#8 User is offline   rei 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 309
  • Joined: 10-November 10
  • Location:Cimahi

Posted 14 November 2013 - 05:06 AM

View Posthc_2013, on 13 November 2013 - 10:13 PM, said:

ok gan. thx ya sblumnya


Sama2, gan. Semoga cepat mahir Yii-nya. :lol:

View Posthc_2013, on 13 November 2013 - 10:13 PM, said:

tp mo tnya lagi dunk gan, klo cara bikin halaman login menjadi halaman pertama, gmn ya?


Bisa set defaultAction di SiteController.php:

class SiteController extends Controller
{
    public $defaultAction = 'login';
....
}


dengan catatan actionLogin-nya sudah dibuat.
0

#9 User is offline   hc_2013 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 17
  • Joined: 06-November 13

  Posted 14 November 2013 - 11:05 AM

View Postrei, on 14 November 2013 - 05:06 AM, said:

Sama2, gan. Semoga cepat mahir Yii-nya. :lol:

aminnn gan...slnya belajar yii bru sebulan ini, tapi lumayan ngerti dikit tinggal pahami koding2nya,

Bisa set defaultAction di SiteController.php:

class SiteController extends Controller
{
    public $defaultAction = 'login';
....
}


dengan catatan actionLogin-nya sudah dibuat.


oh gitu ya gan, klo pake login form bawaan bisa gk ya?
0

#10 User is offline   rei 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 309
  • Joined: 10-November 10
  • Location:Cimahi

Posted 14 November 2013 - 08:07 PM

View Posthc_2013, on 14 November 2013 - 11:05 AM, said:

oh gitu ya gan, klo pake login form bawaan bisa gk ya?


Ini maksudnya login form bawaan Yii, ya? Bisa, gan, nanti tinggal diatur aja waktu render view-nya.
0

#11 User is offline   hc_2013 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 17
  • Joined: 06-November 13

Posted 16 November 2013 - 12:00 AM

View Postrei, on 14 November 2013 - 08:07 PM, said:

Ini maksudnya login form bawaan Yii, ya? Bisa, gan, nanti tinggal diatur aja waktu render view-nya.


iya gan login form yii.... gan sya masukin kode ini <?php echo $this->renderPartial('LoginForm', array('model'=>$model)); ?> di layout/main.php tapi munculnya erorr ini : Parse error: syntax error, unexpected T_PUBLIC in C:\xampp\htdocs\haleluyayii\protected\controllers\SiteController.php on line 12 sedangkan line 12 itu fungsi yg lain.....atau di model dan controlernya jg ada yg diubah?
0

#12 User is offline   rei 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 309
  • Joined: 10-November 10
  • Location:Cimahi

Posted 16 November 2013 - 01:32 AM

View Posthc_2013, on 16 November 2013 - 12:00 AM, said:

iya gan login form yii.... gan sya masukin kode ini <?php echo $this->renderPartial('LoginForm', array('model'=>$model)); ?> di layout/main.php tapi munculnya erorr ini : Parse error: syntax error, unexpected T_PUBLIC in C:\xampp\htdocs\haleluyayii\protected\controllers\SiteController.php on line 12 sedangkan line 12 itu fungsi yg lain.....atau di model dan controlernya jg ada yg diubah?


Bisa diposting kodenya di sini, gan? Mungkin ada kesalahan di bagian deklarasinya?

Cuma ane bingung kenapa render form loginnya di layout? :unsure:
0

#13 User is offline   hc_2013 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 17
  • Joined: 06-November 13

Posted 16 November 2013 - 10:21 AM

View Postrei, on 16 November 2013 - 01:32 AM, said:

Bisa diposting kodenya di sini, gan? Mungkin ada kesalahan di bagian deklarasinya?

Cuma ane bingung kenapa render form loginnya di layout? :unsure:


ini kode siteControler.php gan :

<?php

class SiteController extends Controller
{


public $defaultAction = 'login';
}

/**
* Declares class-based actions.
*/
public function actions()
{
return array(
// captcha action renders the CAPTCHA image displayed on the contact page
'captcha'=>array(
'class'=>'CCaptchaAction',
'backColor'=>0xFFFFFF,
),
// page action renders "static" pages stored under 'protected/views/site/pages'
// They can be accessed via: index.php?r=site/page&view=FileName
'page'=>array(
'class'=>'CViewAction',
),
);
}

/**
* This is the default 'index' action that is invoked
* when an action is not explicitly requested by users.
*/
public function actionIndex()
{
// renders the view file 'protected/views/site/index.php'
// using the default layout 'protected/views/layouts/main.php'
$this->render('index');
}

/**
* This is the action to handle external exceptions.
*/
public function actionError()
{
if($error=Yii::app()->errorHandler->error)
{
if(Yii::app()->request->isAjaxRequest)
echo $error['message'];
else
$this->render('error', $error);
}
}

/**
* Displays the contact page
*/
public function actionContact()
{
$model=new ContactForm;
if(isset($_POST['ContactForm']))
{
$model->attributes=$_POST['ContactForm'];
if($model->validate())
{
$name='=?UTF-8?B?'.base64_encode($model->name).'?=';
$subject='=?UTF-8?B?'.base64_encode($model->subject).'?=';
$headers="From: $name <{$model->email}>\r\n".
"Reply-To: {$model->email}\r\n".
"MIME-Version: 1.0\r\n".
"Content-type: text/plain; charset=UTF-8";

mail(Yii::app()->params['adminEmail'],$subject,$model->body,$headers);
Yii::app()->user->setFlash('contact','Thank you for contacting us. We will respond to you as soon as possible.');
$this->refresh();
}
}
$this->render('contact',array('model'=>$model));
}

/**
* Displays the login page
*/
public function actionLogin()
{
$model=new LoginForm;

// if it is ajax validation request
if(isset($_POST['ajax']) && $_POST['ajax']==='login-form')
{
echo CActiveForm::validate($model);
Yii::app()->end();
}

// collect user input data
if(isset($_POST['LoginForm']))
{
$model->attributes=$_POST['LoginForm'];
// validate user input and redirect to the previous page if valid
if($model->validate() && $model->login())
$this->redirect('index.php?r=user/dashboard');
}
// display the login form
$this->render('login',array('model'=>$model));
}
public function actionAdminLogin()
{
$model=new LoginForm;

// if it is ajax validation request
if(isset($_POST['ajax']) && $_POST['ajax']==='login-form')
{
echo CActiveForm::validate($model);
Yii::app()->end();
}

// collect user input data
if(isset($_POST['LoginForm']))
{
$model->attributes=$_POST['LoginForm'];
// validate user input and redirect to the previous page if valid
if($model->validate() && $model->login1())
if(Yii::app()->user->profile==1)
{
$this->redirect('index.php?r=admin/dashboard');
}
else{
$this->redirect('index.php?r=user/dashboard');
}
}
// display the login form
$this->render('login',array('model'=>$model));
}

/**
* Logs out the current user and redirect to homepage.
*/
public function actionLogout()
{
Yii::app()->user->logout();
$this->redirect(Yii::app()->homeUrl);
}
}

mank render dimana gan? maklum newbie,hehee
0

#14 User is offline   rei 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 309
  • Joined: 10-November 10
  • Location:Cimahi

Posted 16 November 2013 - 08:54 PM

Gan, tutup kurung yang di deklarasi itu untuk akhiran deklarasi kelas. Tinggal dihapus aja.

class SiteController extends Controller
{
   public $defaultAction = 'login';

   /**
    * Declares class-based actions.
    */
   public function actions()
   ..... (kode yang laen)
}

0

#15 User is offline   hc_2013 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 17
  • Joined: 06-November 13

Posted 16 November 2013 - 09:30 PM

View Postrei, on 16 November 2013 - 08:54 PM, said:

Gan, tutup kurung yang di deklarasi itu untuk akhiran deklarasi kelas. Tinggal dihapus aja.

class SiteController extends Controller
{
   public $defaultAction = 'login';

   /**
    * Declares class-based actions.
    */
   public function actions()
   ..... (kode yang laen)
}



gan sya udh coba hapus tapi ttep eror...trs sya coba hapus tanda kurung di kode ini class SiteController extends Controller
{
public $defaultAction = 'login'; erorr nya hilang tapi halaman login nya gak muncul, jadinya kayak biasa aja langsung tampil index nya. kira2 apa lg yg salah ya gan?
0

#16 User is offline   rei 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 309
  • Joined: 10-November 10
  • Location:Cimahi

Posted 17 November 2013 - 04:38 AM

View Posthc_2013, on 16 November 2013 - 09:30 PM, said:

gan sya udh coba hapus tapi ttep eror...


Tanda kurung yang dihapus itu yang di bawah deklarasi $defaultAction, gan. Nanti struktur kodenya jadi mirip dengan yang ane posting sebelumnya.


View Posthc_2013, on 16 November 2013 - 09:30 PM, said:

halaman login nya gak muncul, jadinya kayak biasa aja langsung tampil index nya. kira2 apa lg yg salah ya gan?


View untuk login-nya udah dibuat? Agan akses halaman index itu dari 'localhost/(nama aplikasi)/' atau 'http://localhost/(nama aplikasi)/index.php?r=site/index'? Kalau agan mau supaya halaman 'http://localhost/(nama aplikasi)/index.php?r=site/index' hanya bisa diakses setelah login, ya tinggal tambahin accessRules:

/**
 * @return array action filters
 */
public function filters()
{
   return array(
      'accessControl',
   );
}
    
/**
 * Specifies the access control rules.
 * This method is used by the 'accessControl' filter.
 * @return array access control rules
 */
public function accessRules()
{
   return array(
     array('allow', 
	'actions'=>array('login'),
	'users'=>array('*'),
     ),
     array('allow', 
        'actions'=>array('index'),
        'users'=>array('@'),
     ),
     array('deny',  // deny all users
	'users'=>array('*'),
     ),
   );
}


Kalo sudah pake accessRules, sepertinya sih defaultAction-nya dihilangkan juga gpp, gan.
0

#17 User is offline   hc_2013 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 17
  • Joined: 06-November 13

Posted 17 November 2013 - 06:23 AM

View Postrei, on 17 November 2013 - 04:38 AM, said:

Tanda kurung yang dihapus itu yang di bawah deklarasi $defaultAction, gan. Nanti struktur kodenya jadi mirip dengan yang ane posting sebelumnya.

iya gan udh sya hapus udah ok.


View untuk login-nya udah dibuat? Agan akses halaman index itu dari 'localhost/(nama aplikasi)/' atau 'http://localhost/(nama aplikasi)/index.php?r=site/index'? Kalau agan mau supaya halaman 'http://localhost/(nama aplikasi)/index.php?r=site/index' hanya bisa diakses setelah login, ya tinggal tambahin accessRules:

/**
 * @return array action filters
 */
public function filters()
{
   return array(
      'accessControl',
   );
}
    
/**
 * Specifies the access control rules.
 * This method is used by the 'accessControl' filter.
 * @return array access control rules
 */
public function accessRules()
{
   return array(
     array('allow', 
	'actions'=>array('login'),
	'users'=>array('*'),
     ),
     array('allow', 
        'actions'=>array('index'),
        'users'=>array('@'),
     ),
     array('deny',  // deny all users
	'users'=>array('*'),
     ),
   );
}


Kalo sudah pake accessRules, sepertinya sih defaultAction-nya dihilangkan juga gpp, gan.


sya akses halaman index itu dari 'localhost/(nama aplikasi)/. gan sya masukin kode yang ini udah ok gan. tapi yang hanya bisa diakses setelah login adalah halaman home, about, contact. ketika saya bikin database yang baru ternyata itu gak otomatis ya gan? sya harus nambahin koding apa ya di database sya yg baru supaya diakses setelah login?
0

#18 User is offline   rei 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 309
  • Joined: 10-November 10
  • Location:Cimahi

Posted 17 November 2013 - 08:09 PM

View Posthc_2013, on 17 November 2013 - 06:23 AM, said:

tapi yang hanya bisa diakses setelah login adalah halaman home, about, contact. ketika saya bikin database yang baru ternyata itu gak otomatis ya gan? sya harus nambahin koding apa ya di database sya yg baru supaya diakses setelah login?


Ane gak ngerti ini maksudnya apa? Mungkin agan mau tambahin modul baru dengan tabel dari database? Kalo mau gitu ya paling generate dulu kodenya pake Gii.
0

#19 User is offline   hc_2013 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 17
  • Joined: 06-November 13

  Posted 19 November 2013 - 09:39 AM

View Postrei, on 17 November 2013 - 08:09 PM, said:

Ane gak ngerti ini maksudnya apa? Mungkin agan mau tambahin modul baru dengan tabel dari database? Kalo mau gitu ya paling generate dulu kodenya pake Gii.


gan trims ya udh mau bantuin ane....mo tnya lg dunk, ane kan lagi bkin database siswa, gimana caranya nambahin foto di setiap siswa ya? jadinya ada fasilitas upload foto di setiap nama siswa, bantu dunk gan?
0

#20 User is offline   rei 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 309
  • Joined: 10-November 10
  • Location:Cimahi

Posted 19 November 2013 - 09:30 PM

View Posthc_2013, on 19 November 2013 - 09:39 AM, said:

mo tnya lg dunk, ane kan lagi bkin database siswa, gimana caranya nambahin foto di setiap siswa ya? jadinya ada fasilitas upload foto di setiap nama siswa, bantu dunk gan?


Gan, klo mo nanya untuk topik yang berbeda sebaiknya bikin thread baru. :)

Kalo ane boleh saranin (just saran nih, ya :) ), sebelum posting di forum mendingan cari2 di Google dulu. Biasanya untuk topik2 yang umum udah ada yang buat tutorial ato postingannya. Untuk yang upload foto, contohnya, bisa baca di artikel ini.
0

Share this topic:


  • (2 Pages)
  • +
  • 1
  • 2
  • 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