如何通过 href 传递值 - PHP
Posted
技术标签:
【中文标题】如何通过 href 传递值 - PHP【英文标题】:How to Pass a value via href - PHP 【发布时间】:2012-07-31 03:08:42 【问题描述】:我正在使用 href 标签传递一个值
在首页 Href 标签用作
echo "<a href=view_exp.php?compna=",$compname,">$compname</a>";
在第二页使用
$compname = $_GET['compna'];
通过接收 Compna 值,但只传递第一个单词,跳过其余单词。
公司名称为“ Chiti Technologies Ltd ” 当我传递值时,我收到的只有“Chiti”
【问题讨论】:
【参考方案1】:使用此代码:
echo '<a href="view_exp.php?compna='.urlencode($compname).'">'.$compname.'</a>';
【讨论】:
【参考方案2】:您需要为您的href
添加引号,此外,您还需要使用urlencode
对变量进行编码。
echo '<a href="view_exp.php?compna=' . urlencode($compname) . '">' . $compname . '</a>';
【讨论】:
. '">$compname</a>"
??最后一个"
应该是'
。
@ShaquinTrifonoff 是的,已修复。
哈...我已经编辑了它,但它'在队列中等待同行评审'。
@ShaquinTrifonoff 是的,但是您的编辑让 $compname
出现在单引号中。
啊,我明白了。没注意到。【参考方案3】:
更改回显"<a href=view_exp.php?compna=",$compname,">$compname</a>";
回显"<a href=\"view_exp.php?compna=$compname\">$compname</a>";
当使用双引号字符串 " 时,您不需要在其间粘贴变量,只需键入它们即可。 此外,当将字符串粘贴在一起时,不要使用逗号,而是使用 .粘贴字符串,否则你会得到解析错误。 对于数组,将它们包含在大括号
之间echo "<a href=\"view_exp.php?compna=$compname["whatever"]\">$compname</a>";
【讨论】:
【参考方案4】:您通过不引用参数来生成模棱两可/无效的 html。结果是这样的:
<a href=foo bar baz>
只有foo
被识别为属于href
,其余的不属于。引用值:
echo '<a href="view_exp.php?compna=', urlencode($compname), '">', htmlspecialchars($compname), '</a>';
【讨论】:
【参考方案5】:您只获得公司名称的第一个单词的原因是公司名称包含空格。您需要对名称进行编码。
echo "<a href=view_exp.php?compna=",urlencode($compname),">$compname</a>";
【讨论】:
以上是关于如何通过 href 传递值 - PHP的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 include 函数通过 URL 将变量/值传递给另一个 PHP 文件(通过 HTTP)? (PHP)