PHP循环没有抛出正确的链接

时间:2017-06-03 22:50:50

标签: php html

对于我的问题,我会尝试尽可能简短

我想要做的是使用PHP在HTML锚链接中引用具有特定id的页面,如下所示

<body>
<?php  $linkName = "Second Page"; ?>
<?php $id = 5; ?>

<a href="secondPage.php?id=<?php echo $id;?>"><?php echo $linkName?></a><br>

并且工作正常

现在我要做的是通过将数字从1到10循环并提供10个链接来使$ id部分更具动态性

代码是

</head>
<body>
    <?php  $linkName = "Second Page"; ?>
    <?php $id = 5; ?>

    <?php  
        for ($i=0; $i < 10 ; $i++) { 
            echo "<a href='secondPage.php?id=<?php echo $i;?'>Link1</a>";
        };

    ?>
</body>

然而我注意到的是,因为下面的图像表明我何时悬停在链接上,我注意到我指的是一个奇怪的链接

Strange Link

当我陈词滥调时,它会带我到以下链接,其中包含我不想要的ID,如下所示

http://localhost/PHP_Course/secondPage.php?id=%3C?php%20echo%201;?

我尝试研究这个主题,我试图逃避报价,但似乎没有解决问题

请帮忙吗?

4 个答案:

答案 0 :(得分:0)

你在PHP中回显一个字符串,并在该字符串中使用<?php...

解决方案:

echo "<a href='secondPage.php?id=" . $i . "'>Link1</a>";

id=$i也可以,因为您可以直接在双引号字符串中包含变量。

答案 1 :(得分:0)

您将PHP代码本身作为字符串回显。您不需要将PHP代码放在 PHP代码中。只需连接您想要回显的值:

echo '<a href="secondPage.php?id=' . $i . '">Link1</a>';

答案 2 :(得分:0)

因为您已经启动了一个echo语句,因此您不需要添加另一个PHP开始和结束标记。只需检查下面的代码并尝试一下。

<?php  
           for ($i=0; $i < 10 ; $i++) { 
             echo "<a href='secondPage.php?id=".$i."'>Link1</a>";
    } ;

?>

答案 3 :(得分:0)

<?php?>标记向PHP预处理器指示其中的任何内容都是代码并且需要进行解析,外部的所有内容都只是PHP无法触及的文本。

<?php标记内,"<?php"字符串没有特殊含义,因此打印出来。您无需一直打开和关闭标签,请尝试以下操作:

</head>
<body>
    <?php
        $linkName = "Second Page";
        $id = 5;

        for ($i = 0; $i < 10 ; $i++) { 
            echo "<a href='secondPage.php?id=$i;'>Link1</a>";
        };
    ?>
</body>