2017-02-09 77 views
0

我是新来的PHP游戏,我的问题是理解101问题的道歉。URL中没有参数的PHP页面的默认值

我在我的网站上的子文件夹中有一个index.php。 我知道我可以通过URL将参数传递给页面。

https://example.com/subfolder?id=1234 

如果有人导航到

https://example.com/subfolder 

没有说法,我怎么提供了默认的4321?

我已经从其他堆栈溢出问题,收集到的代码是

<?php 
    $id = (isset($_GET["id"])) ? $_GET["id"] : "4321"; 
    echo "<some html>" . $id . "<some more html>"; 
?> 

我也试过

<?php 
    if (isset($_GET['id'])) { 
    $id = $_GET['id']; 
    } else { 
    $id = "4321"; 
    } 
    echo "<some html>" . $id . "<some more html>"; 
?> 

我相信这是只是写同样的事情不同的方式。

当代码提供并且页面可以正常工作时,代码从URL中抽取参数,但当参数未提供时,它不提供默认值。我怀疑这与id变量没有被定义,如果它不在URL中有关系,但我不知道。

非常感谢,如果你可以帮忙。

编辑:万一你是正确的詹姆斯,我包括我使用的实际回声线(无域)。其他的一切都与我上面输入的一样。

echo '<iframe width="70%" padding-bottom="20px" height="900" scrolling="yes" frameborder="no" 
     src="https://example.com/eventlist/415c564448271d0f1504/?point_of_sale_id=' . $id . '"></iframe>'; 

编辑:当我查看网页源代码,这是从PHP

<iframe width="70%" padding-bottom="20px" height="900" scrolling="yes" frameborder="no" 
     src="https://example.com/eventlist/415c564448271d0f1504/?point_of_sale_id="></iframe> 
+4

你的两个代码示例都应该可以正常工作,所以有些东西告诉我还有另一个我们错过的难题。 –

+0

如果这些引号来自真实代码,请将它们改为:'''并再试一次。只有'''和'“'是PHP中的有效引号。你可能也想看看:[我如何得到PHP错误显示?](http://stackoverflow.com/questions/1053424/how-do-i-get-php-errors-to-display)。 –

+0

谢谢Magnus。我修改了代码。我的代码没有那些笨拙的代码。真的不知道他们是如何偷偷溜进去的。 – Baddie

回答

0

这是我工作的代码返回的年代,我不得不在额外的步骤中添加。

<?php 
    $id = $_GET["id"]; 
    $linkId = (isset($id)) ? $id : "4321"; 
    echo "<some html>" . $linkId . "<some more html>"; 
?> 

我很想知道是否有人可以找出原因为什么不起作用。