Кто-нибудь может мне сказать, что пошло не так?
Это мой код:
body.html
<div class="container"> <div id="login_form"> <form action="login.php" class="form-signin"> <h3 class="form-signin-heading">Sign in</h2> <div class="err" id="add_err"></div> <label for="inputUser" class="sr-only">Email address</label> <input type="text" name="inputUser" id="inputUser" class="form-control" placeholder="Username" required autofocus> <label for="password" class="sr-only">Password</label> <input type="password" name="password" id="password" class="form-control" placeholder="Password" required> <div class="checkbox" style="padding-top:20px;"> <label> <input type="checkbox" value="remember-me"> Remember me</input> </label> </div> <button class="btn btn-lg btn-primary btn-block" id="login" type="submit">Sign in</button> <a href="../" class="btn btn-lg btn-default btn-block">Cancel</a> </form> </div> <div id="shadow" class="popup"></div> </div> <script src="myjs/myjs.js"> </script>
myjs.js
$(document).ready(function(){ $("#login").click(function(){ $("#add_err").removeClass("alert"); $("#add_err").addClass("alert"); $("#add_err").removeClass("alert-danger"); $("#add_err").addClass("alert-info"); if($("#inputUser").val() == "") { $("#add_err").removeClass("alert-info"); $("#add_err").addClass("alert-danger"); $("input[name='password']").val(""); $("#add_err").html("User Empty") } else if($("#password").val() == "") { $("#add_err").removeClass("alert-info"); $("#add_err").addClass("alert-danger"); $("input[name='password']").val(""); $("#add_err").html("Password Empty") } else{ username=$("#inputUser").val(); password=$("#password").val(); $.ajax({ type: "POST", url: "login.php", data: "name="+username+"&pwd="+password, success: function(html){ if(html=='true') { window.location.href = "example/admin.html"; } else { $("#add_err").removeClass("alert-info"); $("#add_err").addClass("alert-danger"); $("input[name='password']").val(""); $("#add_err").html("Wrong username or password"); } }, beforeSend:function() { $("#add_err").html("Loading...") } }); } return false; }); });
login.php
<?php session_start(); $username = $_POST['name']; $password = md5($_POST['pwd']); $mysqli=mysqli_connect('localhost','root','','whatever'); $query = "SELECT * FROM user WHERE username='$username' AND password='$password'"; $result = mysqli_query($mysqli,$query)or die(mysqli_error()); $num_row = mysqli_num_rows($result); $row=mysqli_fetch_array($result); if( $num_row >=1 ) { echo 'true'; $_SESSION['user_name']=$row['username']; } else{ echo 'false'; } ?>
Этот код работает!
Но когда я изменяю «login.php» с методом ООП, это не процедурно, как это:
<?php session_start(); $username = $_POST['name']; $password = md5($_POST['pwd']); $con = new mysqli("localhost", "root", "", "whatever"); $query = "SELECT * FROM user WHERE username='$username' AND password='$password'"; $result = $con->query($query); $num_row = $result->num_rows; $row=$result->fetch_array(); if( $num_row >=1 ) { echo 'true'; $_SESSION['user_name']=$row['username']; } else{ echo 'false'; } ?>
Это не работает. Может ли кто-нибудь сказать мне, что пошло не так?