Почему мой скрипт выдает end & bull; bull; (•) и как лучше всего это убрать?

Я написал этот сценарий «Вы здесь» для веб-сайта, и он работает, однако вывод для категории «История» имеет дополнительный трейлер, и я хотел бы знать, почему и удалите •

<?php
if (isset($_GET['pagina']) && isset($_GET['storycategory'])) {
$pagina = $_GET['pagina'];
$storycategory = $_GET['storycategory'];
$storypage = $storycategory;
$storypage = str_replace(stories, story, $storypage);
$storypagename = $_GET[$storypage];
$content_path = 'You are here: Home &bull; ' . $pagina . ' &bull; ' . $storycategory . ' &bull; ' . $storypagename;
$content_path = str_replace("-", " ", $content_path);
echo '<strong>' . $content_path . '</strong><hr />'; // Voor een bezoeker die in een bepaald verhaal bezoekt - Output: You are here: Home • all stories • story category Name • Best story ever
}
elseif (isset($_GET['pagina']) && isset($_GET['storycategory'])) { // this is the part that has a trailing  •  that I'd like to remove and find out why it was created by my script
$pagina = $_GET['pagina'];
$storycategory = $_GET['storycategory'];
$content_path = 'You are here: Home &bull; ' . $pagina . ' &bull; ' . $storycategory; // Note: I did NOT add a  •  here but it is generated in output...
$content_path = str_replace("-", " ", $content_path);
echo '<strong>' . $content_path . '</strong><hr />'; // Voor een bezoeker die in een bepaalde alles uit deze story category pagina is! Output: You are here: Home You are here: Home • all stories • story category Name •
}
elseif (isset($_GET['pagina'])) {
$pagina = $_GET['pagina'];
$content_path = 'You are here: Home &bull; ' . $pagina;
$content_path = str_replace("-", " ", $content_path);
echo '<strong>' . $content_path . '</strong><hr />'; // Voor een bezoeker die op de alle sex stories pagina is! Output: Home • all stories
}
else {
// Als iemand verdwaald is en daardoor bovenstaande totaal niet van toepassing is...
echo '<strong>Thank you for visiting our site!</strong><hr />';
}
?>

С Pagina все в порядке, не бычий след, но когда я захожу в какую-либо категорию, появляется • то, что я не люблю отображать (см. Вывод комментариев и примечание в коде), но когда я посещаю любую страницу истории в любой категории, есть нет • в конце …

Как я должен удалить быка и почему он был создан?

Спасибо за чтение!

РЕДАКТИРОВАТЬ
Я хотел бы объяснить используемые переменные в моем коде, я надеюсь, что это поможет понять этот вопрос.

У меня есть несколько URL-адресов, и я хотел бы рассказать посетителям, где они находятся:

Страница для истории: www.example.com/index.php?pagina=all-stories&storycategory = в-передовые истории&-лучший рассказ = мой-первых, компьютер

Страница для всех историй внутри «лучших историй»: www.example.com/index.php?pagina=all-stories&storycategory = в-передовые истории

Страница для всех категорий историй: www.example.com/index.php?pagina=all-stories

У меня есть папка с именем pagina, в этой папке вы найдете папку под названием storycategory, в папке storycategory вы найдете огромное количество папок, и у всех из них есть истории в качестве последней части их имен и множество файлов php, которые имеют История в конце там, мама (те же имена, но сменили истории на историю для файлов php в storycategory) в папках внутри папки storycategory хранятся мои истории …

Часть 1, чтобы повторить «Вы здесь: Домой • все истории • лучшая история • мой первый компьютер» это работает просто отлично

        if (isset($_GET['pagina']) && isset($_GET['storycategory']) && isset($_GET['storycategory'])) {
$pagina = $_GET['pagina'];
$storycategory = $_GET['storycategory'];
$storypage = $storycategory;
$storypage = str_replace(stories, story, $storypage);
$storypagename = $_GET[$storypage];
$content_path = 'You are here: Home &bull; ' . $pagina . ' &bull; ' . $storycategory . ' &bull; ' . $storypagename;
$content_path = str_replace("-", " ", $content_path);
echo '<strong>' . $content_path . '</strong><hr />'; // Voor een bezoeker die in een bepaald verhaal bezoekt - Output: You are here: Home • all stories • story category Name • Best story ever
}

Часть 2, где все идет не так с нежелательным

    elseif (isset($_GET['pagina']) && isset($_GET['storycategory'])) { // this is the part that has a trailing  •  that I'd like to remove and find out why it was created by my script
$pagina = $_GET['pagina'];
$storycategory = $_GET['storycategory'];
$content_path = 'You are here: Home &bull; ' . $pagina . ' &bull; ' . $storycategory; // Note: I did NOT add a  •  here but it is generated in output...
$content_path = str_replace("-", " ", $content_path);
echo '<strong>' . $content_path . '</strong><hr />'; // Voor een bezoeker die in een bepaalde alles uit deze story category pagina is! Output: You are here: Home You are here: Home • all stories • story category Name •
}

Часть 3 это тоже нормально, без проблем

    elseif (isset($_GET['pagina'])) {
$pagina = $_GET['pagina'];
$content_path = 'You are here: Home &bull; ' . $pagina;
$content_path = str_replace("-", " ", $content_path);
echo '<strong>' . $content_path . '</strong><hr />'; // Voor een bezoeker die op de alle sex stories pagina is! Output: Home • all stories
}

Часть 4 моего кода — это то, для чего не была установлена ​​переменная, связанная с историей, или неизвестная ошибка

    else {
// Als iemand verdwaald is en daardoor bovenstaande totaal niet van toepassing is...
echo '<strong>Thank you for visiting our site!</strong><hr />';
}

Что не так с частью 2 или почему я получаю быка в конце?

РЕДАКТИРОВАТЬ 2
отредактированная строка 2
Заменены
if (isset ($ _ GET [‘pagina’]) && Исеть ($ _ GET [ ‘storycategory’]) && isset ($ _ GET [‘storycategory’])) {
с
if (isset ($ _ GET [‘pagina’]) && isset ($ _ GET [‘storycategory’])) {

Проблема с • в конце все еще существует на страницах категорий рассказов, $storypage используется для создания $storypagename от storycategory использование str_replace и Home жестко закодировано.

РЕДАКТИРОВАТЬ 3 (Раскрыты)
isset($_GET[$storypagename])) (Строка 2) и $storypagename = $_GET[$storypagename]; Решил проблему в глобальном файле srories, но любая переменная должна быть определена перед запросом, как я уже говорил в комментариях, поэтому мне пришлось искать способ определить $storypagename до Строка 2. Я определил его во всех файлах метатегов для каждой отдельной страницы, и это работает отлично.

НОТА: Последние 2 жирные части являются динамический, поэтому последняя переменная url изменится, если посетитель находится в какой-либо другой категории.
Страница истории: www.example.com/index.php?pagina=all-stories&storycategory = в-передовые истории&заместитель лучший рассказзнак равномой первый компьютер,
Страница для рассказов в этой категории: www.example.com/index.php?pagina=all-stories&storycategory = в-передовые истории
Страница для всех категорий историй: www.example.com/index.php?pagina=all-stories

Сначала я попытался использовать str_replace (), используя значение storycategory, но раньше я не смог определить его, поэтому он никогда не работал, я считаю, что небольшая дополнительная строка в файле метатега $storypagename = 'the-best-story'; лучшее доступное решение

Мой сайт имеет тысячи страниц, поэтому array() не было никакой опции, каждая страница имеет файл php метатега и загружается перед этим скриптом, там я определил $storypagename переменная, чтобы убедиться, что она будет определена до того, как будет запрошена. это решение сделало PHP-код меньше.

Я хотел бы сказать спасибо обоим mudasobwa А ТАКЖЕ Константин, оба ответа были полезны, чтобы найти этот метод, чтобы решить эту ошибку.
Все 3 части работают нормально, спасибо еще раз!
Окончательный рабочий код

    <?php
if (isset($_GET['pagina']) && isset($_GET['storycategory']) && isset($_GET[$storypagename])) {
$pagina = $_GET['pagina'];
$storycategory = $_GET['storycategory'];
$storypagename = $_GET[$storypagename];
$content_path = 'You are here: Home &bull; ' . $pagina . ' &bull; ' . $storycategory . ' &bull; ' . $storypagename;
$content_path = str_replace("-", " ", $content_path);
echo '<strong>' . $content_path . '</strong><hr />'; // Voor een bezoeker die in een bepaald verhaal bezoekt - Output: You are here: Home • all stories • story category Name • Best story ever
}
elseif (isset($_GET['pagina']) && isset($_GET['storycategory'])) { // this is the part that has a trailing  •  that I'd like to remove and find out why it was created by my script
$pagina = $_GET['pagina'];
$storycategory = $_GET['storycategory'];
$content_path = 'You are here: Home &bull; ' . $pagina . ' &bull; ' . $storycategory;  // Note: I did NOT add a  •  here but it is generated in output...
$content_path = str_replace("-", " ", $content_path);
echo '<strong>' . $content_path . '</strong><hr />'; // Voor een bezoeker die in een bepaalde alles uit deze story category pagina is! Output: You are here: Home You are here: Home • all stories • story category Name •
}
elseif (isset($_GET['pagina'])) {
$pagina = $_GET['pagina'];
$content_path = 'You are here: Home &bull; ' . $pagina;
$content_path = str_replace("-", " ", $content_path);
echo '<strong>' . $content_path . '</strong><hr />'; // Voor een bezoeker die op de alle sex stories pagina is! Output: Home • all stories
}
else {
// Als iemand verdwaald is en daardoor bovenstaande totaal niet van toepassing is...
echo '<strong>Thank you for visiting our site!</strong><hr />';
}
?>

0

Решение

Вы скопировали самый первый if ошибочно

if (
isset($_GET['pagina']) &&
isset($_GET['storycategory']) &&
isset($_GET['storycategory'])) { // ERROR, should be $_GET['storypagename']

и вы вводите это с пустым $storypagename,

Будь то $storypagename рассчитывается, его следует рассчитать и проверить здесь, потому что это условие, вероятно, всегда true и вы никогда не входите else if разделы.

1

Другие решения

Как сказал мудасобва: из-за ошибки в вашем первом условии (в строке 2)

if (isset($_GET['pagina']) && isset($_GET['storycategory']) && isset($_GET['storycategory'])) {

ты никогда не входишь первым elseif блок (в строке 12)

строка, которая выполняется, является строкой 8:

$content_path = 'You are here: Home &bull; ' . $pagina . ' &bull; ' . $storycategory . ' &bull; ' . $storypagename;

но $storypagename пустой. так что в итоге вы получите пулю в конце

0

По вопросам рекламы [email protected]