1

PHP関数を介して$arrayを渡す別のPHPファイル(print_array.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>

array []はすべてチェックされているため、$ arrayの値は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 )

header( "Location:print_array.php")が配列値を渡すことができないと思います。配列値を渡す新しいウィンドウで別のPHPページを開く良い方法はありますか?

4

3 に答える 3

1

Javascriptを使用してウィンドウを開くには、ページの読み込み時にwindow.open()を使用します。

新しいページにデータを取得するには、_SESSION変数を使用します。swtichを使用してスクリプトを取得するときは、次を使用します。

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

新しいウィンドウで(header()を使用してアクセスした後、次を使用します。

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

新しいウィンドウでアレイ全体にアクセスできます。

于 2012-07-23T15:49:32.683 に答える
0

PHPはウィンドウなどを開かないことに注意してください。あなたがやろうとしていることは、HTMLやJavaScriptで達成する必要があるように思えます。

于 2012-07-23T15:49:30.217 に答える
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>

PHPを厳密に使用したい場合は、これに$_POSTまたは$_GETを使用することもできます。

サーバー側では、自分の作業switch($_GET['array'])を実行できます。このように、フォーム宣言を次のように変更する必要があります。

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

また

<form method=post action="<?php echo $_SERVER['PHP_SELF']; ?>">
于 2012-07-23T16:03:31.307 に答える