2016-01-09 2 views
-2

Я работаю над отладкой php-сайта, который реализует панель навигации в верхней части навигация по страницам и боковую навигационную панель под названием sidenavcat. По времени выполнения мой navsection отображает:Неопределенная переменная на index.php

Notice: Undefined variable: navsection in 
/Applications/XAMPP/xamppfiles/htdocs/NOALivingWebsite/header.php on line 25 
Hospitality 
Notice: Undefined variable: navsection in /Applications/XAMPP/xamppfiles/htdocs/NOALivingWebsite/header.php on line 28 
Sustainability 
Notice: Undefined variable: navsection in /Applications/XAMPP/xamppfiles/htdocs/NOALivingWebsite/header.php on line 31 
Events 
Notice: Undefined variable: navsection in /Applications/XAMPP/xamppfiles/htdocs/NOALivingWebsite/header.php on line 34 
Press 
Notice: Undefined variable: navsection in /Applications/XAMPP/xamppfiles/htdocs/NOALivingWebsite/header.php on line 37 
Catalogues 
Notice: Undefined variable: navsection in /Applications/XAMPP/xamppfiles/htdocs/NOALivingWebsite/header.php on line 40 
Locations 
Notice: Undefined variable: navsection in /Applications/XAMPP/xamppfiles/htdocs/NOALivingWebsite/header.php on line 43 
Shop Online 

следующие соответствующие строки в header.php являются

<li <?php echo ($navsection == 'hospitality') ? ' class="current"' : ''; ?> > 
    <a href="http://localhost/NOALivingWebsite/code/hospitality.php">Hospitality</a> 
</li> 
<li <?php echo ($navsection == 'sustainability') ? ' class="current"' : ''; ?> > 
    <a href="http://localhost/NOALivingWebsite/code/sustainability.php">Sustainability</a> 
</li> 
<li <?php echo ($navsection == 'events') ? ' class="current"' : ''; ?> > 
    <a href="http://localhost/NOALivingWebsite/code/events.php">Events</a> 
</li> 
<li <?php echo ($navsection == 'press') ? ' class="current"' : ''; ?> > 
    <a href="http://localhost/NOALivingWebsite/code/press.php">Press</a> 
</li> 
<li <?php echo ($navsection == 'catalogue') ? ' class="current"' : ''; ?> > 
    <a href="http://localhost/NOALivingWebsite/code/catalogue.php">Catalogues</a> 
</li> 
<li <?php echo ($navsection == 'retail') ? ' class="current"' : ''; ?> > 
    <a href="http://localhost/NOALivingWebsite/code/locations.php">Locations</a> 
</li> 
<li <?php echo ($navsection == 'register') ? ' class="current"' : ''; ?> > 
    <a href="http://localhost/NOALivingWebsite/index.php">Shop Online</a> 
</li> 

Любые советы вы можете одолжить будет весьма признателен. Спасибо за ваше время

+0

Где вы определили эту переменную? '$ navsection' – Rasclatt

+0

Я работаю за некоторыми парнями, поэтому я уверен, что это то, что нужно добавить, но должно ли оно быть объявлено в том же .php-файле? –

ответ

0

Сообщение об ошибке, а не прямолинейное. В то время, когда выполняется ваш оператор ternary, переменная $navsection не определена. Возможное решение определить эту переменную в качестве Session переменной и получить доступ к нему так:

$_SESSION["navsection"] 

Так что ваш код будет выглядеть так:

<li <?php echo ($_SESSION["navsection"] == 'register') ? ' class="current"' : ''; ?> > 
    <a href="http://localhost/NOALivingWebsite/index.php">Shop Online</a> 
</li> 

Примечание: Убедитесь, что ваша переменная sessionnavsection определяется перед указанной проверкой, возможно, в другом файле .php.

Вам нужно будет использовать this, а также в вашем html-файле. Это должно использоваться в верхней части вашего файла html:

<?php 
    session_start(); 
    $_SESSION["navsection"] = "register"; // Temporary fix. 
?> 
<html> 
. 
. 
. 

Чтобы вы могли получить доступ к своей переменной сеанса.

+0

Запустите сеанс в моем index.php, но где бы я объявил переменную? –

+0

Это зависит от вас. Вы проверяете переменную для определенного значения. Это значение должно быть объявлено где-то до проверки. Это может быть после session_start(); в том же файле или в другом файле. В любом случае переменная сеанса будет доступна. В зависимости от вашего дизайна вы выбираете то, что хотите. – Rafael

+0

Спасибо за помощь, еще не повезло –

Смежные вопросы