将数据发送到数据库时出错。
,首先,我有URL,如:
www.domain.com/container.php?fun=olmaa发送数据后,URL如下所示:
www.domain.com/container.php?fun=olmaa&sent=yes但是,当再次发送时,它看起来像是:
www.domain.com/container.php?fun=olmaa&sent=yes&sent=yes
为什么要再次插入&sent=yes ??
我的代码是:
$url = "http". ((!empty($_SERVER['HTTPS'])) ? "s" : "") . "://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
header('Location: '.$url."&sent=yes");谢谢
发布于 2014-09-06 06:53:32
在追加发送参数之前,只需通过strpos检查它是否已经存在。试试这个..。
$url = "http". ((!empty($_SERVER['HTTPS'])) ? "s" : "") . "://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
$final_url = (strpos($url, '&sent=yes') == false) ? $url."&sent=yes" : $url;
header('Location: '.$final_url);或者可以使用parse_str。
$url = "http". ((!empty($_SERVER['HTTPS'])) ? "s" : "") . "://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
parse_str($url, $params);
$final_url = (!isset($params['sent'])) ? $url."&sent=yes" : $url;
header('Location: '.$final_url);发布于 2014-09-06 06:57:23
问题是,第二次尝试发送数据时,您要发送的url是
www.domain.com/container.php?fun=olmaa&sent=yes因此,当您在$_SERVER‘’中构建新的url时,&sent=yes部分已经存在,并且再次追加它,这就是为什么您看到它两次的原因。user3659034给出的代码解决了这个问题。
https://stackoverflow.com/questions/25697624
复制相似问题