Javascript 简单登录页面-表单方法post不';行不通

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

您好,我有一个简单的登录页面,它在我使用引导时运行良好,但我想使用角材料设计

我在3-4小时内寻找问题,什么都没有。我认为该表单不会发送用户名、密码和提交等任何数据

有完整的登录代码

<!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
的帖子,则数据需要:

有关详细信息,请参阅


浏览器控制台是否有任何错误日志?即使我单击按钮或输入错误,也没有任何错误date@Ixe第21行的/var/www/clients/client1/web14/web/login/login.PHP中有来自服务器mod_fcgid:stderr:PHP的日志解析错误:语法错误、意外的“_POST”(T_字符串)、预期变量(T_变量)或“$”,其中是。回顾一下是个好主意:是的,但是当我做一些事情,比如我必须用什么来编写函数?在我的代码中,这很好,我想当我把代码粘贴到这里时就发生了
$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
    });
};