Я хочу добавить класс пользователя на свой сайт для входа и регистрации пользователя.
Я закончил со всеми частями, кроме моего соединения в классе, на самом деле у класса есть собственный config.php, но я не могу его использовать.
мой сайт работает и работает с обычными запросами, но конфигурация класса не позволяет выполнять запросы вне класса.
поэтому мне нужно включить свое собственное соединение в класс для использования в качестве $stmt=$pdo->prepare
запросов вне класса.
Я пробовал много вариантов и очень старался, чтобы это сработало, но я терпел неудачу при каждой попытке.
нужна твоя помощь.
вот мой config.php
Class Dbh{
private $servername;
private $username;
private $password;
private $dbname;
private $charset;
protected function Connect(){
$this->servername = "localhost";
$this->username = "localhost";
$this->password = "localhost";
$this->dbname = "localhost";
$this->charset = "UTF-8";
try {
$dsn = "mysql:host=".$this->servername.";dbname=".$this->dbname.";charset=".$this->charset;
$pdo = new PDO($dsn, $this->username, $this->password);
return $pdo;
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
return "Connection Failed!: " . $e->getMessage();
die();
}
}
}
$user = new User();
$user->dbConnect(dsn, username, password);
А вот и моя часть соединения с классом
class User{
/** @var object $pdo Copy of PDO connection */
private $pdo;
/** @var object of the logged in user */
private $user;
/** @var string error msg */
private $msg;
/** @var int number of permitted wrong login attemps */
private $permitedAttemps = 5;
/**
* Connection init function
* @param string $conString DB connection string.
* @param string $user DB user.
* @param string $pass DB password.
*
* @return bool Returns connection success.
*/
public function dbConnect($dsn, $username, $password){
if(session_status() === PHP_SESSION_ACTIVE){
try {
$pdo = new PDO($dsn, $username, $password);
$this->pdo = $pdo;
return true;
}catch(PDOException $e) {
$this->msg = 'Connection did not work out!';
return false;
}
}else{
$this->msg = 'Session did not start.';
return false;
}
}
}