【发布时间】:2016-12-08 06:22:01
【问题描述】:
所以我有一个表格
<form id="login_form" method="post" action="login.php">
<input type="text" name="email">
<input type="password" name="pass">
<input type="submit" name="submit" value="Log in" onclick="submitFunction()">
</form>
提交表单时,我正在检查用户名和密码是否正确
if(isset($_POST['submit'])) {
$email = $_POST['email'];
$pass = $_POST['pass'];
$sql = "SELECT email,password FROM user_details WHERE email='$email' AND password='$pass'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
$_SESSION["email"] = $_POST['email'];
}
else {
echo "Incorrect username or password. Please try again!";
}
}
但我也想加载一个新页面,我正在尝试通过 javascript 来完成
function submitFunction()
{
window.location.href = "new url";
}
我尝试用一个按钮替换提交按钮,但是我无法让我的 php 执行,因为我不能使用 if(isset($_POST['submit'])),但是如果我使用提交按钮那么我不知道如何调用我的javascript函数,因为我不能使用onclick可以吗?任何帮助将不胜感激:)
我也知道我不应该只将密码存储在我的数据库和 sql 注入以及所有这些中,但我只是想尝试让它工作
【问题讨论】:
-
开始学习
ajax? -
不能用php输出页面加载后执行的JavaScript代码吗?
-
永远不要存储纯文本密码!请使用 PHP 的 built-in functions 来处理密码安全问题。如果您使用的 PHP 版本低于 5.5,您可以使用
password_hash()compatibility pack。在散列之前,请确保您 don't escape passwords 或对它们使用任何其他清理机制。这样做会更改密码并导致不必要的额外编码。 -
@Don'tPanic 你的意思是使用 header('Location: newpage.html') 吗?我现在感觉很愚蠢,我刚刚尝试过,效果很好,我之前尝试过,但无法让它工作,一定是其他地方出错了,谢谢
标签: javascript php html forms