0
作成したログインフォームからパスワードハッシュをエコーバックしようとしています。なぜ私はエラーが発生しているのかわかりません**未定義のインデックス:D:\ XAMPP \ htdocs \ login_page.php **のsigninbtn。フォームのPOSTメソッドを使用しています。 signinbtnをクリックしても何も起こりません。htmlボタンからPOSTしようとすると、未定義のインデックスエラーが発生する
<form action="login_page.php" method="POST">
<div id="container" name="container">
<input type="email" id="email" name="email" placeholder="Email">
<input type="password" id="pswd" name="pswd" placeholder="Password">
<input type="submit" name="signinbtn" value="Login"/>
<div id="logo" name="logo">
<img src="captifiy.png" alt="logo" id="logo" width="194" height="218px"/>
</div>
<div class="forgotpw"><a href="#">Need Help Logging In?</a>
</div>
</div>
</form>
<?php
if($_POST['signinbtn']) {
$email = $_POST['email'];
$pswd = $_POST['pswd'];
if($email) {
if($pswd) {
require("dbh.php");
$pswd = md5(md5("wrfoiv" . $pswd . "iujq3b"));
echo "$pswd";
$query = mysql_query("");
mysql_close();
} else {
echo "You must enter your password.";
}
} else {
echo "You must enter your email.";
}
}
初めてページを読み込んだときにこれが起こっていますか? – bugwheels94
新しいコードを書いているなら、** _ please_は、mysql_ *関数を使わないでください**。彼らは古くて壊れていて、PHP 5.5では廃止されました(セキュリティアップデートをもはや受け取っていなくなっています)、PHP 7では完全に削除されました。['PDO'](https://secure.php.net/manual /en/book.pdo.php)または['mysqli_ *'](https://secure.php.net/manual/en/book.mysqli.php)を_prepared statements_と_parameter binding_で置き換えてください。詳細については、http://stackoverflow.com/q/12859942/354577を参照してください。 – Chris
独自のパスワードハッシングソリューションを使用しないでください。 ['password_hash()'](https://secure.php.net/manual/en/function.password-hash.php)と['password_verify()'](https://secure.php.net/)を使用してください。 manual/en/function.password-verify.php)を使用してください。 – Chris