2012-07-23 80 views
1

是否有可能通過PHP函數打開另一個PHP文件(print_array.php)傳遞$ array?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。

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

在print_array.php其結果將是

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

我不認爲標題( 「位置:print_array.php」)可以通過數組值。 有沒有什麼好方法可以在傳遞數組值的新窗口中打開另一個PHP頁面?

+0

新窗口有條件意味着通常JavaScript是參與而不是PHP。所以我會說簡單的答案是「不」。沒有太多細節。 – hakre 2012-07-23 15:47:15

回答

1

要使用Javascript打開窗口,請在頁面加載時使用window.open()。

要將數據傳遞到新頁面,請使用_SESSION變量。當你到了腳本的馬桶蓋,使用方法:

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

在新窗口(用於頭後()來得到它,使用:

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

您將有機會獲得在新的窗口整個陣列

+0

我使用會話保持數組值和JavaScript來打開新窗口..工作得很好:)謝謝! – chloe 2012-07-24 04:58:14

0

請記住,PHP不會打開窗口等。你正在尋找的東西聽起來像需要用HTML和/或JavaScript來實現。

0

最好的辦法是使用JavaScript:點擊後

杉杉聲明你的複選框來調用javascript函數:

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

然後在您的網頁如下:

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

您還可以使用$_POST$_GET對於這一點,如果你嚴格想要去用PHP。

在服務器端,你可以做switch($_GET['array'])並做你的東西。這樣,你就必須到窗體聲明中更改到

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

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