Hallo,
ich arbeite gerade an einem Login/Registrierungssystem. Dafür nutze ich folgendes Tutorial
https://www.itechempires.com/2016/06...a-object-pdo/o
Auf einer seite (index.php) gibt es das formular zum einloggen/registrieren. dieses wird, sofern das Login-Formular ausgewählt wurde, an login.php mit post gesendet. login.php sieht momentan so aus:
accountHelperClass.php sieht wie folgt aus:
In dbconfig werden String-Konstanten für den Host, Datenbanknamen, Benutzernamen und das Passwort definiert. Außerdem folgende Funktion:
Wenn ich in meiner offline-IDE für PHP diesen Code ausführe (die IDE unterstützt angeblich PDO), kriege ich immer PDOException wegen timeout. Führe ich es online auf meinem Server aus, kriege ich bloß den berüchtigten white screen of death. Ich weiß wirklich nicht mehr weiter, und auf Stack Overflow kam nichts konstruktives zustande... Wäre also für jegliche Hinweise dankbar.
Danke im voraus.
ich arbeite gerade an einem Login/Registrierungssystem. Dafür nutze ich folgendes Tutorial
https://www.itechempires.com/2016/06...a-object-pdo/o
Auf einer seite (index.php) gibt es das formular zum einloggen/registrieren. dieses wird, sofern das Login-Formular ausgewählt wurde, an login.php mit post gesendet. login.php sieht momentan so aus:
PHP-Code:
<?php
ini_set('diplay_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
session_start();
require_once("scripts/dbconfig.php");
require_once("scripts/accountHelperClass.php");
$app = new accountHelperClass();
$username = strip_tags($_POST["username"]);
$password = strip_tags($_POST["password"]);
echo $app->Login($username, $password);
?>
PHP-Code:
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
class accountHelperClass {
public function Register($username, $email, $password) {
$db = DB();
$query = $db->prepare("INSERT INTO ChatUsers(userName, E_Mail, Password) VALUES (:username,:email,:password)");
$query->bindParam("email", $email, PDO::PARAM_STR);
$query->bindParam("username", $username, PDO::PARAM_STR);
$enc_password = password_hash($password, PASSWORD_DEFAULT);
$query->bindParam("password", $enc_password, PDO::PARAM_STR);
$query->execute();
return $db->lastInsertId();
}
public function isUsername($username) {
$db = DB();
$query = $db->prepare("SELECT User_Id FROM ChatUsers WHERE UserName=:username");
$query->bindParam("username", $username, PDO::PARAM_STR);
$query->execute();
return $query->rowCount() > 0;
}
public function isEmail($email) {
$db = DB();
$query = $db->prepare("SELECT UserId FROM ChatUsers WHERE E_Mail=:email");
$query->bindParam("email", $email, PDO::PARAM_STR);
$query->execute();
return $query->rowCount() > 0;
}
public function Login($username, $password) {
$db = DB();
$query = $db->prepare("SELECT UserId FROM ChatUsers WHERE (UserName=:username OR E_Mail=:username) AND Password=:password");
$query->bindParam("username", $username, PDO::PARAM_STR);
$enc_password = password_hash($password, PASSWORD_DEFAULT);
$query->bindParam("password", $enc_password, PDO::PARAM_STR);
$query->execute();
if ($query->rowCount() > 0) {
$result = $query->fetch(PDO::FETCH_OBJ);
return $result->user_id;
} else {
return false;
}
}
public function UserDetails($user_id) {
$db = DB();
$query = $db->prepare("SELECT UserId, UserName, E_Mail FROM ChatUsers WHERE UserId=:user_id");
$query->bindParam("user_id", $user_id, PDO::PARAM_STR);
$query->execute();
if ($query->rowCount() > 0) {
return $query->fetch(PDO::FETCH_OBJ);
}
}
}
?>
PHP-Code:
<?php
function DB() {
$db = new pDO("mysql:host=".myhost.";dbname=".mydbname, myusername, mypw, array(PDO::ATTR_ERRMODE => PDO::ERRMONE_EXCEPTION));
return $db;
}
?>
Danke im voraus.
Kommentar