我正在尝试从mysql表验证密码,然后在密码正确的情况下将其他数据插入其他表。我自己无法真正解决这个问题,所以希望我能在这里得到帮助:)
我肯定有一种更简单的方法:D
这是我的代码:
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<textarea name="change"></textarea>
<input type="date" name="date">
<input type="password" name="password">
<label for="password">Password</label>
<input type="submit" name="submit">
</form>
<?php
if (isset($_POST['submit'])) {
$date = $_POST['date'];
$change = $_POST['change'];
$pwd = $_POST['password'];
$servername = "";
$username = "";
$password = "";
$dbname = "";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection lost: " . $conn->connect_error);
}
$sql = "SELECT * FROM users WHERE password = '$pwd'";
$result = mysql_query($sql) or die(mysql_error());
$numrows = mysql_num_rows($result);
if($numrows > 0)
{
$sql = "INSERT INTO data (datechanged, changemade) VALUES ('$date', '$change')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
}
else
{
echo 'Your not in';
}
$conn->close();
}
?>
答案 0 :(得分:-1)
在用户一次正确输入密码后,您可以使用PHP Sessions保持登录状态。
除此之外,它并没有比您的解决方案容易得多。 但是它应该变得更加安全!
您的方法存在三个缺陷:
这可能一次很多,但是如果您不可以使用此网站,则绝对有必要解决这些问题。
我希望这会有所帮助。 -思维