1

我有以下代码,但无法在返回时获得完整的变量值。

<?php
$no7="Girls pink";
$no8="All Categories";
$aw="2";

echo'<table width="auto" border="0">
  <tr>
        <td width="auto" class="s">'; echo "<a href=search.php?search_name=".$no7."&mydropdown=".$no8."&pno=".$aw.">".$aw."</a>"; echo'</td>
  </tr>
</table>';
?>

感谢您的帮助问候,

4

4 回答 4

3

在值上添加引号href

echo "<a href='search.php?search_name=".$no7."&mydropdown=".$no8."&pno=".$aw."'>".$aw."</a>";
//            ^--------------------------- quotes ----------------------------^
于 2012-07-24T14:41:00.827 回答
1

使用urlencodehtmlspecialchars

echo "<a href='search.php?search_name=" . urlencode($no7) . "&amp;mydropdown=" . urlencode($no8) . "&amp;pno=" . urlencode($aw) . "'>" . htmlspecialchars($aw) . "</a>";

另外:在 URL 周围添加引号,并替换为&&amp;获得更好的 HTML 语法。

于 2012-07-24T14:39:46.230 回答
0

清理可怕的格式/布局并使用HEREDOC

echo <<<EOL
<table width="auto" border="0">
<tr>
    <td width="auto" class="s"><a href="search.php?search_name={$no7}&mydropdown={$no8}&pno={$aw}">{$aw}</a></td>
</tr>
</table>
EOL;

请注意,HEREDOC 如何消除对所有这些单独的回显的需求,允许将变量插值到字符串中(不再“断开字符串以连接”),并允许正确格式化/缩进 HTML 代码。

于 2012-07-24T14:45:20.350 回答
0

问题是变量中的空格。浏览器将空格作为 href 标记的结尾更多的是一个问题。如前所述,使用urlencode或将变量中的空格转换为+

于 2012-07-24T14:46:36.457 回答