我想从当前页面获取节点值并将其传递到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']
的值。
答案 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
完成。