2012-04-15 13 views
-4

私は、PHPでオブジェクト指向プログラミングから始めます。jquery ajaxを使用してphpクラスから関数を呼び出すことはできますか?

私はajaxとjqueryを使用してロギングを行います。

EDIT: jquery AJAXを使用して、ファイルjquery.phpから関数ajaxを呼び出すことはできますか?

//FILE jquery.php 

class jquery { 

    public function ajax() { 

    echo "result";  

    } 
} 
+0

AJAXでPHPクラスを呼び出すことはできませんが、実行結果を得ることができます。 AJAXの場合、プログラミングのパラダイムは無関係です。 – NaN

+0

私はPHPで1つのクラスを持っていたかったのです。クラスから関数を呼び出します。これは可能ですか? – Jenan

+0

はい、この作業を行うことができますが、重要なコードを実装する前に、まずAjaxとPHPに関する基礎を学ぶことをお勧めします。 –

答えて

1

あなたはこれに似たAJAX呼び出し作る場合:あなたはこのような何かを行うことができますajax.phpファイル内

http://example.com/ajax.php?firstParam=1

を:

switch($_GET['firstParam']){ 
case "1": 
    callYourFunction(); 
break; 
case "2": 
    someOtherFunction(); 
break; 
} 

これは非常にですの例が取り除かれました...実世界の場合、秒サーバーの外部から取得している情報をすべて消去してください。ユーザーから)。

私が与えた名前は、プレースホルダーだけです。あなたは、機能/変数名をあなたが気楽に感じるものに変更できます。

私はこれがあなたの謎にいくつかの光を当てることを願っています。

1

クラスを直接呼び出すことはできませんが、実行結果をフェッチできます。

ここでは、というと、ほぼと表示されますが、とすると、重要なログインコードには使用しません。

<?php 
$ftcn = $_GET['getname']; 
$bc = new ReallyBadCode(); 
$bc->$ftcn(); 

class ReallyBadCode{ 
    function test(){ 
    } 

    function __call($name, $args){ 
     $this->$name($args); 
    } 

} 
1

AJAXの内容を完全に理解しているかどうかは不明ですが、Asynchronous JavaScriptとXMLの略語です。 Ajaxを使用すると、Webアプリケーションは、既存のページの表示や動作を妨げずに、バックグラウンドで非同期的にサーバーにデータを送信したり、サーバーからデータを取得したりすることができます。それでおしまい。だから、login.php

<?php 
    $db = new PDO("mysql:host=localhost;dbname=database", SQL_USER, SQL_PASS); 

    $stmt = $db->prepare('SELECT user_id, user_activated FROM users WHERE (username = AND user_password = ? LIMIT 1'); 
    $stmt->execute(array($_POST['u'], $_POST['p'])); 

    if($stmt->rowCount() == 1) 
    { 
    // Authentication session storage stuff here 
    echo 'Logged in'; 
    } 
    else 
    { 
    echo 'bad login'; 
    } 
?> 

あなたは:

私はあなたが(そのないOOPけれども、しかし、イムは、あなたの質問に答えるしようとする全体のOOPログインを書いていない)のために探しているものであると考えている。この

ファイルこのコードは、国連テストであり、これに応答するようにそれを書かれた心に留めておく、また

<div id="results"></div> 

<input type="text" id="txtUsername" /> <br /> 
<input type="password" id="txtPassword" /><br /> 
<button id="cmdLogin">Login</button> 

<script> 
    $(document).ready(function(){ 
    $("#cmdLogin").click(function(){ 
     $u = $("#txtUsername").val(); 
     $p = $("#txtPassword").val(); 

     $.ajax({ 
       type: "POST", 
       url: "http://yoursite.com/login.php", 
       data: "u="+u+"&p="+p 
      }).done(function(results) { 
        $("#results").html(results).hide().fadeIn(); 
      }); 
    }); 
    }); 
</script> 

、そうワットへの解決策としてこれを扱わない:ようなものでHTMLページを持つことができますあなたが求めているものを実装するのに役立つリソースです。

関連する問題