5

いくつかの値を含む配列があります。

arr['one'] = "one value here";
arr['two'] = "second value here";
arr['three'] = "third value here";

この値はページhome.phpにあり、ページの最後でページdetail.phpにリダイレクトされます。直接発生したときに、この配列をページhome.phpからdetail.phpに渡したいと思います。

post および get メソッドを使用してこの値を送信できる方法はいくつありますか。また、可能であれば、detail.php ページでこれらの値を受け取って出力する方法を教えてください。

各タイプの例は非常に高く評価されています。

4

4 に答える 4

4

これを行う最も簡単な方法は、セッションを使用して、あるページから別のページに配列を保存することです。

session_start();
$_SESSION['array_to_save'] = $arr;

セッションの詳細: http://php.net/manual/en/function.session-start.php

セッションを使用したくない場合は、最初のページで次のようなことができます

$serialized =htmlspecialchars(serialize($arr));
echo "<input type=\"hidden\" name=\"ArrayData\" value=\"$serialized\"/>";

もう1つは、次のように配列データを取得します。

$value = unserialize($_POST['ArrayData']);

ここにある解決策: https://stackoverflow.com/a/3638962/1606729

于 2012-12-10T23:56:50.967 に答える
3

セッションを使用したくない場合は、ページを他のファイルに含めることができます。

file1.php

<php
    $arr = array();
    $arr['one'] = "one value here";
    $arr['two'] = "second value here";
    $arr['three'] = "third value here";
?>

file2.php

<?php

    include "file1.php";

    print_r($arr);
?>

配列が動的に作成され、それを GET または POST で渡したい場合は、サーバー側で URL を形成し、ユーザーを php ファイルではなく HTTP URL ページにリダイレクトする必要があります。

次のようなものです:

file1.php

<php
    $arr = array();
    $arr['one'] = "one value here";
    $arr['two'] = "second value here";
    $arr['three'] = "third value here";

    $redirect = "http://yoursite.com/file2.php?".http_build_query($arr);
    header( "Location: $redirect" );

?>

file2.php

<?php

    $params = $_GET;

    print_r($params['one']);
    print_r($params['two']);
    print_r($params['three']);
?>
于 2012-12-11T00:03:41.043 に答える
2

home.php ファイル

session_start();
if(!empty($arr)){
    $_SESSION['value'] = $arr;
     redirect_to("../detail.php");
}

詳細.php

session_start();                    
if(isset($_SESSION['value'])){                           
    foreach ($_SESSION['value'] as $arr) {
        echo $arr . "<br />";
        unset($_SESSION['value']);
    }
}
于 2012-12-11T00:48:49.520 に答える
0

クエリパラメータで値を渡すこともできます。

header('Location: detail.php?' . http_build_query($arr, null, '&'));

そして、次のようにdetail.phpで配列を取得できます。

// your values are in the $_GET array
echo $_GET['one'];  // echoes "one value here" by your example

GETまたはPOST(非表示の入力フィールド)で値を渡すと、ユーザーが簡単に変更できることに注意してください。

于 2012-12-11T00:11:28.620 に答える