2012-07-23 2 views
1

PHP 함수를 통해 $ array를 전달하는 다른 PHP 파일 (print_array.php)을 열 수 있습니까?PHP : 배열 값이 다른 PHP 열기

HTML :

<form method=post> 
<input type="checkbox" name="array[]" value="111"> 
<input type="checkbox" name="array[]" value="222"> 
<input type="checkbox" name="array[]" value="333"> 
<button type="submit" name="action" value="print">Print</button> 
<button type="submit" name="action" value="delete">Delete</button> 
<button type="submit" name="action" value="add">Add New</button> 
</form> 

배열 []의 모든 체크되기 때문에, $ 배열 값이 111, 222, 그리고, 333

, PHP 함수이다

switch ($action) { 
    case 'print': printing($_post['array']); break; /* open new window */ 
    case 'add': break; /* same window */ 
    case 'delete': break; /* same window */ 
    default: break; 
} 

function printing($array) { 
    /* open print_array.php in a new window showing $array value */ 
} 

및 그런 다음 action = print 인 경우에만 $ array 값을 가진 새 창에서 print_array.php를 엽니 다. 배열 값을 전달할 수 있습니다 ("print_array.php 위치")

if (is_array($array)) { 
    print_r($array); 
} else { 
    ... 
} 

print_array.php의 결과는 내가 헤더를 생각하지 않는다

Array ([0] => 111 [1] => 222 [2] => 333) 

될 것이다. 배열 값을 전달하는 새 창에서 다른 PHP 페이지를 여는 좋은 방법이 있습니까?

+0

새 창으로 양식 선언을 변경합니다. 그래서 간단한 대답은 "아니오"라고 말하고 싶습니다. 너무 자세히 설명하지 않고 – hakre

답변

1

자바 스크립트를 사용하여 창을 열려면 페이지가로드 될 때 window.open()을 사용하십시오.

데이터를 새 페이지로 가져 오려면 _SESSION 변수를 사용하십시오. 당신이 스위치 없음으로 스크립트에 도착하면, 사용

start_session(); 
$_SESSION['data'] = $_POST['array']; 

새 창에서 (당신이 헤더를 사용 후(), 사용 그것을 얻을 :

start_session(); 
$array = $_SESSION['data']; 

당신은에 액세스 할 수 있습니다 새 창에서 전체 배열

+0

배열 값과 자바 스크립트를 유지하는 세션을 사용하여 새 창을 열었습니다. 잘 작동했습니다 :) 감사합니다! – chloe

0

PHP는 창과 같은 것을 열지 않습니다. HTML 및/또는 javascript로 구현해야하는 것처럼 들리는 대상은 무엇입니까?

0

가장 좋은 방법은 자바 스크립트를 사용하는 것입니다 :. 클릭하면 자바 스크립트 함수를 호출 할

전나무이 체크 박스를 선언을 :

당신이 엄격하게 PHP와 함께 가고 싶은 경우에 당신은이에 대한 $_POST 또는 $_GET을 사용할 수 있습니다

<script type="text/javascript"> 
     function myfunction(number) { 
      if (number == 111) { 
       location.href="mypage.html"; 
      } 
     } 
</script> 

:

<input type="checkbox" name="array[]" onclick="myfunction(111)" value="111"> 

그런 다음 페이지에 다음과 같습니다.

서버 측에서는 switch($_GET['array'])을 수행하고 자신의 작업을 수행 할 수 있습니다. 당신이 가진 것이이 방법은 조건부 일반적으로 자바 스크립트가 PHP 관련 없다는 것을 의미

<form method=post action="<?php echo $_SERVER['PHP_SELF']; ?>"> 

또는

<form method=post action="<?php echo $_SERVER['PHP_SELF']; ?>">