【发布时间】:2020-04-04 11:37:53
【问题描述】:
我有一个表单,在提交时会进行一些验证检查,然后运行函数来请求令牌。如果提交不成功,则错误消息为 POST 403(禁止)。我想使用此错误消息(或任何其他推荐的方式)在 php 网页上显示错误消息。我该怎么做?
使用用户名和密码输入获取令牌并保存在会话中
function getToken(username, password) {
$.ajax({
url: RESTROOT + '/jwt-auth/v1/token',
method: 'POST',
data: {
'username': username,
'password': password
}
})
.done(function(response){
sessionStorage.setItem('newToken', response.token); //sets the key and value in the console application > session storage
$LOGIN.fadeToggle();
$LOGOUT.toggle();
$POST.fadeToggle();
})
}
测试登录表单输入
<?php $usernameErr = $passwordErr = "";
$error = false;
if (empty($_POST["firstname"])) {
$usernameErr = "Name is required";
$error = true;
} else {
$username = test_input($_POST["username"]);
// check if field contains only letters and spaces
if (!preg_match("/^[a-zA-Z ]*$/",$firstname)) {
$usernameErr = "Only letters and white space allowed";
}
}
if (empty($_POST["password"])) {
$passwordErr = "Password is required";
$error = true;
} else {
$password = test_input($_POST["password"]);
// check if field contains only letters and spaces
if (!preg_match("/^[a-zA-Z ]*$/",$firstname)) {
$passwordErr = "Only letters and white space allowed";
}
}
if($error == false){
$_SESSION['username'] = $username;
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
登录表格
<form name="loginform" id="loginform" style="display: none" >
<h2>Login form</h2>
<p><strong>You must log in with valid credentials before you are able to submit a post.</p></strong>
<label for"uer_login">Username:<span class="error">* <?php echo $usernameErr;?></span> <!-- shows errors on the page -->
<input type="text" id="user_login" name="username" class="input" value="<?php echo $username;?>" placeholder="username"></label>
<label for"user_pass">Password:<span class="error">* <?php echo $passwordErr;?></span> <!-- shows errors on the page -->
<input type="password" id="user_pass" name="pass" class="input" value="" placeholder="Title"></label>
<button id="login_button" type="submit" class="success button"> Login</button>
</form>
【问题讨论】:
-
将
.fail(function (xhr, text, error) { ... })附加到.done(...)调用以捕获403 错误。
标签: javascript php jquery