我正在将一个变量从一个页面传递到另一个页面,它对我来说很好,但是对于有SPACE的变量它不起作用...
以下是代码段:
<?php echo "<a href=test2.php?key=".$row->ean."&key1=TW&key2=".$row->prod_compttr.">".$num2."</a>"; ?>
例如,如果key2包含&#34; Foto de Vakman&#34;然后只有Foto传递到其他页面。
如何排除这个问题?
答案 0 :(得分:1)
使用urlencode
。
<?php echo "<a href=test2.php?key=".urlencode($row->ean)."&key1=TW&key2=".urlencode($row->prod_compttr).">".urlencode($num2)."</a>"; ?>
答案 1 :(得分:0)
您需要为URL编码字符串,如下所示:
<?php
echo "<a href=test2.php?key=".urlencode($row->ean).
"&key1=TW&key2=".urlencode($row->prod_compttr).
">".urlencode($num2)."</a>";
?>
答案 2 :(得分:0)
网址永远不能有空格....所以为了避免这种情况,我建议您使用某个字符替换" "
然后在GET
上进行反转,如果您以后需要维护和使用空间页
如果您不了解 urlencode
,那么简单,天真,快捷的方式假设您的网址中的key
有" "
<a href=test2.php?key=".str_replace(' ', '~~~~', $row->ean)."&key1=TW&key2=".$row->prod_compttr.">".$num2."</a>"; ?>
/* Replace `" "` with `~~~~` here ^^ */
然后将值返回到您必须获取的页面
$url_key = str_replace("~~~~"," ", $_GET['key']);
答案 3 :(得分:0)
空格很好,通常用+编码。
为了更安全,请在您的值上使用urlencode(),如果手动将它们添加到您的参数中。
Ex. $key1 = 'Foto de Vakman';
echo urlencode($key1); // Foto+de+Vakman