将参数hashtag发送到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”之类的值发送到另一个页面?

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

可以发送它们,但你需要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中包含的所有变量执行此操作.

点赞