有个问题很疑惑

有个问题很疑惑

<?php

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

echo $editFormAction ;
?>

文件名为1.php 为什么输出的是1.php?而不是1.php
不是说         $_SERVER['QUERY_STRING']获取的是?后面的参数吗,1.php根本没有参数啊为什么还多出现个问号?

$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
这里加了上去的啊。后面确定是没有参数。
如履薄冰

可以改成这样

[复制到剪切板]
CODE:
$editFormAction .= $_SERVER['QUERY_STRING']!=''?"?" htmlentities($_SERVER['QUERY_STRING']):''; ;

如履薄冰

回复好快,谢谢斑竹
问题是if (isset($_SERVER['QUERY_STRING'])) 先判断了,我的理解是if (isset($_SERVER['QUERY_STRING'])) 判断没有$_SERVER['QUERY_STRING']参数,所以直接输出1.php而不带问号

$_SERVER['QUERY_STRING'] 是存在的,只不过为空串。所以isset是成立的
如履薄冰

谢谢了!  斑竹好热心