The problem is that JS is just a client-side scripting language - it is only processed in the client browser.
AJAX, , ( cookie). , cookie , , HTML, jQuery ...
, :
- -
- "log in"
- , , ,
$_SESSION['username'] () - AJAX
$('#login_reply') - , ( )
$_SESSION['username'] - , PHP div #login_reply, , ...
, ...
EDIT1. , () JS, POST ...
EDIT2: ...
:
if (isset($_POST['username'], $_POST['password']))
{
$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string(md5($_POST['password']));
$check = mysql_query("SELECT * FROM `userbase` WHERE `user_name` = '$username'");
if (mysql_num_rows($check) > 0)
{
while ($row = mysql_fetch_assoc($check))
{
$user_id = $row['user_id'];
$user_name = $row['user_name'];
$user_email = $row['user_email'];
$user_password = $row['user_password'];
if ($password == $user_password)
{
$_SESSION['user_id'] = $user_id;
if (isset($_SESSION['user_id']) && $_SESSION['user_id'] != '')
echo "Welcome back '$user_name'!";
else
{
echo 'no';
}
}
else
echo 'no';
}
}
else
echo 'no';
}
(- mysql_ *, ):
if (isset($_POST['username'], $_POST['password'])) {
$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string(md5($_POST['password']));
$check = mysql_query("SELECT * FROM `userbase` WHERE `user_name` = '{$username}' AND `user_password` = '{$password}' LIMIT 1"); // <-- We check whether a user with given username AND password exists and we ONLY want to return ONE record if found...
if ($check !== false) {
$row = mysql_fetch_assoc($check);
$_SESSION['user_id'] = $row['user_id'];
echo "Welcome back '{$row['user_name']}'!";
} else {
echo 'no';
}
} else
echo 'no';
}