首頁 > 後端開發 > php教程 > 如何不让smarty对url中的“&”转成“&”?

如何不让smarty对url中的“&”转成“&”?

WBOY
發布: 2016-06-23 13:27:01
原創
1029 人瀏覽過

后台:

function save_sort_handler(){	//-----获取应该返回的地址-----//	$backUrl=R('backUrl','');	if(empty($backUrl) && isset($_SERVER["HTTP_REFERER"])){		$backUrl=$_SERVER["HTTP_REFERER"];	}	$GLOBALS['smarty']->assign("backUrl",$backUrl);	//----------------------//	$GLOBALS['smarty']->display("takeaway_sort.dwt");}
登入後複製


前台:
<script type="text/javascript">			alert('{$backUrl}');			var isComplete={$isComplete};						if(isComplete){				var result="保存成功!";			}			else{				var result="保存失败!";			}			if(confirm(result+" 是否返回?")){				location.href='{$backUrl}';			}			else{				var type='{$type}';				if(type!=''){					location.href="takeaway_sort.php?type={$type}&backUrl={$backUrl}";				}			}		</script>
登入後複製


后台的echo和前台的alert出的$backUrl分别为:


回复讨论(解决方案)

转义一下不行吗?

你的来源url地址是什么样子?是否也是被处理过的。

你在 $GLOBALS['smarty']->assign("backUrl",$backUrl); 之前看一下 $backUrl
echo $backUrl;
应该是已经变了,与 smarty 无关

alert({$backurl|smarty:nodefaults}) 试试

来源地址本身没有错,是经过smarty的填充后才出错的。这个问题解决了,把参数填充在一个input元素的value里面就正确了:

后台:$GLOBALS['smarty']->assign("backUrl",$backUrl); 

前台:

谢谢大家的热心帮忙,你们提供的解决方案我没试。纯散分吧。另外各位有时间可以看看我的这个水贴,关于职业发展的问题:

http://bbs.csdn.net/topics/391823338

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板