Каждый раз, когда я запускаю этот код, записывается только "Not from a", независимо от того, является ли местоположение "a" или нет.
function logsIn($dir, $account, $balance) {
$d = date("D F d Y - h:i A");
$file = fopen("logs/$dir.txt", "a");
if ($_SESSION['pass'] == "123") {
if ($api["Location"] != "a")
fwrite($file, "<span style='color:#FF0000;text-align:center';>Not from a.</span>");
else
fwrite($file, "From a.");
}
Ответ 1 · рейтинг 5 · Pascal MARTIN
Вы используете в своей функции переменную с именем $api, но эта переменная нигде не определена.
Таким образом, $api["Location"] не может иметь значение 'a', поэтому вы всегда получаете "Not from a".
Примечание. Если у вас есть переменная $api, определенная вне вашей функции, она не будет видна изнутри этой функции.
Для получения дополнительной информации об этом вы должны взглянуть на Variable область применения раздела руководства.
В качестве решения, я полагаю, вы могли бы изменить свой код следующим образом:
$api ожидается в качестве параметра вашей logsIn() функцией,
- И он передается этой функции, когда вы ее вызываете.
Вы также можете сделать переменную $api (если она существует вне вашей функции) видимой изнутри функции, используя global ключевое слово, но это не очень хорошая практика, так как это делает вашу функцию зависимой от внешней переменной.