2013-08-27 5 views
0

index.php의 양식이 있습니다. 제출되면 나는 process.php의 결과를 index.php의 결과 div에 표시하고자합니다. 확신양식의 PHP 페이지에서 데이터 가져 오기

index.php를

<div id="result"></div> 

<form action="" id="form" method="get"> 
    <input type="text" id="q" name="q" maxlength="16"> 
</form> 

process.php ... 나는 AJAX의 어떤 종류를 필요로하지만 난 모르겠어요

<?php 

$result = $_GET['q']; 

if($result == "Pancakes") { 
    echo 'Result is Pancakes'; 
} 

else { 
    echo 'Result is something else'; 
} 

?> 
+2

AJAX에 대한 확신이 있다면 그것에 대해 조금 읽으십시오. 구글'AJAX' 이상 : – Alvaro

+0

AJAX를 아직 사용해 보지 않으셨습니까? AJAX를 사용해보고 문제를 말해주십시오. –

+0

[** Google에서 div 형식으로 결과 표시 php **] (https://www.google.ca/search?q=show+result+in+div+form+php&ie=utf-8&oe=utf-8&rls=org .mozilla : ko-ko : 공식 및 클라이언트 = firefox-a & 채널 = np 및 source = hp & gws_rd = cr) –

답변

0

방법으로이 일에 대한 귀하의 index.php :

<div id="result"><?php include "process.php"?></div>

1

이있다 JQuery와 아약스 예를 들어,

$.ajax({ 
     type: "POST", 
     url: "somescript.php", 
     datatype: "html", 
     data: dataString, 
     success: function(data) { 
      doSomething(data); 
     } 
    }); 
2

당신은 정말하지 "필요"AJAX 이것에 대한 당신은 자신에 제출 프로세스 파일을 포함 할 수 있기 때문에 :

의 index.php

<div id="result"> 
    <?php include('process.php'); ?> 
</div> 

<form action="index.php" id="form" method="get"> 
    <input type="text" id="q" name="q" maxlength="16"> 
    <input type="submit" name="submit" value="Submit"> 
</form> 

process.php

<?php 
// Check if form was submitted 
if(isset($_GET['submit'])){ 

    $result = $_GET['q']; 

    if($result == "Pancakes") { 
     echo 'Result is Pancakes'; 
    } 

    else { 
     echo 'Result is something else'; 
    } 
} 
?> 

AJAX를 구현하면 일을보다 사용자 친화적으로 수행 할 수 있지만 코드가 복잡해집니다. 어떤 길로 행운을 빌어 요!

은 그것을 할

<script> 
//wait for page load to initialize script 
$(document).ready(function(){ 
    //listen for form submission 
    $('form').on('submit', function(e){ 
     //prevent form from submitting and leaving page 
     e.preventDefault(); 

     // AJAX goodness! 
     $.ajax({ 
      type: "GET", //type of submit 
      cache: false, //important or else you might get wrong data returned to you 
      url: "process.php", //destination 
      datatype: "html", //expected data format from process.php 
      data: $('form').serialize(), //target your form's data and serialize for a POST 
      success: function(data) { // data is the var which holds the output of your process.php 

       // locate the div with #result and fill it with returned data from process.php 
       $('#result').html(data); 
      } 
     }); 
    }); 
}); 
</script> 
+0

당신은'if (isset ($ _ POST [ 'submit'])) {'그것이 작동하지 않았다. 나는 그것을 if (isset ($ _GET [ 'submit'])) {'로 변경했고 이제는 작동한다. –

+0

당신의'type : "POST",'는 Ajax 메서드에서'type : "GET",'으로 설정 될 필요가 있습니다. –

+0

아, 습관의 힘.다행 당신을 위해 일했다! – MonkeyZeus

0

두 가지 방법 JQuery와 아약스의 예입니다.

ajax를 사용하여 process.php를 호출하십시오. (jQuery - 아약스 호출을 보내고 결과에 따라 물건을 작성하는 것이 좋습니다.) 그런 다음 javascript를 사용하여 양식을 변경하십시오.

또는 폼을 생성하는 PHP 코드가 폼이 제출하는 것과 동일한 PHP 코드를 가져 와서 매개 변수를 가져 오는 경우에 따라 다른 결과를 출력하십시오. (편집 : MonkeyZeus가이 작업을 수행하는 방법에 대한 구체적인 내용을 알려주었습니다.)

관련 문제