PHP - 从当前页面获取节点值后重定向到另一个页面

时间:2015-04-01 20:20:29

标签: php wordpress redirect dom

我想从当前页面获取节点值并将其传递到URL的参数后,将用户重定向到另一个页面,这是我的代码:

<?php

    $dom = new DOMDocument;
    $html = file_get_contents(home_url(). $_SERVER['REQUEST_URI']);
    $dom->loadHTML($html);

    $addresses =   $dom->getElementsByTagName('address');


    foreach ($addresses as $key => $address) {
            $add[$key] = $address->nodeValue;
    }


   $fields['address'] = urlencode($add[0]);

    $qry = http_build_query($fields);

    if(!empty($qry)){  
        header( 'Location: http://example.com/subscription-form/?' . $qry) ;  
       }

       ?>

它确实成功重定向,但http_build_query值为空。以下是重定向的示例:http://example.com/subscription-form/?address=,网址没有$_GET['address']的值。

1 个答案:

答案 0 :(得分:0)

PHP重定向不起作用,所以我尝试使用JavaScript并且它有效:

    $redir = '<script type="text/javascript">';
    $redir.= 'window.location.href="http://example.com/subscription-form/?';
    $redir.= $qry .'"';
    $redir.= '</script>';

    echo $redir;

是的,没有必要urlencode,因为它已由http_build_query完成。