Я создаю 11-страничный веб-сайт в одном PHP файле. В этой конкретной части я пытаюсь взять имена пользователей из $ _POST ['regUser'] и поместить в массив "логинов", определенный как "$ logins = array();" ,
Когда я var_dump массив, все, что я получаю, это "NULL". Я уверен, что я использую правильные имена и т.д. Я понимаю, что этот код может быть недостаточно, чтобы диагностировать мою проблему, но я действительно надеюсь, что это так.
Помните, что это всего лишь небольшая часть более крупной программы, если это кажется странным. Эта конкретная часть должна регистрировать пользователя и показывать страницу "userHome", если они поставляют правильный пароль и добавляют свое имя пользователя в массив $ logins. Все, кроме этого, работает нормально. (Я вызываю функцию в другой части программы)
Я собираюсь опубликовать несколько строк моего кода, потому что считаю, что проблема лежит где-то внутри них (возможно, все это 400+).
$regUser = $_POST['regUser'];
$regPass = $_POST['regPass'];
$goodUsername = array('user1', 'user2');
$goodUserPass = array('user1', 'user2');
$logins = array();
if (isset($_POST['userLog'])) {
if (in_array($regUser, $goodUsername)) {
$key = array_search($regUser, $goodUsername);
}
if($goodUserPass[$key] == $regPass) {
array_push($logins, $regUser);
echo userHome(); return;
}
else {
echo invalidLogin(); return;
}
}
function adLogins() {
echo phpHeader();
echo "<center><h1>User Logins</h1></center><br><br>";
var_dump($logins);
echo phpFooter();
}
ваш $logins
var выходит за рамки функции adLogins
var_dump($logins);
вне функции входа в систему или передать ее в функцию
function adLogins($logins){}
$logins
не входит в область действия функцииadLogins()
. Вам нужно будет передать его в качестве параметра типаfunctoin adLogins($logins) {...}
php.net/manual/en/language.variables.scope.phpvar_dump($logins)
вне этой функции, он должен иметь содержимое