Добавить тег заголовка страницы на основе переменной из URL - PullRequest
1 голос
/ 27 апреля 2011

Я видел следующий поток, но он немного за мной ...

Как я могу динамически изменить тег в php на основе значений URL

По сути, у меня есть страница index.php (в ней нет php, названной только для будущего - может быть, сейчас!).Он содержит множество галерей стилей лайтбоксов, которые могут запускаться из внешней ссылки с помощью переменной в URL-адресе - например, index.php? Open = true2, index.php? Open = true3 и т. Д.

Мне бы хотелось, чтобытег заголовка index.php - чтобы включить существующие статические данные + добавить дополнительные слова на основе переменной URL - например, если URL open = true2 добавить «автомобильную галерею», если URL open = true3 добавить «галерею кошек», если в URL нет переменной addничего для заголовка.

Кто-нибудь может помочь?Я искал, но либо пропустил суть постов, либо не был рассмотрен (до уровня моего любителя).

Большое спасибо.Пол.

Ответы [ 5 ]

1 голос
/ 27 апреля 2011

В верхней части вашего PHP-скрипта поместите это:

<?php

# define your titles
$titles = array('true2' => 'Car Gallery', 'true3' => 'Cat Gallery');

# if the 'open' var is set then get the appropriate title from the $titles array
# otherwise set to empty string.
$title = (isset($_GET['open']) ? ' - '.$titles[$_GET['open']] : '');

?>

А затем используйте это, чтобы включить свой пользовательский заголовок:

<title>Pauls Great Site<?php echo htmlentities($title); ?></title>

0 голосов
/ 27 апреля 2011

Некоторые другие ответы открыты для злоупотреблений, попробуйте вместо этого:

<?php
    if(array_key_exists('open', $_GET)){
        $title = $_GET['open'];
    } else {
        $title = '';
    }
    $title = strip_tags($title);
?>
<html>
    <head>
        <title><?php echo htmlentities($title); ?></title>
    </head>
    <body>
            <p>The content of the document......</p>
    </body>
</html>

В противном случае, как упомянул @Ben.Сначала определите заголовки в своем PHP, чтобы люди не могли напрямую вставлять текст в ваш HTML.

0 голосов
/ 27 апреля 2011
<?php
    if( array_key_exists('open', $_GET) ){
        $title = $_GET['open'];
    }else{
        $title = '';
    }
?>
<html>
<head>
<title><?php echo $title; ?></title>
</head>

<body>
The content of the document......
</body>

</html>

http://www.w3schools.com/TAGS/tag_title.asp

http://php.net/manual/en/reserved.variables.get.php

0 голосов
/ 27 апреля 2011

PHP может получать информацию из строки запроса URL (www.yoursite.com?page=1&cat=dog и т. Д.).Вам нужно получить эту информацию, убедиться, что она не является вредоносной, и затем вы можете вставить ее в заголовок.Вот простой пример - для вашего приложения убедитесь, что вы дезинфицируете данные и убедитесь, что они не являются вредоносными:

<?php
$open = "";

// check querystring exists
if (isset($_GET['open'])) {
// if it does, assign it to variable
$open = $_GET['open'];
}
?>

<html><head><title>This is the title: <?php $open ?></title></head>

PHP имеет множество функций для экранирования данных, которые могут содержать неприятные вещи - если вы посмотрите вверхhtmlspecialchars и htmlentities вы должны найти информацию, которая поможет.

0 голосов
/ 27 апреля 2011
<title>Your Static Stuff <?php echo $your_dyamic_stuff;?></title>
...