2017-02-09 22 views
0

Я новичок в игре PHP, и моя проблема заключается в том, чтобы понять, что извинения за 101 вопрос.Значение по умолчанию для PHP-страницы без аргумента в URL-адресе

У меня есть 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-адресе, но я не знаю.

Большое спасибо, если вы можете помочь.

EDIT: На всякий случай, когда вы правы, Джеймс, я включаю в себя фактическую эхо-линию, которую я использую (sans domain). Все остальное - это то же самое, что я набрал его выше.

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>'; 

EDIT: И когда я просмотреть исходный код страницы, это то, что возвращается из 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

Спасибо Магнусу. Я внесла поправки в код. У моего кода нет слабых. Не знаю, как они прогуливаются там. – Baddie

ответ

0

Это был код, который я должен работать, я должен был добавить дополнительный шаг.

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

Мне было бы интересно узнать, может ли кто-нибудь решить, почему оригинал не работал.