stworzyłem klasę querries
class querries { const SELECT_USER_LOGIN = 'SELECT * FROM ex_users WHERE user_login = \'loginUsera\''; //. stripslashes($nazwaUser) . }
a także klasę User
include_once( 'class.dataSource.php' ); include_once( 'class.querries.php' ); class user { var $userLogin, $userPaswd, $userLevel; public function __construct( $userLogin, $userPaswd ) { $this->userLogin = $userLogin; $this->userPaswd = $userPaswd; } public function registerUser() { $connection = new dataSource(); $dbh = $connection->getConnection(); $dbh->beginTransaction(); $stmt = $dbh->prepare( querries::SELECT_USER_LOGIN ); $stmt->execute(); while ( $row = $stmt->fetch() ) { } }
używam tak
include_once( 'class.user.php' ); // przyjdą POSTem $nazwaUser = 'kcwiklak'; $hasloUser = 'dupa'; $userReg = new user( $nazwaUser, $hasloUser ); $userReg->registerUser();
w takiej postaci działa jak bym chciał ale na sztywno podaję userLogin. Jak zmienić w querries abym mógł w klasie users dodawać parametry? i może jeszcze jedno jak w takim kodzie przypisać dane usera do sesji?
poradziłem sobie tak modyfikując klasę querries
class querries { const SELECT_USER_LOGIN = "SELECT * FROM ex_users WHERE user_login = %s"; //. stripslashes($nazwaUser) . }
i klasę user
public function registerUser($userLogin, $userPaswd) { $connection = new dataSource(); $dbh = $connection->getConnection(); $dbh->beginTransaction(); $stmt->execute(); while ( $row = $stmt->fetch() ) { } }
z tym, że nie do końca działa bo user_login to string i muszę go w uszy w zapytaniu zapakować.
Ma ktoś może sprytny sposób jak to fajnie w sesje zapakować? cały wynik zapytania - wszystkie dane usera.