phpとmysqlデータベースを使用してログインフォームを取得しようとしています。 この瞬間、フォームは何もしていないようです。 投稿をクリックすると、ログインフォームなしでログインページが再読み込みされます。PHP PDOログインシステム
<?php
require_once 'header.php';
$current = 'login.php';
require_once 'navigatie.php';
if(isset($_POST['login'])){
$username = $_POST["gebruiker"];
$password = $_POST["psw"];
try{
$stmt = $db->prepare("SELECT * FROM gebruiker WHERE (naam = :gebruiker AND wachtwoord = :psw)");
$stmt ->bindParam(":naam", $username);
$stmt ->bindParam(":psw", $password);
$stmt ->execute();
$db = null;
$result=$stmt->fetch();
if($stmt->rowCount() == 1)
{
//gebruiker bestaat
header("location: index.php");
session_start();
}
else{
echo "gebruiker bestaat niet";
}
}
catch (PDOException $e){
$message = $e . "Failed";
}
}
?>
<main>
<div class="row">
<form role="form" class="col s12" method="POST" action="login.php" >
<div class="row">
<div class="container">
<div class="input-field col s6">
<i class="material-icons prefix">face</i>
<input name="gebruiker" id="icon_prefix" type="text" class="validate">
<label for="icon_prefix">Naam</label>
</div>
<div class="input-field col s6">
<i class="material-icons prefix">lock</i>
<input name="psw" id="icon_psw" type="password" class="validate">
<label for="icon_psw">password</label>
</div>
<div class="col s12" >
<button id="submit" class="btn waves-effect waves-light" type="submit" name="login">Login
<i class="material-icons right">send</i>
</button>
</div>
</div>
</form>
</div>
という別のconnection.phpはこの回答に含まれていません。 :gebruiker "、$ username); ' –
一般的なセキュリティ警告:データベースにユーザーパスワードを保存することはありません。決して。パスワードの何が格納されているかは_hash_です。次に、認証時に、提供されたパスワードをもう一度ハッシュし、_は2つのハッシュを比較します。そうすれば、システムが侵害されてもユーザーのパスワードが失われることはありません。 – arkascha
私はこれがケープタウン出身のアフリカ系アメリカ人の男だと思った。 –