我正在尝试将字符串传递通过url,以通过另一个php页面中的echo语句进行打印,但它会打印变量名而不是值
第1页:
<p><?php $first = $row['post'];
$string = substr($row['post'], 0, 200);
echo $string;
?></p>
</header>
<a href="#" class="image main"><img src="images/pic01.jpg" alt="" /></a>
<ul class="actions special">
<a href="article.php?posters='.$first.'" class="button large">
Full Story</a>
这是我试图将变量的值首先通过url传递到下一页的代码
第2页:
<p><?php echo $_GET['posters'];?></p>
这就是我在第2页中称呼它的方式,并且打印在页面上的结果是
'.$first.'
如何获取它来打印变量$first
而不是名称的实际值。
答案 0 :(得分:2)
简单修复:
<a href="article.php?posters=<?php echo $first ?>" class="button large">Full Story</a>
希望这会有所帮助!
答案 1 :(得分:1)
由于OP没有提及$row['post']
的值,所以我任意选择一个值,并按如下方式操纵它,将其分配给$first
:
<p><?php
$row['post'] = "The rain in Spain stays mainly in the plain";
$first = substr($row['post'], -5, 5);
?></p>
</header>
<a href="#" class="image main"><img src="images/pic01.jpg" alt="" /></a>
<ul class="actions special">
<a href="article.php?posters=<?=urlencode($first) ?>" class="button large">
Full Story</a>
请参见live code
a 标记是HTML,不会给圆点赋予任何特殊含义,不像PHP那样,PHP会将其视为串联运算符,因此应删除两个圆点。
为了在将PHP嵌入HTML中时显示变量的PHP值(这不是当今的最佳实践;退出MVC),有两种方法。一种是使用 echo ,但也有一个速记有效,本示例也使用了速记,即<?=$first
。
注意:构建网址时,好的做法是使用urlencode()。另外,您不需要在网址的查询字符串部分中使用单引号;单引号可以防止对变量值进行字符串插值,因此您看到的是文字变量名称。
答案 2 :(得分:-1)
<?php
//single quoutes return variable name
$first = "hello";
echo '$first'; //$first
//double quoutes return variable value
$first = "hello";
echo "$first" ; // hello
?>
在第1页中 您必须使用双引号
<a href="article.php?posters=<?php echo $first ?>" class="button large"> Full Story</a>