Mam problem z połączeniem z bazą poprzez ajaxa metodą post. kod wygląda tak:
<?php
if($_POST)
{
$login = $_POST['username'];
$password = $_POST['password'];
$polaczenie = mysql_connect('', '', '') or die("brak polaczenia: ".mysql_error());
$baza = mysql_select_db('test',$polaczenie) or exit("nie wybrano bazy, blad". mysql_error());
mysql_query("SET NAMES utf8");
mysql_query("SET CHARACTER_SET utf8_polish_ci");
if (mysql_num_rows(mysql_query("SELECT login, password FROM c WHERE login = '".$login."' && password = '".$password."'")) > 0)
{
header("Location: dashboard.php");
exit;
}
else
{
$errorMessage = "Złe dane";
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title> Strona gwna </title>
<script type='text/javascript' src='jquery-1.3.2.min.js'></script>
<script>
$(document).ready(function() {
$('#errorConsole').hide();
$('form[name=loginForm]').submit(function() {
$.post('ajaxx.php',{username: $('[name=username]').val(),
password: $('[name=password]').val()},
function(data) {
if(data.success)
{
location.href=data.redirect;
}
else
{
$('#errorConsole').html(data.message).fadeIn();
}
}, 'json');
return false;
});
});
</script>
<link rel="stylesheet" href=" style.css " type="text/css">
</head>
<body>
<?php echo $errorMessage?>
<div id='errorConsole'></div>
<form method='post' action='/ajax.php' name='loginForm'>
Username:<br />
<input type='text' name='username'/><br />
Password:<br />
<input type='password' name='password'/><br />
<input type='submit' value='login' />
</form>
</body>
</html>I kod obsługujący wysłane zmienne:
<?php require('lacz.php');?>
<?php
if($_POST)
{
$login = htmlspecialchars($_POST["username"]);
$password = htmlspecialchars($_POST["password"]);
if (mysql_num_rows(mysql_query("SELECT login, password FROM c WHERE login = '".$login."' && password = '".$password."'")) > 0)
{
$data['success'] = true;
$data['redirect'] = 'dashboard.php';
}
else
{
$data['success'] = false;
$data['message'] = "zly login lub haslo";
}
echo json_encode($data);
}
?>Niestety po kliknięciu w przycisk nic się nie dzieje natomiast gdy dam w warunku np. if(htmlspecialchars($_POST["password"]) == 'test') <= czyli sprawdze jakąś ustaloną wartość to działa poprawnie, ale jak tylko dodam ten drugi to automatycznie przestaje działać. Nie mam pojęcia dlaczego.

Logowanie
Rejestracja
Pomoc
Dodaj odpowiedź
Cytuj
