-2
Ich habe den Fehler unerwartete $ dbconn, wenn ich diesen Code ausführen, aber ich habe den Code für $ dbconn und ich habe keine Ahnung, warum schrieb ....
hier meine user.php mit Login-Datenbank und Benutzer-Tabelle.
<?php
define('DB_NAME','login');
define('DB_SERVER','localhost');
define('DB_USERNAME','root');
define('DB_PASSWORD','');
class User{
$dbConn = new PDO("mysql:host=".DB_SERVER.";dbname=".DB_NAME,DB_USERNAME,DB_PASSWORD);
$dbConn->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
public function Login($name, $password){
if(!empty($name) && !empty($password)){
$statement = $dbConn->prepare("select * from users where name=? and password=?");
$statement->bindParam(1, $name);
$statement->bindParam(2, $password);
$statement->execute();
if($statement->rowCount() == 1){
echo "User verified, Access granted.";
}else{
echo "Incorrect username or password";
}
}else{
echo "Please enter username and password";
}
}
}
?>
Im Folgenden sind die index.php
<?php
include_once('user.php');
if(isset($_POST['submit'])){
$name = $_POST['user'];
$password = $_POST['password'];
$object = new User();
$object->Login($name, $password);
}
?>
<html>
<head>
</head>
<body>
<form method="post" action="index.php">
Username: <input type="text" name="user">
Password: <input type="text" name="password">
<input type="submit" name="submit" value="Login">
</form>
</body>
</html>
mir jemand bei meinem Problem helfen? Danke und viel zu schätzen.
Nebenbei bemerkt: Der Code, den Sie gepostet in Bezug auf Passwörter; Ist das live oder in einer Live-Umgebung so wie es ist? Sie erkennen, dass das selbst mit einer vorbereiteten Aussage nicht sicher ist. –
Versuchen Sie, den Code, der $ dbConn definiert, innerhalb der Login-Funktion zu setzen, nur um zu testen, ob es funktioniert. Dann kann es ein Problem mit dem Umfang sein. Möglicherweise müssen Sie innerhalb der Funktion global $ dbConn oder etwas Ähnliches verwenden, wenn $ dbConn außerhalb davon deklariert ist? –