DR.HTML
شنبه 24 آبان 1393, 20:04 عصر
دوستان من این کلاسرو پیاده کردم و میخوام توی قسمت view میخوام به مقادیرش دسترسی پیدا کنم که البته با $this بهشون دسترسی دارم اما مشکل اینجاست که متغیرهایی که توی متد ها مقدار دهی میشن بدون تغیر میمونه که البته مشکل در صف اجر ا شدنشه میشه بگید چطوری این مشکل رو حل کنم ؟
<?php
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
* Description of test
*
* @author arian
*/
class member {
public $cf;
public $text;
public function __construct() {
$this->cf = new cfg();
require_once 'theme/v1/login.php';
}
public function login($username, $password) {
$salt = $this->getSalt($username);
if ($salt != null) {
$password = md5(md5($password) . $salt);
$exe = $this->cf->prepare('SELECT * FROM `user` WHERE `username`=:username AND password=:password');
$exe->bindParam(':username', $username, PDO::PARAM_STR);
$exe->bindParam(':password', $password, PDO::PARAM_STR);
$exe->execute();
if ($exe->rowCount() == 1)
$this->text = 'yes';
else {
echo 'no';
}
} else {
echo 'user not found';
}
}
private function getSalt($username) {
$exe = $this->cf->prepare('SELECT * FROM `user` WHERE `username`=:username ');
$exe->bindParam(':username', $username, PDO::PARAM_STR);
$exe->execute();
if ($exe->rowCount() != null) {
$salt = $exe->fetchAll();
return $salt[0]['salt'];
}
}
}
مثلا $text رو بدون تغیر تحویل میده در حالی که اگر همون اول مقدار دهیش کنید مقدارشو به راحتی نشون میده
<?php
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
* Description of test
*
* @author arian
*/
class member {
public $cf;
public $text;
public function __construct() {
$this->cf = new cfg();
require_once 'theme/v1/login.php';
}
public function login($username, $password) {
$salt = $this->getSalt($username);
if ($salt != null) {
$password = md5(md5($password) . $salt);
$exe = $this->cf->prepare('SELECT * FROM `user` WHERE `username`=:username AND password=:password');
$exe->bindParam(':username', $username, PDO::PARAM_STR);
$exe->bindParam(':password', $password, PDO::PARAM_STR);
$exe->execute();
if ($exe->rowCount() == 1)
$this->text = 'yes';
else {
echo 'no';
}
} else {
echo 'user not found';
}
}
private function getSalt($username) {
$exe = $this->cf->prepare('SELECT * FROM `user` WHERE `username`=:username ');
$exe->bindParam(':username', $username, PDO::PARAM_STR);
$exe->execute();
if ($exe->rowCount() != null) {
$salt = $exe->fetchAll();
return $salt[0]['salt'];
}
}
}
مثلا $text رو بدون تغیر تحویل میده در حالی که اگر همون اول مقدار دهیش کنید مقدارشو به راحتی نشون میده