hy! Ich versuche, einen Jquery Shake und Hide-Effekt auszuführen. Ich erstelle einfach ein Login-Formular bestehend aus 2 Feldern. Ich setze Bedingung, dass, wenn sich Benutzer mit falschem Benutzernamen und Kennwort einloggen, es nach links schütteln oder springen wird, andernfalls zeigt es eine home.php Seite mit Verstecken und Erscheineneffekt an. Aber immer, wenn ich versuchte, mich mit richtigem oder falschem Benutzernamen und Passwort anzumelden, springt es nicht. Es gibt immer einen versteckten Effekt. Bitte beachten Sie meinen Code, warum er sich so verhält.Code zeigt unerwartetes Verhalten
index.php
<?php
session_start();
print_r($_SESSION);
if(isset($_SESSION["username"]))
{
header("location:home.php");
}
?>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
<title>Webslesson Tutorial</title>
<script src="http://code.jquery.com/jquery-2.1.1.js"></script>
<script src="//code.jquery.com/ui/1.11.1/jquery-ui.js"></script>
<script src="js/bootstrap.js"></script>
<link href="css/bootstrap.css" rel="stylesheet" />
<script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<style>
#box
{
width:100%;
max-width:500px;
border:1px solid #ccc;
border-radius:5px;
margin:0 auto;
padding:0 20px;
box-sizing:border-box;
height:270px;
}
</style>
</head>
<body>
<div class="container">
<h2 align="center">How to Use Ajax with PHP for Login with Shake Effect</h2><br /><br />
<div id="box">
<br />
<form method="post">
<div class="form-group">
<label>Username</label>
<input type="text" name="username" id="username" class="form-control" />
</div>
<div class="form-group">
<label>Password</label>
<input type="password" name="password" id="password" class="form-control" />
</div>
<div class="form-group">
<input type="button" name="login" id="login" class="btn btn-success" value="Login" />
</div>
<div id="error"></div>
</form>
<br />
</div>
</div>
</body>
</html>
<script>
$(document).ready(function(){
$('#login').click(function(){
var username = $('#username').val();
var password = $('#password').val();
if($.trim(username).length > 0 && $.trim(password).length > 0)
{
$.ajax({
url:"login.php",
method:"POST",
data:{username:username, password:password},
cache: false,
beforeSend:function()
{
$('#login').val("connecting...");
},
success:function(data)
{
if(data)
{
$("body").load("home.php").hide().fadeIn(1500);
}
else
{
//shake animation effect.
var options = {
distance: '40',
direction:'left',
times:'3'
}
$("#box").effect("shake", options, 800);
$('#login').val("Login");
$('#error').html("<span class='text-danger'>Invalid username or Password</span>");
}
}
});
}
else
{
return false;
}
});
});
</script>
login.php
<?php
session_start();
include_once './include/db_connection.php';
if(isset($_POST["username"]) && isset($_POST["password"]))
{
$username = mysqli_real_escape_string($link, $_POST["username"]);
$password = md5(mysqli_real_escape_string($link, $_POST["password"]));
$sql = "SELECT * FROM signup WHERE username = '".$username."' AND password = '".$password."'";
$result = mysqli_query($link, $sql);
$num_row = mysqli_num_rows($result);
if($num_row > 0)
{
$data = mysqli_fetch_array($result);
$_SESSION["username"] = $data["username"];
echo $data["username"];
}
}
?>
home.php
<?php
session_start();
if(!isset($_SESSION["username"]))
{
header("location: index.php");
}
echo '<h1 align="center">'.$_SESSION["username"].' - Welcome to Home Page</h1>';
echo '<p align="center"><a href="logout.php">Logout</a></p>';
?>
Auf der Grundlage der Regeln, wie es scheint die Frage der ist ** Wegthema ** Bereich "[* Fragen, die Debugging-Hilfe suchen (" Warum funktioniert dieser Code nicht? ") *] (Http://stackoverflow.com/help/on-topic)" – Farside
@Farside Ich bin so verwirrt, deshalb habe ich gepostet die Frage, was ich verstehe. –