Javascript 简单登录页面-表单方法post不';行不通
您好,我有一个简单的登录页面,它在我使用引导时运行良好,但我想使用角材料设计 我在3-4小时内寻找问题,什么都没有。我认为该表单不会发送用户名、密码和提交等任何数据 有完整的登录代码Javascript 简单登录页面-表单方法post不';行不通,javascript,php,angularjs,Javascript,Php,Angularjs,您好,我有一个简单的登录页面,它在我使用引导时运行良好,但我想使用角材料设计 我在3-4小时内寻找问题,什么都没有。我认为该表单不会发送用户名、密码和提交等任何数据 有完整的登录代码 <!DOCTYPE html> <html> <head> <title>Login</title> <meta charset="UTF-8"> <meta name="viewport" content="w
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="img/png" href="img/favicon.png" />
<link rel="stylesheet" type="text/css" href="../css/style.css">
<!-- <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Tangerine"> -->
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,400italic">
<link rel="stylesheet" href="../bower_components/angular-material/angular-material.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!-- <script src="../js/jquery-3.1.1.min.js"></script>-->
<link rel="stylesheet" type="text/css" href="../bower_components/angular-material-data-table/dist/md-data-table.min.css" />
</head>
<body layout="row">
<div layout="column" flex id="content" role="main" ng-controller="AppCtrl" ng-app="MyApp">
<md-content layout="vertical" flex id="content" layout-align="center center">
<?php include "connect.php"; if(isset($_POST['username']) && isset($_POST['password'])){ $username=$ _POST['username']; $password=md5($_POST[ 'password']); $stmt=$ db->prepare("SELECT * FROM login WHERE username=? AND password=? "); $stmt->bindParam(1, $username); $stmt->bindParam(2, $password); $stmt->execute(); $row = $stmt->fetch(); $user = $row['username']; $pass = $row['password']; $id = $row['id']; $type = $row['type']; if($user==$username && $pass==$password){ session_start(); $_SESSION['username'] = $user; $_SESSION['password'] = $pass; $_SESSION['id'] = $id; $_SESSION['type'] = $type; ?>
<script>
window.location.href = 'index.php'
</script>
<?php } else { ?>
<div>
<strong>Warning!</strong> Password or username are wrong!
</div>
<?php } } ?>
<form method="post" name="loginForm" style="width:50vh">
<br />
<br />
<md-toolbar>
<div class="md-toolbar-tools">
<h2>Login</h2>
</div>
</md-toolbar>
<md-dialog-content>
<div>
<md-input-container class="md-block">
<label>Username:</label>
<input name="username" required>
</md-input-container>
<md-input-container class="md-block">
<label>Password:</label>
<input type="password" name="password" required>
</md-input-container>
</div>
</md-dialog-content>
<md-dialog-actions layout="row">
<span flex></span>
<md-button type="submit" value="Login" class="md-primary">OK</md-button>
<md-button type="button" aria-label="Cancel">Cancel</md-button>
</md-dialog-actions>
</form>
</md-content>
</div>
<script src="../bower_components/angular/angular.js"></script>
<script src="../bower_components/angular-aria/angular-aria.js"></script>
<script src="../bower_components/angular-animate/angular-animate.js"></script>
<script src="../bower_components/angular-material/angular-material.js"></script>
<script src="../bower_components/angular-material-data-table/dist/md-data-table.min.js"></script>
<!-- <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> -->
<!-- <script src="js/app.js"></script> -->
<script>
angular.module('MyApp', ['ngMaterial'])
.controller('AppCtrl', function($scope) {
$scope.radek = "Radek";
console.log($scope.radek);
});
</script>
</body>
</html>
登录
window.location.href='index.php'
警告密码或用户名错误!
登录
用户名:
密码:
好啊
取消
angular.module('MyApp',['ngMaterial']))
.controller('AppCtrl',函数($scope){
$scope.radek=“radek”;
console.log($scope.radek);
});
您复制/粘贴了吗
$username=$ _POST[ 'username']; $password=m d5($_POST[ 'password']);
$\u POST有一个空格和md5。
应该是:
$username=$_POST['username']; $password=md5($_POST['password']);
在AngularJS中,表单需要
ng submit
指令
<form method="post" name="loginForm" ng-submit="submit()">
如果服务器API只能接受内容类型为application/x-www-form-urlencoded
的帖子,则数据需要:
有关详细信息,请参阅
$scope.submit = function () {
var httpPromise = $http({
method: "POST",
url: "login.php",
data: {
username: $scope.username,
password: $scope.password
}
}).then(function(response) {
console.log("POST SUCCESSFUL");
return response;
}).catch(function(response) {
console.log("POST REJECTED");
throw response;
});
$scope.submit = function () {
var httpPromise = $http({
method: "POST",
url: "login.php",
data: {
username: $scope.username,
password: $scope.password
},
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
//URLencode the request
transformRequest: $httpParamSerializer
//OR
//transformRequest: $httpParamSerializerJQLike
});
};