HTML формирует два действия

Поэтому, как правило, у меня есть форма, действие которой представляет собой ссылку, которая проверяет имя пользователя и пароль пользователя (не может опубликовать ссылку, не принадлежит мне), и если она верна, она дает мне «хорошо» или «нет». Как можно Я делаю это так, что если да, он направляет меня на мою индексную страницу, а если нет, выдает ошибку или перезагружает страницу или что-то еще. Это их способ сделать это
Общий вид HTML:

 <form method="post" action="https://***************/login">
<label for="book">Username:</label>
<input type="text" name="username" id="username" placeholder="Enter username">
<label for="course">Password:</label>
<input type="password" name="password" id="password" placeholder="Enter password">
<input type="submit" value="Log in">
</form>

поэтому, если бы я изменил его так, как я хочу, то действие должно измениться на что-то вроде verify.php, которое будет иметь вид

<?php
# how do I use an if for a link using the info that was input
if($_POST["https://***************/login"]){
#load index.html
?>
<script type="text/javascript">
window.location.href = 'index.html';
</script>
<?php
else{
#load the page again
?>
<script type="text/javascript">
window.location.href = 'login.php';
</script>
<?php
}
?>

Я немного новичок в php.
Поэтому, пожалуйста, помогите

5

Решение

Не имея возможности редактировать файл подтверждения входа в систему, я думаю, что ваш лучший вариант — отправить форму через ajax и обработать ее ответ с помощью javascript, имея такую ​​форму, как

<form method="post" action="" onsubmit="return false;">
<label for="book">Username:</label>
<input type="text" name="username" id="username" placeholder="Enter username">
<label for="course">Password:</label>
<input type="password" name="password" id="password" placeholder="Enter password">
<input type="submit" value="Log in" onclick="btnAuthenticateUser();">
</form>

тогда в простом JavaScript что-то вроде

<script type="text/javascript">
var xmlHttp;
function GetXmlHttpObject() {
var xmlHttp = null;
try {
xmlHttp = new XMLHttpRequest();
}
catch (e) {
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
function btnAuthenticateUser() {
try {
var username = document.getElementById('username');
var pwd = document.getElementById('password');
xmlHttp = GetXmlHttpObject();
if (xmlHttp == null) {
alert("Your browser does not support AJAX!");
return;
}
var url = 'https://***************/login?username=' + username.value + '&password=' + pwd.value;
xmlHttp.onreadystatechange = function () {
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
if (xmlHttp.responseText == "ok") {
window.location = "index.html";
} else {
location.reload();
}
}
if (xmlHttp.readyState == 4) {
// LoadingPage
}
}
}
xmlHttp.open("POST", url, true);
xmlHttp.send(null);
if (xmlHttp.readyState == 1) {
//LoadingPage
}
} catch (e) {
alert(e.Message);
}
}
</script>

или если вы используете JQuery

function btnAuthenticateUser() {
$.ajax({
async: true,
type: 'POST',
url: 'https://***************/login',
data: { username: $('#username').val(), password: $('#password').val()}
})
.done(function (data) {
if (data == "ok") {
window.location = "index.html";
}else{
location.reload();
}
})
.fail(function (jqxhr, textStatus, error) {
GriterError(Global.FailTryAgain);
});
}
1

Другие решения

Существует заголовок для перенаправления, вы должны поместить его в свой PHP-скрипт:

header('Location: yoururl.com');

Чтобы записать ошибку из вашего скрипта, вы можете установить ее в переменных $ _SESSION:

session_start(); // at the beginning of your script
$_SESSION['error'] = 'Password incorrect, please try again';

И так, на другой странице вы можете использовать что-то вроде:

if($_SESSION['error']) {
echo $_SESSION['error']; // display error
$_SESSION['error'] = ''; // delete it
}
3

Вы можете выполнить необходимое действие в сценарии проверки, а затем добавить перенаправление, используя заголовки в PHP.

После проверки вы можете выбрать, на какую страницу перейти через оператор if / then

например:

if ([the action you wanted succeeded]) {
header('Location: index.php');
}
else {
header('Location: login.php');
}
0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector