0
我需要一个模态弹出来询问密码。我做了以下,但它总是将我重定向到登录页面。而且这个会议似乎根本没有创建。yii2在访问网页前创建密码
main.php(布局)
<div class="modal fade" id="mymodal" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title"><span class="glyphicon glyphicon-lock"></span>PASSCODE</h4>
</div>
<form role="form" id="myform" action="site/passcode">
<div class="modal-body">
<div class="form-group">
<!--<label for="psw"><span class="glyphicon glyphicon-eye-open"></span> Enter Passcode</label>-->
<input type="text" class="form-control" id="passcode" placeholder="Enter Passcode">
</div>
</div>
<div class="modal-footer">
<button id="passcodeBtn" class="btn btn-success btn-block" onClick="btn_click()">Submit</button>
</div>
</form>
</div>
</div>
<?php
if(!isset($_SESSION))
{
session_start();
}
//$_SESSION["user"] = "permit";
if(!isset($_SESSION["user"])) {
echo "<script type='text/javascript'>
$('#passcodeModal').modal({
backdrop: 'static',
keyboard: false
})
$(document).ready(function(){
$('#passcodeModal').modal('show');
});
</script>";
}
?>
<script>
function validatePasscode_click()
{
var pc = document.getElementById('passcode').value
//document.getElementById("passcodeform").submit();
//
console.log("inside click");
$.ajax({
type: "POST",
url: '/site/passcode',
data: {name: pc, _csrf: yii.getCsrfToken()},
//dataType: "json",
success: function(response){
console.log("ajax");
var resp = response;
var answer = jQuery.parseJSON(response);
console.log(answer);
if(answer == '123'){
$('#passcodeModal').modal('hide');
}
}});
return false;
}
</script>
我验证
CONTROLLER
public function actionPasscode() {
// a list of available cities
if(Yii::$app->request->isAjax) {
$data = Yii::$app->request->post();
$passcode = $data['name'];
$_SESSION["user"] = "permit";
if($passcode == '123'){
if(!isset($_SESSION))
{
session_start();
}
$_SESSION["user"] = "permit";
}
return json_encode($passcode);
}
}
我需要验证密码使用AJAX然后设置会话所以为了晚会如果您之前已输入密码,他们将不会再次询问密码