Why the AJAX don't work here? - javascript

i'm trying to learn to use AJAX, so i search a tut about make a crappy login system with ajax and start to learn, the thing is i do some little modifications to it, (PDO instead my_sql for example) and is not working, seeing that tut over and over again doesn't seems to show why there is not working.
What happend than doesn't work?
Well, it moves me from the index.php page to the admin.php page instantly, it musn't be that way, if i'm correct, it must bring the data back to the index.php right?
it works if the AJAX doesn't exist, instead of bring the data from admin.php, it makes me move to that page, like if it was pure PHP and none AJAX involved in the script.
The PHP is not calling the AJAX, it just use header(location
Thats the problem.
Here is the code of all files:
index.php
<?php
session_start();
if($_POST){
include("3325d7a55a4550ee85156f5f9a6762bede9d3021.php");
$nombre = $_POST['login'];
$pw = $_POST['pwd'];
$stmt = $con->prepare("SELECT * FROM tuser WHERE USER = :USER");
$rslt = $stmt->execute(array(':USER' => $nombre));
$stmt->bindParam(':USER', $nombre, PDO::PARAM_STR);
$usuario = $stmt->fetch();
if ($usuario) {
$_SESSION['usuario_logeado'] = $usuario;
header('Location: admin.php');
} else {
$error = 'Usuario y/o password incorrecto.';
}
}
?>
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Temporis</title>
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
$(function(){
$('#login-form').submit(function(e) {
e.preventDefault();
$.post('ajax.php', $(this).serialize(), function(resp) {
if(!resp.error) {
var html= '<h3>Hola, ' + resp.['NOMBR1'] + ' ' + resp.['NOMBR3'] + '!</h3>' + '<p>' +
'Logout' +
'</p>';
$('.sidebar').html(html);
} else {
var error = '<p class="error">' + 'Usuario y/o password incorrecto.' + '</p>';
$('#login-form .error').remove();
$('.actions').before(error);
};
}, 'json');
});
});
</script>
</head>
<body>
<h5>INDEX!!!</h5>
<center>
<?php if(!isset($_SESSION['usuario_logeado'])): ?>
<form id="login-form" action="" method="post" class="form-stacked">
<input type="text" name="login" id="login">
<input type="password" name="pwd" id="pwd">
<?php if(isset($error)): ?>
<p>
<?php echo $error ?>
</p>
<?php endif;?>
<input type="submit" value="Login" id="btn">
</form>
<?php else :?>
<h3>Hola, <?php echo $_SESSION['usuario_logeado']['NOMBR1'] .' '. $_SESSION['usuario_logeado']['NOMBR3'] ?></h3>
Logout
<?php endif;?>
<br />
<br />
<div class="sidebar"></div>
<br />
<br />
<div class="actions"></div>
<br />
<br />
Admin
<br />
<br />
<div id="RBUG"> Si tienes cualquier duda, problema tecnico o quieres dar una sugerencia usa el
<a href=RBuGFm.php>Reporte de Bugs</a> </div>
</center>
</body>
</html>
admin.php
<?php
session_start();
if(!$_SESSION['usuario_logeado']){
header('Location: index.php');
}
?>
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Temporis</title>
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<link rel="stylesheet" type="text/css" href="style.css">
<link rel="stylesheet" type="text/css" href="css/responsive.css">
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script src="js/menu.js"></script>
</head>
<body>
<center>
<h4>TROLOLOLOLO!</h4>
<h3>Hola, <?php echo $_SESSION['usuario_logeado']['NOMBR1'] .' '. $_SESSION['usuario_logeado']['NOMBR3'] ?></h3>
Logout
<div id="RBUG"> Si tienes cualquier duda, problema tecnico o quieres dar una sugerencia usa el
<a href=RBuGFm.php>Reporte de Bugs</a> </div>
</center>
</body>
</html>
ajax.php
<?php
session_start();
include("3325d7a55a4550ee85156f5f9a6762bede9d3021.php");
$nombre = $_POST['login'];
$pw = $_POST['pwd'];
$stmt = $con->prepare("SELECT * FROM tuser WHERE USER = :USER");
$rslt = $stmt->execute(array(':USER' => $nombre));
$stmt->bindParam(':USER', $nombre, PDO::PARAM_STR);
$usuario = $stmt->fetch();
if ($usuario) {
$_SESSION['usuario_logeado'] = $usuario;
echo json_encode($usuario);
} else {
echo json_encode(array('error' => true));
}
?>
3325d7a55a4550ee85156f5f9a6762bede9d3021.php (conection.php)
<?php
$host = "localhost";
$user = "root";
$pss = "password";
$db = "somedb_name";
$authz = "authc";
// Los comandos auxiliares estan comentados para que no funcionen a menos que sean necesarios
// var_dump($_POST);
try{
$con = new PDO('mysql:host='.$host.';dbname='.$db,$user,$pss);
$con->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);
// $con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// echo "Success ";
}catch(PDOException $e){
echo $e->getMessage;
}
?>
logout.php
<?php
session_start();
session_destroy();
header('Location: index.php');
?>
I don't know what can be the problem and i'm running out of ideas, so i'm trusting in your eyes and experience to solve my problem and learn how to do this stuff correctly..
Any comment, suggestion, question improvement or question about it for clarification, please feel free to say it, and i try to edit the post with the answer as soon as i can.
Thanks in advance

Related

can't send messages and $username isn't displayed

I made a chat service in php. When you get to the chat, it says "Welcome, --Username--." My problem is I added a login field, now I can't send messages and the username isn't displayed. I've looked everywhere but it seems since my code is so "unique", nothing seems to be helping. --i didn't make this all on my own, I used someone else's code for the login and someone's code for the service itself.
login.php
<?php
session_start();
echo isset($_SESSION['login']);
if(isset($_SESSION['login'])) {
header('LOCATION:admin.php'); die();
}
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='content-type' content='text/html;charset=utf-8' />
<title>Login</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
</head>
<body>
<div class="container">
<h3 class="text-center">Login</h3>
<?php
if(isset($_POST['submit'])){
$username = $_POST['username']; $password = $_POST['password'];
if($username === 'admin' && $password === 'password'){
$_SESSION['login'] = true; header('LOCATION:admin.php'); die();
} {
echo "<div class='alert alert-danger'>Username and Password do not match.</div>";
}
if($username === 'admon' && $password === 'password'){
$_SESSION['login'] = true; header('LOCATION:admin.php'); die();
} {
echo "<div class='alert alert-danger'>Username and Password do not match.</div>";
}
}
?>
<form action="" method="post">
<div class="form-group">
<label for="username">Username:</label>
<input type="text" class="form-control" id="username" name="username" required>
</div>
<div class="form-group">
<label for="pwd">Password:</label>
<input type="password" class="form-control" id="pwd" name="password" required>
</div>
<button type="submit" name="submit" class="btn btn-default">Login</button>
</form>
</div>
</body>
</html>
admin.php
<?php
session_start();
if(!isset($_SESSION['login'])) {
header('LOCATION:login.php'); die();
}
if(isset($_GET['logout'])){
//Simple exit message
$logout_message = "<div class='msgln'><span class='left-info'>User <b class='user-name-left'>". $_SESSION['name'] ."</b> has left the chat session.</span><br></div>";
file_put_contents("log.html", $logout_message, FILE_APPEND | LOCK_EX);
session_destroy();
header("Location: login.php"); //Redirect the user
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>English Pricks</title>
<meta name="description" content="A Group Chat." />
<link rel="stylesheet" href="style.css" />
</head>
<body>
<div id="wrapper">
<div id="menu">
<p class="welcome">Welcome, <b><?php echo $username['username']; ?></b>&period; Image Dump&period;&period;&period;</p>
<p>Emoji's → </p>
<button id="emoji-button" style="border: none;">😀</button>
<p class="logout"><a id="exit" href="#">Leave</a></p>
</div>
<div id="chatbox">
<?php
if(file_exists("log.html") && filesize("log.html") > 0){
$contents = file_get_contents("log.html");
echo $contents;
}
?>
</div>
<form name="message" action="">
<input name="usermsg" type="text" id="usermsg" style="outline: none;" spellcheck="true"/>
<input name="submitmsg" type="submit" id="submitmsg" value="↑" />
</form>
</div>
<script type="text/javascript" src="./jquery.min.js"></script>
<script src="emoji.js"></script>
<script type="text/javascript">
document.addEventListener('DOMContentLoaded', function () {
var picker = new EmojiButton();
var button = document.querySelector('#emoji-button');
button.addEventListener('click', function () {
picker.showPicker(button);
picker.on('emoji', emoji => {
document.querySelector('#usermsg').value += emoji;
});
});
});
</script>
<script type="text/javascript">
$(document).ready(function () {
$("#submitmsg").click(function(){
var clientmsg = $.trim($("#usermsg").val());
if(clientmsg.length >= 1){ // Prevents Spamming the Enter Key
$.post("post.php", {text: clientmsg});
$("#usermsg").val("");
}else{
}
return false;
});
function loadLog() {
var oldscrollHeight = $("#chatbox")[0].scrollHeight - 20; //Scroll height before the request
$.ajax({
url: "log.html",
cache: false,
success: function (html) {
$("#chatbox").html(html); //Insert chat log into the #chatbox div
//Auto-scroll
var newscrollHeight = $("#chatbox")[0].scrollHeight - 20; //Scroll height after the request
if(newscrollHeight > oldscrollHeight){
$("#chatbox").animate({ scrollTop: newscrollHeight }, 'normal'); //Autoscroll to bottom of div
}
}
});
}
setInterval (loadLog, 1000);
$("#exit").click(function () {
var exit = confirm("Are you sure you want to leave?");
if (exit == true) {
window.location = "index.php?logout=true";
}
});
});
</script>
</body>
</html>
In login.php file else was missing in if blocks and in order to see username you should add it to $_SESSION in the same way as you did with
$_SESSION['login'], cause i don't see anything else which can serve as temp storage in provided code. Another issue is that you placed header() function with login and password check right inside html code. This will trigger warning on a runtime that headers were already sent. In order to avoid that place your checking code in the top of the file and also check if there are no spaces before or after <?php php opening tag.
Example of fixed login.php file you can find below.
<?php
session_start();
function setSessionData($name, $value) {
$_SESSION[$name] = $value;
}
function redirectWithData($username = '') {
setSessionData('login', true);
setSessionData('username', $username);
header('Location:admin.php');
die();
}
if(isset($_SESSION['login'])) {
header('Location:admin.php'); die();
}
if(isset($_POST['submit'])) {
$username = $_POST['username']; $password = $_POST['password'];
if($username === 'admin' && $password === 'password'){
redirectWithData($username);
} elseif($username === 'admon' && $password === 'password'){
redirectWithData($username);
} else {
echo "<div class='alert alert-danger'>Username and Password do not match.</div>";
}
}
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='content-type' content='text/html;charset=utf-8' />
<title>Login</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
</head>
<body>
<div class="container">
<h3 class="text-center">Login</h3>
<form action="" method="post">
<div class="form-group">
<label for="username">Username:</label>
<input type="text" class="form-control" id="username" name="username" required>
</div>
<div class="form-group">
<label for="pwd">Password:</label>
<input type="password" class="form-control" id="pwd" name="password" required>
</div>
<button type="submit" name="submit" class="btn btn-default">Login</button>
</form>
</div>
</body>
</html>
On admin page you can then display username
Welcome, <b><?php echo $_SESSION['username']; ?>
Regarding admin.php functionality. Logic for adding messages according to JavaScript code located in post.php file.
$.post("post.php", {text: clientmsg});
So, why its adding or not adding it is hard to answer for obvious reasons )
And btw, in your logout logic in admin.php file change
window.location = "index.php?logout=true"; -> window.location = "?logout=true"; it will fallback to the same page on which you already have redirect logic.

Uploading localhost to online version now. It doesn't work

I just uploaded my site to my domain and now when I try to login on my site I get this notification:
"Query virker ikke (Query does not work) SELECT * FROM user WHERE username = '' AND password = 'b28372e4029d6a7ddc73851afa1781153a365df4654190cf7d1bfcbe5b5df5fabd42d2a89bb1d2a7eeeac384cf1e849924e36acf1ecbe52e617a9ee1190bbccf'"
It looks as it is my hashed password there is in the way.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<link href="https://fonts.googleapis.com/css?family=Emilys+Candy&display=swap" rel="stylesheet">
<!-- Mine style -->
<link rel="stylesheet" href="css/main-style.css">
</head>
<body class="index-body">
<?php include 'inc/db.php'?>
<?php
$output ="";
if(isset($_POST['submit'])){
$userName = mysqli_real_escape_string($conn, $_POST['username']);
$pass = mysqli_real_escape_string($conn, $_POST['password']);
$salt = "ldfjldjf34lksdf4kle" . $pass . "dkj2fldsjljf34elk";
$hashed = hash('sha512', $salt);
$sql = "SELECT * FROM user WHERE username = '$userName' AND password = '$hashed'";
$result = mysqli_query($conn, $sql) or die ("Query virker ikke " . $sql);
if(mysqli_num_rows($result) == 1){
session_start();
$_SESSION['username'] = $userName;
$_SESSION['adgang'] = 'adgang';
echo "<script>window.location.href='gamesite.php';</script>";
} else {
$output = "Wrong login";
}
}
?>
<div class="container">
<div class="row">
<img class="col-3" src="img/logo.png" alt="">
</div>
</div>
<center>
<div class="container con-index">
<h1 class="space-to-nav con-log">Login</h1>
<form method="POST">
<div class="form-group">
<label>Username</label>
<input type="text" class="form-control col-4" name="username" placeholder="Username">
</div>
<div class="form-group">
<label>Password</label>
<input type="password" class="form-control col-4" name="password" placeholder="Password">
</div>
<button type="submit" class="btn btn-light" name="submit">Submit</button>
<h3 class="space-to-nav"><?= $output ?></h3> <!-- = istedet for php echo -->
</form>
<p class="space-to-nav">Do not have an account? Create account here</p>
</div>
</center>
<?php include 'inc/footer.php'?>
Check out the php Version on the Server.
Hashing with a custom salt is no longer best practice in php >7
Warning The salt option has been deprecated as of PHP 7.0.0. It is now
preferred to simply use the salt that is generated by default.
try password_hash and password_verify
check out https://www.php.net/manual/en/function.password-hash.php

AJAX dynamic Dependent Select Box

What i need?
I need to create an input form that must be fille up with dynamic dropdown list as per below screenshot.
What is my actual script??
Actually is divided in some files, i'll ignore the database connection and the functions file.
assign.php
<?php
session_start();
ob_start();
if(isset($_SESSION['log'])){
include ('connection.php');
include ('functions.php');
//Variables que vienen desde el boton de ASSIGN
$szDescription = $_POST['szDescription'];
$szRequestor = $_POST['szRequestor'];
$szRecived = $_POST['szRecived'];
$szCID = $_POST['szCID'];
?>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, user-scalable=no,
initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0">
<link rel="stylesheet" href="..\css\bootstrap.min.css">
<link rel="stylesheet" href="..\css\style.css">
<script type="text/javascript">
// Select Category function
$(document).ready(function(){
$('#szTeam').on('change',function(){
var team_selected = $(this).val();
$.ajax({
type:'POST',
url:'getcategory.php',
data:'teamselected='+team_selected,
success:function(html){
$('#optionCategory').html(html);
}
});
});
});
// FIN TEAM Select
</script>
</head>
<body>
<div class="container-fluid"><div class="container">
<p class="bg-Success">You are about to assign this ticket:</p>
<p><b>Subject:</b><i> <?php echo $szDescription ?></i></p>
<p><b>From:</b><i> <?php echo $szRequestor ?></i></p>
<p><b>Recived:</b><i> <?php echo $szRecived ?></i></p>
<form action="" method="post">
<div class="form-group">
<label for="szTeam">Team</label>
<select class="form-control form-control-sm" name="szTeam" id="szTeam">
<option>Select Team</option>
<?php
foreach($_SESSION['userteam'] as $userteamsArray){
echo "<option>".$userteamsArray."</option>";
}
?>
</select>
</div>
<div class="form-group">
<label for="optionCategory">Category</label>
<select class="form-control form-control-sm" name="optionCategory" id="optionCategory" >
<option></option>
</select>
</div>
<button type="submit" class="btn btn-primary" name="SubmitButton">Submit</button>
</form>
</div></div>
</body>
</html>
getcategory.php
<?php
include ('connection.php');
$team = $_POST['teamselected'];
$query = "SELECT szActivitySubCategory FROM Subcategories WHERE szTeam = '$team'";
$result = sqlsrv_query($conn,$query);
if(!$result){
echo "<center>Error detected:Query <b>".$query."</b> did not work.
<br>Please contact the administrator</center><br>".sqlsrv_errors($query);
}
$ouput = "<option value=\"\">Select Category</option>";
while($row = sqlsrv_fetch_array($result, SQLSRV_FETCH_ASSOC))
{
$selected = $row['szActivitySubCategory'];
$ouput = $ouput."<option value='$selected'> $selected </option>";
}
echo $ouput;
?>
What is happening??
The code is not working as expected. I tested the getcategory.php file using a default team and works properly.. it return an option list with the results of the query.
Also, the rest of the code seems to be correct.
The jquery is suppose to insert the ouput from getcategory.php in the id ('#optioncategory') but it doesn't.
I've already read:
http://www.lisenme.com/dynamic-dependent-select-box-using-jquery-ajax-php/
But it does not help me at all because my code is simillar and have the same structure.
Any suggestion to fix it??
Thanks in advance!
The code were incomplete. It was a missing script on the header:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
Regards,

javascript function is supposed to display php SESSION data but isn't called

I'm trying to make a regular old registration form for a website; and I'm trying to display the name of the logged-in user(if any) at the top of the page. However, the function that is supposed to update that field doesn't seem o be called at all, and I can't make heads or tails of it, nor of the error messages my console displays:
"Uncaught SyntaxError: Unexpected token < -- pagina_registrazione.php:36"
"Uncaught ReferenceError: update_name is not defined
onload -- pagina_registrazione.php:10"
here is the code:
<?php
require './config_db.php';
?>
<!DOCTYPE HTML>
<html lang = "it" >
<head>
<meta charset="utf-8">
<meta name = "keywords" content = "catcher, profilo, registrazione, utente">
<meta name="author" content="Luca Ballarati">
<link rel="stylesheet" href="./../stile/sottopagine.css" type="text/css" media="screen">
<title>pagina di registrazione</title>
</head>
<body onload=update_name>
<section>
<p id="spia_connessione">NOMEUTENTEQUI</p>
<p>Se hai già un'account <strong>clicca qui</strong> per accedere.</p>
<p>Altrimenti <strong>registrati</strong> compilando i campi qui sotto</p>
</section>
<div id="login_form">
<form name="registra" action="./pagina_registrazione.php" method="post">
<div>
<label><p>Nome Utente</p></label>
<input type="text" placeholder="nome_utente" name="username" required autofocus>
</div>
<div>
<label><p>Password</p></label>
<input type="password" placeholder="password" name="password" required>
</div>
<div>
<label><p>Conferma Password</p></label>
<input type="password" placeholder="conferma_password" name="passwordconfirm" required>
</div>
<input name="pulsante_invio" type="submit" value="Invia">
<?php
if(isset($_POST['pulsante_invio'])) {
$nomeutente = $_POST['username'];
$password = $_POST['password'];
$cpassword = $_POST['passwordconfirm'];
if ($password==$cpassword) {
$query = "SELECT * FROM utenti WHERE NomeUtente='$nomeutente'";
$esegui_query = mysqli_query($con,$query);
if(mysqli_num_rows($esegui_query)>0) {
echo '<script type="text/javascript">
window.alert("Nome Utente già usato: registrarsi con un diverso Nome Utente");
</script>';
}
else {
$query = "INSERT INTO utenti (NomeUtente,Password,Record,Partite)
VALUES('$nomeutente','$password',0,0)";
$esegui_query = mysqli_query($con,$query);
if ($esegui_query) {
$nome = $_SESSION['username'];
//porta l'utente alla pagina di login
echo '<script type="text/javascript">
window.alert("Utente registrato correttamente");
</script>';
//echo '<script type="text/javascript">
//document.getElementById("spia_connessione").innerHTML = "'$nome'";
//</script>';
}
else {
echo '<script type="text/javascript">
window.alert("Errore durante la registrazione");
</script>';
}
}
}
else {
echo '<script type="text/javascript">
window.alert("Password e Password di conferma devono essere uguali");
</script>';
}
}
?>
</form>
</div>
<script type="text/javascript">
function update_name() {
window.alert("nome utente aggiornato");
var nm = <?php echo $_SESSION['username']; ?>;
document.getElementById("spia_connessione").innerHTML = nm;
}
</script>
</body>
Please write this code on the top of your php file.
<?php
ob_start();
session_start();
?>

PhP login redirect stops working after applying CSS and JS to the code

I am trying to write a simple login code. The problem is that the code works and redirects to dashboard.php without any css and js files.
But as soon as include my header file,consisting of css and js, it stops working and gets stuck on auth_check.php.
Here is my code.
main index file ( index.php) - containing the login form
<?php include('header.php');?>
<?php
$message = $_GET['message'];
if($message == 1) {
echo '
<div class="alert alert-success">
<button type="button" class="close" data-dismiss="alert">
Invalid username or password.</br> ×</button>
</div>
';
}
if($message == 2) {
echo '
<div class="alert alert-success">
<button type="button" class="close" data-dismiss="alert">
You have successfully logged out! </br> ×</button>
</div>
';
}
?>
<div data-role="content">
<div id="loginform" > //Login form code
<form action="auth_check.php" method="post"> // form action="auth_check.php"
<div id="usernameDiv" data-role="field-contain">
<input type="text" id="name" name="username" placeholder="Username">
</div>
<div id="passwordDiv" data-role="field-contain">
<input type="password" id="password" name="password" placeholder="Password">
</div>
<div id="loginbuttonDiv" data-role="field-contain">
<button type="submit" name="submit" id="loginbutton"></button>
</div>
</form>
</div>
<?php include('footer.php'); ?>
Authorisation check (auth_check.php) (here the header(location:) doesnt work after applying js in index.php :(
<?php
include('config.php');
session_start();
include 'PasswordHash.php';
$hasher = new PasswordHash(8, FALSE);
if (!empty($_POST))
{
$username = $sql->real_escape_string($_POST['username']);
$query = "SELECT id, password, UNIX_TIMESTAMP(created) AS salt
FROM users
WHERE username = '{$username}'";
$user = $sql->query($query)->fetch_object();
if ($user && $user->password == $hasher->CheckPassword($_POST['password'],
$user->password))
{
session_register("username"); // session checker for pages
$_SESSION['username']= $username; // storing username in session
header("location: dashboard.php");
exit;
}
else
{
header("location: index.php?message=1");
exit;
}
}
?>
here is the file header.php which is causing the problem.
<?php
include('config.php');
?>
<!DOCTYPE HTML>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<link rel="stylesheet" type="text/css" href="custom.css">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.2/jquery.mobile-
1.4.2.min.css" />
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.js"></script>
<script type="text/javascript" src="js/login.js"></script>
<head>

Categories