Я установил $fe
переменная, как это:
<?php
$fe = 0;
echo '<font color="red">Alert! Site is still in development! Bugs will be fixed!<br>';
?>
<?php if ($_GET['p'] == "smoke") { ?>
<?php } elseif ($_GET['p'] == "heg") { ?>
<?php } elseif ($_GET['p'] == "flash") { ?>
<?php } elseif ($_GET['p'] == "molotov") { ?>
<?php } else { l(); } ?>
<?php function l() {
$fe = 1;
echo '<a href="../mirage?p=smoke">Smokes</a><br><a href="../mirage?p=heg">HEGs</a><br><a href="../mirage?p=flash">Flashes</a><br><a href="../mirage?p=molotov">Molotovs</a>';
} ?>
Но тогда в следующем коде if ($fe == 0)
блок всегда выполняется независимо от параметра p
было:
<div class="topleftcorner">
<?php
if ($fe == 0) {
echo '<a href="../mirage"><-- Back</a>';
} elseif ($fe == 1) {
echo '<a href="../../csgo"><-- Back</a>';
}
?>
</div>
Что я делаю неправильно?
Два $fe
переменные не являются одной и той же переменной. Вот этот:
function l() {
$fe = 1;
//... etc
}
… существует только в этой функции, она не имеет ничего общего с другой, глобальной, и так $fe
по-прежнему 0 для последнего блока кода.
Быстрое решение — объявить эту переменную как глобальную переменную с global
ключевое слово:
function l() {
global $fe;
$fe = 1;
//... etc
}
Но можно задаться вопросом, почему вы действительно хотите сделать это в функции.
Других решений пока нет …