我当前正在创建的网站存在问题,我需要为每个用户提供一个表,但它不起作用。我尝试在注册或第一次登录期间创建一个表,这也有效。我的问题是表的命名,因为我希望表具有以下名称。“user_1” “用户”是固定的,数字应该是用户的ID。它应该是这样的,表用户工作没有问题,但其他表不工作。
用户
用户_
用户
用户_1
用户_2
+----+--------------+-----------+------------------+---------------|
| id | first name | last name | email | password |
+------------------------------------------------------------------+
| 1 | user1 | user1 | user1@gmail.com | password Hash||
+------------------------------------------------------------------+
| 2 | user2 | user2 | user2@gmail.com | passowrd Hash |
+----+--------------+-----------+------------------+---------------+
我之前的机会: 到目前为止我已经尝试过如果注册成功就创建表。这是我可以创建表的错误,但它以“user_”名称创建了它。“id”被简单地省略,所以我可以创建一个表。
使用第二种方法,我尝试在注册期间在表中存储“False”值,并在登录期间检查该值是否为“False”,如果是,则将该值更改为“True”并创建表。但在这里我遇到了与第一次尝试相同的问题,即没有给我 ID。
我的代码:registration.php:
//Keine Fehler, wir können den Nutzer registrieren
if(!$error) {
$passwort_hash = password_hash($passwort, PASSWORD_DEFAULT);
$statement = $pdo->prepare("INSERT INTO users (email, passwort, vorname, nachname) VALUES (:email, :passwort, :vorname, :nachname)");
$result = $statement->execute(array('email' => $email, 'passwort' => $passwort_hash, 'vorname' => $vorname, 'nachname' => $nachname));
if($result) {
$pdo = new PDO('mysql:host=localhost;dbname=fitnessstats', 'root', '');
if(isset($_GET['login'])) {
$email = $_POST['email'];
$passwort = $_POST['passwort'];
$statement = $pdo->prepare("SELECT * FROM users WHERE email = :email");
$result = $statement->execute(array('email' => $email));
$user = $statement->fetch();
繁花如伊
猛跑小猪