POST запрос к ../login.php?
вместо использования ajax, оберните элементы формы в
<form method=POST action="login.php">
User Name: <input name="username"><br>
Password: <input name="passwrd" type="password"><br>
<input type="submit" name="Login">
</form>
Почему вы делаете AJAX, если хотите изменить адресную строку?
Редактировать
Добавлены реальные значения в форму
Редактировать 2 Больше ясности.
Вы действительно должны войти в систему через форму (см. Сообщение @nathans).
- Переименуйте вашу html форму входа в php страницу. Давайте назовем это loginForm.php.
- Удалите все функции javascript из loginForm.php
- Вставьте форму в loginForm, используя тег формы.
- В файле login.php вы проверяете, успешно ли пользователь вошел в систему,
Если вход выполнен успешно:
$failMsg = urlencode("Logged in successfully")
header("Location: loginForm.php?okMsg=$msg&redirect=home.php");
Если вход не выполнен:
$failMsg = urlencode("Failed to login")
header("Location: loginForm.php?failMsg=$msg");
В вашем loginForm.php, где вы сейчас отображаете свои сообщения об ошибках, укажите:
<? echo htmlentities($_REQUEST['failMsg']);?>
В loginForm.php, где вы отображаете журнал успеха, введите сообщение
<? echo htmlentities($_REQUEST['okMsg']);?>
И в голову тег ставить
<? if(array_key_exists($_REQUEST,'redirect'))
{
echo "<meta http-equiv='refresh" content='5;url=/".$_REQUEST['redirect']."' />";
}
?>
Там нет JavaScript, и пользователь получает красивые сообщения об ошибках и перенаправляется на домашнюю страницу после входа в систему.