2015-03-14 3 views
0

У меня есть файл php, хранящийся удаленно. Он использует сообщение, чтобы принимать 2 переменные, «имя пользователя» и «пароль», которые затем будут отображаться как «Допустимые», так и «Недействительные» в зависимости от наличия в моей базе данных. В настоящее время я использую это с моим приложением для Android, чтобы регистрировать пользователей.Получение вывода php-файла с помощью Javascript

Я хотел бы использовать этот же скрипт для входа на мой сайт, который я создаю. Мне нужно передать две переменные, которые я получил из HTML-формы, в функцию javascript, которая будет принимать переменные, запускать их, используя php-запрос, читать эхо-результат и принимать решение об возврате true или false в форму. Ниже приведен код, который я в настоящее время для сценария

Javascript код:

<script type="text/javascript"> 
     function Login(){ 
      var username = document.getElementById('username').value; 
      var password = document.getElementById('password').value; 
      if (username == "" || password == "") { 
       alert ("Please fill in username and password fields"); 
       return false; 
      } 
      $.post("my_query_url.php",{username:username, password:password}, function(data) { 
       if (data.toLowerCase == "valid") 
        return true; 
       else 
        return false; 
      }); 
     } 
    </script> 

HTML форма:

<form action="Main.html" method="post" onsubmit=" return Login();"> 
    Username: <br> 
    <input type="text" name="username" id="username"><br> 
    Password: <br> 
    <input type="password" name="password" id="password"><br><br> 
    <input type="submit" value="Login"> 
</form> 

В настоящее время, он всегда посылает пользователю на мою страницу main.html с лицами, не являющимися - пустое имя пользователя/пароль.

Я не очень хорошо разбираюсь в этих двух языках, но мне нужно учиться быстро, так как они важны для моего старшего семестра класса Project, и особенно в следующие две недели. Это возможно сделать только с Javascript и HTML? Некоторые указатели будут высоко оценены! Спасибо!

+0

Вы должны использовать Ajax для отправки запроса на сервер и получения вывода. – justanothercoder

+0

браузер отправляется в 'main.html', когда вы нажимаете' submit' – balajisoundar

+0

@justanothercoder .he использует ajax.' $ .post' – balajisoundar

ответ

0

Вы на самом деле почти все пути. Вам просто нужно вернуть false из вашей функции входа, чтобы предотвратить действие по умолчанию формы от запуска (что необходимо перенаправить на main.html). Затем вместо того, чтобы полагаться на форму для перенаправления пользователя, вам нужно будет сделать это самостоятельно через javascript.

<script type="text/javascript"> 
    function Login(){ 
     var username = document.getElementById('username').value; 
     var password = document.getElementById('password').value; 
     if (username == "" || password == "") { 
      alert ("Please fill in username and password fields"); 
      return false; 
     } 
     $.post("my_query_url.php",{username:username, password:password}, function(data) { 
      if (data.toLowerCase() === "valid") 
       window.location.href = "./Main.html"; //redirect the user 
      else 
       return false; 
     }); 
     return false 
    } 
</script> 
+0

Эй бежал. Я добавил ваши изменения и удалил действие из своей формы. Теперь я получаю, что никаких действий не происходит как с правильными, так и с неправильными учетными данными. Есть еще советы? Как я уже говорил, я не очень хорошо разбираюсь в этих языках. Есть ли какой-либо способ, которым я могу быть уверен, что переменная 'data' фактически получает что-либо из php-скрипта? – msant080

+0

Вы пропустили переадресацию? – runspired

+0

Я добавил это к коду, поэтому я думаю, что он неправильно доходит до php-запроса или что «данные» не содержат то, что, как я думаю, должно иметь – msant080

Смежные вопросы