我在HTTP请求中使用值hashtag(#)发送参数时遇到问题.
示例我有matcontents是#3232,然后我需要发送参数与该值.我试过这样做:
echo "<td width=25% align=left bgcolor=$bgcolor id='title'> <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中包含的所有变量执行此操作.