pass array between two php files

后端 未结 4 1020
失恋的感觉
失恋的感觉 2020-12-12 07:21

I have a php file that needs to redirect to another, but I need to pass an array to the second file. How can I do this.

I know this is wrong, but I need something l

相关标签:
4条回答
  • 2020-12-12 08:03

    That's not how you do headers. it'd have to be

    header("Location: someurl.php?vals=$arr");
    

    however, this would just generat the URL

    someurl.php?vals=Array
    

    Note that a redirect by its nature cannot do a POST. it will result in a new GET request, meaning you have to pass data in the URL. If you have a very large url, you're almost guaranteed to lose most of it, as URLs have length limits.

    However, if it's a short one, you can try something like:

    $url = 'someurl.php?vals=' . url_encode(serialize($arr));
    header("Location: $url");
    

    and hope it works.

    0 讨论(0)
  • 2020-12-12 08:08

    If you don't want to expose your $array, you MUST use PHP inbuild session support.

    session_start(); // DO CALL ON TOP OF BOTH PAGES
    $_SESSION['array'] = $array;
    echo $_SESSION['array']; // GIVES SAME $array FOR BOTH PAGES
    
    0 讨论(0)
  • 2020-12-12 08:09

    You may store the array on the session or the request and then retrieve it.

    If it is a different request you'll have to do it in the session.

    $_SESSION['myarray'] = $array_you_want_to_store;
    

    And then.

    $array_you_want_to_retrieve = $_SESSION['myaarray'];
    
    0 讨论(0)
  • 2020-12-12 08:13

    Use http_build_query:

    header("Location: someurl.php?" . http_build_query($arr));
    
    0 讨论(0)
提交回复
热议问题