如何包含在URL
问题描述:
现在我已经硬编码下面的PHP代码,我想两个值传递给index.php
如何包含在URL
<a href="index.php?vaccineid=VI 7038&patientid=PN001">
<?php echo $row['vaccine'];?></a>
我曾尝试与动态代码来取代它,但不成功
<a href="index.php?vaccineid =<?php echo "$row['vaccineid']";?>
&patientid=<?php echo "$_SESSION['abc']"; ?>"><?php echo $row['vaccine'];?></a>
任何想法?由于
答
在双引号字符串中使用数组索引时,请勿在索引周围加引号。因此,所有你需要做的是改变
echo "$row['vaccineid']"
echo "$_SESSION['abc']"
要:
// Remove single-quotes around keys ['key'] => [key]
echo "$row[vaccineid]"
echo "$_SESSION[abc]"
或者因为你是输出只是数组值去掉双引号:
echo $row['vaccineid']
echo $_SESSION['abc']
答
尝试使用HTML实体 https://www.w3schools.com/html/html_entities.asp
如传递这样的事情在
<?php echo "blablabla"; ?>
这给值< PHP的回声 “blablabla?”; ?>
答
我觉得也许使用http_build_query()从手册:
<?php
$values = array(
'vaccineid' => $row['vaccineid'],
'patientid'=> $_SESSION['abc']
);
?>
<a href="index.php?<?php echo http_build_query($values) ?>"><?php echo $row['vaccineid'] ?></a>
检查您的阵列,以确保它是你所期望的:
print_r($values);
最后要注意,如果你有会话中的$_SESSION['abc']
,不要通过GET
发送,只需在处理下一页的vaccineid
时从会话中检索它即可。
答
您的变量无法解析里面有双引号。
<a href="index.php?vaccineid=<?php echo urlencode($row['vaccineid']));?>&patientid=<?php echo $_SESSION['abc']; ?>"><?php echo $row['vaccine'];?></a>
编辑:你也需要编码vaccineid
,因为它包含包含空格。
不错的答案。你在第3行的数组键中有一个错字。应该是'vaccineid' – BeetleJuice