2012-04-15 4 views
-4

필자는 PHP에서 객체 지향 프로그래밍으로 시작합니다.jquery ajax를 사용하여 php 클래스에서 함수를 호출 할 수 있습니까?

아약스와 jquery를 사용하여 로깅을하고 싶습니다.

EDIT : jquery AJAX를 사용하여 jquery.php 파일에서 ajax 함수를 호출 할 수 있습니까?

//FILE jquery.php 

class jquery { 

    public function ajax() { 

    echo "result";  

    } 
} 
+0

AJAX로 PHP 클래스를 호출 할 수는 없지만 실행 결과를 얻을 수는 있습니다. AJAX 부분에서 프로그래밍 패러다임은 부적합합니다. – NaN

+0

나는 PHP에서 하나의 클래스를 갖기를 원했다. 클래스에서 함수를 호출하십시오. 이것이 가능한가? – Jenan

+0

예,이 작업을 수행 할 수 있지만 중요한 코드를 구현하기 전에 먼저 Ajax 및 PHP에 대한 기본 사항을 배우는 것이 좋습니다. –

답변

1

: 당신의 ajax.php 파일 내에서

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

을 당신은 같은 것을 할 수 있습니다

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

이 매우 입니다 예제를 제거했습니다 ... 실제 상황에서는 초 urity를 ​​고려하여 서버 외부에서 얻은 정보를 살균하십시오. 사용자로부터).

내가 제공 한 이름은 장소 소유자 만 있습니다. 기능/변수 이름을 편안하게 변경할 수 있습니다.

나는이 사실이 당신의 수수께끼에 어떤 빛을 비추 길 바랍니다.

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를 사용하면 웹 애플리케이션은 기존 페이지의 표시 및 작동을 방해하지 않으면 서 백그라운드에서 비동기 적으로 서버로 데이터를 보내고 서버에서 데이터를 검색 할 수 있습니다. 그게 전부 야.

내가 믿는이

은 당신이 찾고있는 (이 아니 OOP 생각하지만, 메신저 귀하의 질문에 대답하려고 전체 OOP 로그인을 작성하지 않음)

파일 것입니다 : 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'; 
    } 
?> 

그래서 당신 이 코드는-않은 시험이며,이 회신로 작성된 명심, 또

<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> 

, 그래서 w에 대한 해결책으로이 취급하지 않는 : 같은과 함께 HTML 페이지를 가질 수있다 모자가 아니라 원하는 것을 구현하는 데 도움이되는 자료입니다.

관련 문제