Php PDO简单用户类不起作用

Php PDO简单用户类不起作用,php,pdo,Php,Pdo,我正在尝试创建一个简单的用户类,但是我无法获取数据库中的数据。我尝试了很多不同的代码,现在这里是用户类 namespace MonetizeMedia; class User { private $uid; private $fields; public function __construct() { $this->uid = null; $this->fields = array('username' => '',

我正在尝试创建一个简单的用户类,但是我无法获取数据库中的数据。我尝试了很多不同的代码,现在这里是用户类

namespace MonetizeMedia;

class User {
private $uid;
private $fields;

public function __construct() {
    $this->uid = null;
    $this->fields = array('username' => '',
                          'password' => '');
}

public function __get($field) {
    if($field == 'uid')
    {
        return $this->uid;
    }
    else
    {
        return $this->fields[$field];
    }
}

public function __set($field, $value) {
    if(array_key_exists($field, $this->fields))
    {
        $this->fields[$field] = $value;
    }
}

public function createUser() {
    try {

    $db = new \MonetizeMedia\Database;
    $bcrypt = new \MonetizeMedia\Bcrypt(15);

    $sql = "INSERT INTO users(username, password) VALUES(:username, :password)";

    $stmt = $db->prepare($sql);

    $stmt->bindParam(":username", $username);
    $stmt->bindParam(":password", $bcrypt->hash($password));

    $stmt->execute();

    return "Registration Successful";

    } catch ( PDOException $e ) {
        return $e->getMessage();
    }

}
这是注册页面

<?php

ob_start();
session_start();

include 'classes/user.class.php';

if(isset($_POST['submitted'])) {

$username = $_POST['username'];
$password = $_POST['password'];

$User->username = $username;
$User->password = $password;

if($User->createUser()) {
    echo "DONE!";
}
else
{
    echo "An error occured while creating your account. Please try later.";
    return;
}

}

?>
 <!DOCTYPE html>
 <html>
 <head>

<meta charset="UTF-8" />

<title>Register</title>

 </head>
 <body>

 <form method="post" action="">
 <ul>
<li>
<label for="usn">Username : </label>
<input type="text" name="username" />
</li>

<li>
<label for="passwd">Password : </label>
<input type="password" name="password" />
</li>

<li class="buttons">
<input type="submit" name="register" value="Register" />
</li>

  </ul>
  </form>

 </body>
 </html>

登记
  • 用户名:
  • 密码:

我正在努力学习php和pdo,所以我现在不太擅长

首先,您的表单中没有设置
uid
字段。创建一个名为
的字段,这应该可以实现。你知道你的类必须被包装在PHP标签中,对吗?这些不在您发布的代码中。也就是说,
。我添加了uid字段,在我的代码周围有一个环绕,可能我没有复制,但它仍然不工作;Srobert,您需要打开
display_errors
并设置
error_reporting=E_ALL
。试图开发没有它的代码是疯狂的。php应该告诉您一个致命错误。