Witam
Zaczynam z PHP i PDO na przykładzie jakiego kursu robie sobie skrypt rejestracji uzytkownika nie mogę wykonać
$regi = $db->prepare("INSERT INTO users(ulogin, uemail, upasword) VALUES (:login, :email, :pass)");
oto moje oba pliki które mam
userClass.php
<?php
$db = "";
class user
{
//database connection
function __construct()
{
try
{
$db = new PDO("mysql:host=localhost;dbname=plearn",'q4rr', 'quar1988');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e)
{
echo $e->getMessage();
}
}
public function register($login, $email, $pass)
{
try
{
$npasword = password_hash($pass, PASSWORD_DEFAULT);
$regi = $db->prepare("INSERT INTO users(ulogin, uemail, upasword) VALUES (:login, :email, :pass)");
$regi->bindparam(":login", $login);
$regi->bindparam(":email", $email);
$regi->bindparam(":pass", $pass);
$regi->execute();
}
catch(PDOException $e)
{
echo $e-getMessage();
}
}
}
?>
kolejny plik reg.php
<?php
require_once('userClass.php');
$user = new User();
if(isset($_POST['register'])){
$login = trim($_POST['login']);
$pass = trim($_POST['pass']);
$email = trim($_POST['email']);
if($login == ""){ echo "Podaj login";}
else if ($email == "") { echo "Podaj email";}
else if ($pass == "") { echo "Podaj haslo";}
else {
try
{
//TUTAJ JEST PROBLEM
$regi = $db->prepare("SELECT ulogin,uemail FROM users WHERE ulogin:login OR uemail:email");
$regi->execute(array(' :login' => $login, ' :email' =>$email));
$row=$regi->fetch(PDO::FETCH_ASSOC);
if($row['ulogin']==$login){ echo "Zmień login";}
else if($row['uemail']==$email){echo "Email już istnieje";}
else {
$user->register($login, $email, $pass);
}
}
catch(PDOException $e)
{
echo $e->getMessage();
}
}
}
?>
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html"; charset=utf-8 />
<title></title>
</head>
<body>
<div id="form_register">
<form action="reg.php" method="POST" />
<fieldset>
<input type="text" name="login" placeholder="Wpisz login" />
<input type="text" name="email" placeholder="Wpisz email" />
<input type="password" name="pass" placeholder="Wpisz haslo" />
<input type="submit" name="register" value="Dodaj konto" />
</fieldset>
</form>
</div>
</body>
</html>
problem pewnie błachy coś pokreciłem ale nie moge skutecznie go naprawić ;/
problem jaki dostaje
Fatal error: Call to a member function prepare() on string in /var/www/html/plearn/reg.php on line 21