【发布时间】:2015-12-07 01:45:45
【问题描述】:
我有一个由 echo 显示的表单,我正在尝试在提交后刷新页面,以便在输入无效详细信息时可以添加登录尝试以计数当前显示表单但页面未再次刷新以添加数一数,这就是我所拥有的:
$pdo = new PDO($dsn, $username, $password, $options);
$max_time_in_seconds = 10;
$max_attempts = 3;
if(login_attempt_count($max_time_in_seconds, $pdo) <= $max_attempts) {
$form = "<form name='login' class='profile' id='form_id' action=''
method='post' accept-charset='utf-8'>
<fieldset>
<legend>Login</legend>
<label for='username'>User name</label>
<input type='text' name='username' id='username' autofocus
placeholder='User name MAX 10' maxlength='10' title='You can
use characters & numbers' required />
<label for='password'>Password</label>
<input type='password' id='password' name='password'
/>
<br>
<input type='submit' class='btn' value='Login' id='submit'
onSubmit='window.parent.location.reload();' />
</form>";
} else {
$msg2 = " You have been BLOCKED try again in 10 minutes";
}
如果我刷新页面 3 次我被阻止,这就是我想要的如果提交输入 3 次 我已经尝试添加
<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>
我只是得到空白屏幕......
if($_SESSION['user'] { header("location: memberlist.php"); }
else
if($_SESSION['user']['blacklisted_users'] == 'blocked') {
header("location: blocked.php");}
else
header("Location: private.php");
die("Redirecting to: private.php");
}
else
{
$msg = " Username or Password INCORRECT";
}
我认为最后的 else 正在阻止页面刷新,因为它只是在回显错误
登录检查:
$query = "
SELECT
id,
username,
password,
salt,
email,
firstname,
surname,
address,
town,
postcode,
type,
blacklisted_users
FROM users
WHERE
username = :username
";
$query_params = array(
':username' => $_POST['username']);
try
{
$stmt = $db->prepare($query);
$result = $stmt->execute($query_params);
}
catch(PDOException $ex)
{
die("Failed to run query: " . $ex->getMessage());
}
$login_ok = false;
$row = $stmt->fetch();
if($row)
{
然后是密码检查......
【问题讨论】:
标签: javascript php forms