将参数hashtag发送到php中的另一个页面

时间:2016-12-20 08:47:57

标签: php

我在HTTP请求中使用值hashtag(#)发送参数时遇到问题。

示例我有matcontents是#3232,然后我需要发送参数与该值。我试过这样做:

echo "<td width=25% align=left bgcolor=$bgcolor id='title'>&nbsp;<font face='Calibri' size='2'>
              <a href='../report/rptacc_det.php?kode=$brs3[matcontents]&fromd=$fromd2&tod=$tod2&type=$type&fty=$fty&nama=$brs3[itemdesc]' target='_blank'>
              $brs3[matcontents]</a></font></td>"; 

但是当我在rptacc_det.php上打电话给kode时,我什么都没有或空白。如何将“#3232”之类的值发送到另一页?

1 个答案:

答案 0 :(得分:2)

#之后的任何内容都不会在请求中发送到服务器,因为它被解释为页面上的锚位置。

可以发送它们,但您需要urlencode它们。

$kode = "this is a #test";

// Does not work:
// In the following, $_GET['parameter'] will be "this is a ";
// link will be '?kode=this is a #test'
echo '<a href=../report/rptacc_det.php?kode' . $kode . '>Click</a>'; 

// Works:
// In the following, $_GET['parameter'] will contain the content you need
// link will be '?kode=this%20is%20a%20%23test'
echo '<a href=../report/rptacc_det.php?kode' . urlencode($kode) . '>Click</a>';

要在rptacc_det.php中获取值,您可以使用urldecode

$kode = urldecode($_GET['kode']);

您应该对URL中包含的所有变量执行此操作。