это сам виджет
Код: Выделить всё
<?php
namespace app\components;
use yii\base\Widget;
use yii\web\CookieCollection;
use yii\widgets\ActiveForm;
use yii\helpers\Html;
use app\models\Users;
use yii;
use app\models\InputFormU;
use yii\web\Request;
class MyWidget extends Widget{
public $uname;
public $upass;
public $uhash;
public $uid;
public $submit1;
public $logini;
public $echo;
function __construct()
{
echo[];
}
public function outp(){
$cookies = \Yii::$app->request->cookies;
$trg=$cookies->get('trigger');
if($trg=='uygiuonlih'){
$uid = $cookies->get('id');
$rows = (new \yii\db\Query())->select(['user_login'])->from('users')->where(['user_id' => $uid])->limit(1)->one();
foreach($rows as $row){
$log=$row;
}
echo "hello".$log;
}elseif($trg!=='uygiuonlih'){
$model= new InputFormU();
$form = ActiveForm::begin(['options' => ['id' => 'LogForm',]]);
echo $form->field($model, 'user_login');
echo $form->field($model, 'user_password');
echo Html::submitButton('Войти', ['name' => 'submiti','class' => 'btn btn-success']);
ActiveForm::end() ;
}
}
public function chek(){
global $uid;
$cookies = \Yii::$app->request->cookies;
$uhash = $cookies->get('hash');
$uid = $cookies->get('id');
if($uhash and $uid) {
$us =(new \yii\db\Query())->select(['user_hash'])->from('users')->where(['user_id' => $uid])->limit(1)->one();
foreach($us as $usr){
$usrr=$usr;
}
if ($uhash == $us->user_hash) {
} else {
$cookies->remove('hash');
$cookies->remove('id');
}
}
}
public function inp(){
global $echo;
$echo[]=123;
$request = Yii::$app->request;
$submiti = filter_input(INPUT_POST, 'submiti');
if(isset( $submiti)){
global $echo;
global $passwordi;
$echo[]=456;
$logini = $request->post('user_login');
$passwordi = $request->post('user_password');
echo "bbbbbbbbbbbbbbbbb $passwordi";
if($logini and $passwordi){
$us =(new \yii\db\Query())->select(['user_password'])->from('users')->where(['user_login' => $logini])->limit(1)->one();
foreach($us as $usr){
$pass=$usr;
}
if(md5(md5($passwordi))==$pass){
global $echo;
$echo[]=789;
$user_hash=generateCode(15);
$uu=(new \yii\db\Query())->select(['user_password','user_id'])->from('users')->where(['user_password' =>md5(mds($this->passwordi))])->limit(1)->one();
$id=$uu->user_id;
$uu->user_hash->update($user_hash);
$cookies = Yii::$app->response->cookies;
$cookies->add(new \yii\web\Cookie([
'hash' => $user_hash,
'id' => $id,
'trigger'=>'uygiuonlih',
]));
}
}
}
}
public function ec(){
global $echo;
global $passwordi;
$cookies = \Yii::$app->request->cookies;
$uhash = $cookies->get('hash');
$uid = $cookies->get('id');
foreach($echo as $ec){
echo " $uhash $uid <a style='color:red'>mmmmmmmmmmmmmmmmmmmmmmmmmmmm".$ec."</>} ";
}
echo "bbbbbbbbbbbbbbbbb $passwordi";
}
}
вот InputFormU
Код: Выделить всё
<?php
/**
* Created by PhpStorm.
* User: Andrey
* Date: 26.03.2016
* Time: 9:32
*/
namespace app\models;
use yii\db\ActiveRecord;
class InputFormU extends ActiveRecord{
public static function tableName(){
return 'users';
}
public function attributeLabels(){
return [
'user_login'=> 'Логин',
'user_password'=> 'Пароль',
];
}
public function rules(){
return [
[ ['user_login', 'user_password'], 'required'],
];
}
}