2015-08-18 9 views
1

Как использовать запрос $ .post для передачи имени пользователя и пароля на адрес сервера?Передача имени пользователя/пароля на сервер url

Я хочу вернуть true или false из этого запроса.

$.post("dtbs.php",{username:userName,password:password},function(result){ 
}); 

Приведенный выше код представляет собой это, но я хочу передать истинное или ложное значение в текстовый файл с этой просьбой. Я смущен, как это сделать?

Ниже мой сценарий:

<script> 
        $(document).ready(function(){ 
         $("#loginBtn").click(function(){ 
         var userName = $("#inputlUsername3").val(); 
         var password = $("#inputlPassword3").val(); 
         if(userName && password) { 
          //your php request goes here and return true or false or any ohter response as per your need 
          $.post("dtbs.php",{username:userName,password:password},function(result){ 

}); 
          $.ajax({url: "response.txt", success: function(result){ 
           if(result === 'true') { 
           alert("Redirect it to dashboard"); 
           } else { 
           alert("Show error"); 
           } 
          }}); 
         } else { 
          alert("Plz fill all the field"); 
         } 
         }); 
        }); 
      </script> 

Ниже представляет dtbs.php

<?php 
$uname=$_POST['txtuname']; 
$pwd2=$_POST['txtpwd2']; 
$con=mysql_connect("localhost","root","") or die(mysql_error()); 
mysql_select_db("onlineshop",$con); 
$r=mysql_query("select password from users where username='$uname'",$con); 
$row = mysql_fetch_row($r); 
    $val=$row[0]; 

if($val!="") 
{ 
if($pwd2==$val) 
{ 
    session_start(); 
    $_SESSION['username']=$uname; 
    $myfile= fopen("response.txt", "w") or die("unable to open file"); 
    $txt="true"; 
    fwrite($myfile, $txt); 
    fclose($myfile); 
} 
else { 

     $myfile= fopen("response.txt", "w") or die("unable to open file"); 
    $txt="false"; 
    fwrite($myfile, $txt); 
    fclose($myfile); 


} 
} 
else { 

$myfile= fopen("response.txt", "w") or die("unable to open file"); 
    $txt="false"; 
    fwrite($myfile, $txt); 
    fclose($myfile); 
} 
?> 

предложить мне решение.

ответ

1

dtbs.php должен возвращать результаты в случае успешного имени пользователя/пароля, а не писать в текстовый файл.

<script> 
    $(document).ready(function(){ 
     $("#loginBtn").click(function(){ 
      var userName = $("#inputlUsername3").val(); 
      var password = $("#inputlPassword3").val(); 
      if(userName && password) { 
       $.post("dtbs.php", username:userName, password:password}, function(result){ 
        if(result === 'true') { 
         alert("Redirect it to dashboard");        
        } 
        else { 
         alert("Show error"); 
        } 
       }); 

      } else { 
       alert("Plz fill all the field"); 
      } 
     }); 
    }); 
</script> 


<?php 
$uname=$_POST['username']; 
$pwd2=$_POST['password']; 
$con=mysql_connect("localhost","root","") or die(mysql_error()); 
mysql_select_db("onlineshop",$con); 
$r=mysql_query("select password from users where username='$uname'",$con); 
$row = mysql_fetch_row($r); 
$val=$row[0]; 

if($val!="") 
{ 
    if($pwd2==$val) 
    { 
     session_start(); 
     $_SESSION['username']=$uname; 
     echo 'true'; 
    } 
    else { 
     echo 'false'; 
    } 
} 
else { 
    echo 'false'; 
} 
?> 

В целом, у вас есть следующие проблемы с вашим кодом:

  • Не используйте функцию msql_, те устарели.
  • Проблемы с внедрением SQL.
  • Хранение паролей в БД в виде обычного текста.
  • Подключение к mySql как root без пароля.
+0

Как насчет части $ .ajax? –

+0

Нет, почему? Верните результаты из $ .post в dtbs.php. – AndrewR

+0

Итак, вы хотите сказать, что я использую $ .post вместо $ .ajax? –

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