2014-12-18 2 views
-1

Только что начал изучать php 4 дня назад.Как назначить уникальное ключевое слово в php?

Как передать или присвоить уникальное ключевое слово для каждой страницы? У меня есть /header.php

<?php 
$artist = basename($_SERVER["SCRIPT_FILENAME"], '.php'); 
$artist = str_replace('-', ' ', $artist); 
$artist = ucwords($artist); 
$year = date("Y") ; 
$tpTitle= "$artist Tour $year"; 
?> 

Тогда у меня есть такие страницы в каталоге /taylor-swift.php

<?php 
include("/header.php"); ?> 

<h1><?php echo "$tpTitle" ?> </h1> 

?> 

Я хочу передать уникальное имя тура в каждую страницу. Если имя файла /taylor-swift.php, то добавьте ключевое слово «1989» в h1. Если имя файла /one-direction.php затем добавить ключевое слово "On The Road Again" в h1

Final h1 должен быть как "Taylor Swift "The 1989" Tour 2014"

я не использую MySQL и Я хочу установить все значения из /header.php

+0

Вы спрашивали, почему ваш вопрос игнорируется (что является комментарием и должно быть здесь в комментариях). Я думаю, это потому, что это немного сложно понять. Так как есть ответы на новые ответы, это может быть немного суровым, но не воспринимайте это лично. Просто впитывайте тот факт, что люди находят его неясным и видят, можете ли вы придумать способ сделать его более ясным. Или просто согласитесь, что у вас есть ответ, который вам нужен, и двигаться дальше :) – GreenAsJade

ответ

1

Просмотрите $_SERVER['REQUEST_URI'], чтобы узнать, какая страница (/taylor-swift.php, one-direction.php) пользователь. Затем определить массив так:

<?php 
$tour_names = [ 
    'taylor-swift' => 'The 1989', 
    'one-direction' => 'On The Road Again' 
]; 
?> 

<h1>Taylor Swift <?= $tour_names[$_SERVER['REQUEST_URI']] ?> Tour 2014</h1> 

Вам необходимо либо использовать substr() или explode() для очистки REQUEST_URI, но это должно быть хорошей отправной точкой для вас.

1

Ваш вопрос действительно неясен (о том, что вы пытаетесь выполнить, и некоторой информации, почему вы хотите, чтобы он работал таким образом), но, учитывая, что вы конкретно упоминаете, что вы просто изучаете язык, я постараюсь дать некоторые ответы ..

Если я правильно понял, вы можете просто скопировать строку «1989» в файл «taylor-swift.php» (или «На дороге снова» в one-direction.php) и сделать вещи менее сложные

Редактировать: Хорошо, я думаю, увидев ответ Джеффа, я получил лучшее понимание .. вы хотите создать какую-то «базу данных» в /header.php. Я просто объединить свой ответ на свой ори код header.php

<?php 

$tour_names = [ 
    'Taylor Swift' => 'The 1989', 
    'One Direction' => 'On The Road Again' 
]; 

$artist = basename($_SERVER["SCRIPT_FILENAME"], '.php'); 
$artist = str_replace('-', ' ', $artist); 
$artist = ucwords($artist); 
$year = date("Y") ; 
$tpTitle= $artist . '"' . $tour_names[$artist] . '"' . ' Tour ' . $year; 
?> 
+0

спасибо. Это работает. :) – ipunkbali

+0

btw У меня нет времени на жесткое кодирование каждого файла, так как у меня более 2000 файлов, а названия тура, как правило, меняются каждый год. – ipunkbali

+0

Рад слышать, что это работает на вашем конце. Только один совет, включающий волатильные данные в исходном коде, не является хорошей практикой в ​​программировании (это главная причина, по которой я и, вероятно, другие запутались в первую очередь). Если у вас есть время, вы можете попытаться реализовать надлежащую базу данных MYSQL в своем решении. Желаем удачи – Va1iant

0
<?php 
include("/header.php"); 

$tpTitle= "whatever title you want"; 


echo "<h1>$tpTitle</h1> " ; 

?> 

или непосредственно удалить $ tpTitle в header.php и изменения в h1

/taylor-swift.php

echo "<h1>whatever you want title</h1> " ;