将变量发送到服务器

时间:2014-01-26 21:20:42

标签: php html

我的网页上有一个链接可能有错误。我不知道此页面的URL,但是当用户单击此链接时,我希望刷新相同的页面并传递这些变量以进行处理。我的链接似乎有用但是 我担心的是:

当我查看该页面并打开页面源时,我得到'&'用红色突出显示对我来说意味着存在某种错误。这条线是否符合网络标准?

 <a name="anchorOpen" href="?folder=<?php echo $j; ?>&full=<?php echo 

 $fullScreen;?>#anchorOpen" > <img  src="<?php print "$firstPic[$j]";?>" 

  class="folderPic"/></a>

这是组合通过链接传递的变量的方法。这条线有什么问题吗?感谢。

3 个答案:

答案 0 :(得分:0)

&符号(&符号)应在HTML中写为&amp;。这是因为&符号位于保留符号列表中。请参阅w3schools作为参考。

如果您想将整个批次作为php字符串回显,还可以选择使用php htmlentities()函数。

答案 1 :(得分:0)

&amp;显示为红色让我觉得&amp;不在引号(“)内。 如果您将变量传递到网址,则可以考虑使用 urlencode()

<?php
     echo '<a name="anchorOpen" href="?folder='.urlencode($j).'&full='.urlencode($fullScreen).'#anchorOpen">';
     echo '<img  src="'.urlencode($firstPic[$j]).'" class="folderPic"/></a>';
?>

答案 2 :(得分:0)

最正确的方法是将urlencode()用于您在网址中注入的变量 比如说,“foo bar”将转换为“foo+bar” 或者,“foo&bar”会完全破坏网址,因此会转换为“foo%26bar

因此,在您的示例中,它将是:

<a href="?folder=<?php echo urlencode($j)?>&full=<?php echo urlencode($fullscreen)?>#anchorOpen"><img  src="<?php echo $firstPic[$j]?>" class="folderPic"/></a>

然后,在PHP脚本中,不需要做任何特殊的事情 - $ _GET变量将被自动转换回来,因此你将完全拥有“foo bar”和“foo&bar”在此之前。