Hi, ich hatte Probleme beim erstellen eines Login-Systems und meine Frage wäre warum die Variable $pbo nicht erkannt wird obwohl ich mit der Datenbank verbunden bin? Danke für jede Hilfe!
DBC.php:
<?php
$host = 'localhost';
$db = 'test';
$user = 'root';
$pass = '';
$dsn = "mysql:host=$host;dbname=$db";
/* $options = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
];*/
try {
$pdo = new PDO($dsn, $user, $pass);
echo "succcessss";
} catch (\PDOException $e) {
throw new \PDOException($e->getMessage(), (int)$e->getCode());
}
if ($pdo = new PDO($dsn, $user, $pass)) {
echo "connected";
/* $_POST['email'] = $email1;
$_POST['password'] = $password1 ;
$_POST['firstname'] = $firstname1;
$_POST['lastname'] = $lastname1 ;
$_POST['username'] = $username1;
$_POST['telefone'] = $telefone1 ;
$_POST['id'] = $id;
*/
$email = $_POST['email'] ;
$password =$_POST['password'] ;
$firstname =$_POST['firstname'] ;
$lastname=$_POST['lastname'] ;
$username =$_POST['username'] ;
$telefone = $_POST['telefone'] ;
$id = $_POST['id'];
echo "$email";
echo "$dsn";
$pdo = new PDO($dsn, $user, $pass);
$stmt = $pbo->prepare('INSERT INTO users(email, password, firstname, lastname, username, telefone, id) VALUES
email,
assword ,:firstname, :lastname, :username, :telefone, :id)');
$stmt->execute(['email' => $email, 'password' => $password, 'firstname' => $firstname, 'lastname' => $lastname, 'username' => $username, 'telefone' => $telefone, 'id' => $id]);
if ($stmt->execute()) {
$stmt = $pdo->query('SELECT username FROM users WHERE id = $id');
while ($row = $stmt->fetch())
{
echo $row['username'] . "\n";
}
}
else {echo "connectionfaild";}
}
test.php:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<form method="POST" action="DBC.php">
<input type="text" name="email">
<input type="text" name="password">
<input type="text" name="firstname">
<input type="text" name="lastname">
<input type="text" name="username">
<input type="number" name="telefone">
<input type="number" name="id">
<input type="submit" name="1">
</form>
</body>
</html>
DBC.php:
<?php
$host = 'localhost';
$db = 'test';
$user = 'root';
$pass = '';
$dsn = "mysql:host=$host;dbname=$db";
/* $options = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
];*/
try {
$pdo = new PDO($dsn, $user, $pass);
echo "succcessss";
} catch (\PDOException $e) {
throw new \PDOException($e->getMessage(), (int)$e->getCode());
}
if ($pdo = new PDO($dsn, $user, $pass)) {
echo "connected";
/* $_POST['email'] = $email1;
$_POST['password'] = $password1 ;
$_POST['firstname'] = $firstname1;
$_POST['lastname'] = $lastname1 ;
$_POST['username'] = $username1;
$_POST['telefone'] = $telefone1 ;
$_POST['id'] = $id;
*/
$email = $_POST['email'] ;
$password =$_POST['password'] ;
$firstname =$_POST['firstname'] ;
$lastname=$_POST['lastname'] ;
$username =$_POST['username'] ;
$telefone = $_POST['telefone'] ;
$id = $_POST['id'];
echo "$email";
echo "$dsn";
$pdo = new PDO($dsn, $user, $pass);
$stmt = $pbo->prepare('INSERT INTO users(email, password, firstname, lastname, username, telefone, id) VALUES


$stmt->execute(['email' => $email, 'password' => $password, 'firstname' => $firstname, 'lastname' => $lastname, 'username' => $username, 'telefone' => $telefone, 'id' => $id]);
if ($stmt->execute()) {
$stmt = $pdo->query('SELECT username FROM users WHERE id = $id');
while ($row = $stmt->fetch())
{
echo $row['username'] . "\n";
}
}
else {echo "connectionfaild";}
}
test.php:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<form method="POST" action="DBC.php">
<input type="text" name="email">
<input type="text" name="password">
<input type="text" name="firstname">
<input type="text" name="lastname">
<input type="text" name="username">
<input type="number" name="telefone">
<input type="number" name="id">
<input type="submit" name="1">
</form>
</body>
</html>