2016-11-17 20 views
0

私はfile.phpを持ち、関数の中にあります。Javascriptサイド、私はAjaxを使用しています。phpファイルの関数呼び出しとJavaScript変数の受け渡し

$.ajax({ 
    type: "POST", 
    url: "file.php", 
    data: {param1: params1, param2: params2...}, 
    complete: function(data){ 
    /* code */ 
    } 
}); 

ここで、ファイルfile.phpには、関数ログインが存在します。私の質問どのように関数のログインを呼び出すことができますか?ありがとう。

function ft_login($login, $password) { 
    $u = new KVObject(); 
    $u->collection = "users"; 
    $u->loadFormArray(["login" => $login, "password" => $password]); 
    if ($u->obj_id == null) 
     return ["ERROR" => "Bad creditial"]; 
    if ($u->status == "blocked") 
     return ["ERROR" => "Account need to be activated"]; 

    $token = md5(time()); 
    $_SESSION[$token] = $u->dataObject; 
    return ["token" => $token, "user" => $u->dataObject]; 
} 

答えて

0

phpファイル全体が実行されます。したがって、file.phpの中でft_loginを呼び出すと、それは実行されます。その関数にパラメータを渡すことができます。

あなたのパラメータをjson_decodeに忘れてはいけません。

0

あなたは

$.ajax({ 
    type: "POST", 
    url: "file.php", 
    data: {request: 'login', password:userid, password:password}, 
    complete: function(data){ 
    } 
}); 

そしてfile.php PHPコード内の

<?php 
function ft_login($login, $password) { 

    . . . 

} 

if (isset($_POST['request'] && $_POST['request'] == 'login') { 
    if (isset($_POST['login'], $_POST['password'])) { 
     $result = ft_login($_POST['login'], $_POST['password']); 

     // do whatever with $result 
    } 
} 
を行うにはどのようなPHPコードを指示する別のパラメータを渡すことができます
関連する問題