0
我想从我创建的登录窗体回显密码哈希值。我不知道为什么我得到错误**未定义的索引:signinbtn在D:\ XAMPP \ htdocs \ login_page.php **中。我为我的表单使用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