2013-05-22 2 views
1

Я пытаюсь получить первую запись, если ничего не установлено в $_POST или $_SESSION, но когда я выхожу ниже, используя die(print_r($nmcu));, я всегда получаю только 1, если я добавляю числа в конец " вход 1" и „выход 2“, кажется, работает, но я не знаю, почему, я не хочу цифры в именах ...Получение массива с использованием array_keys()

<?php 
session_start(); 
$entry = array(
"entry" => array("user" => "username", 
     "pass" => "password", 
     "host" => "localhost", 
     "port" => 1111, 
     "protocol" => "http"), 

"exit" => array("user" => "username", 
     "pass" => "password", 
     "host" => "localhost", 
     "port" => 1111, 
     "protocol" => "http")); 


if (isset($_POST['currentEntry'])) { 
    $_SESSION['currentEntry'] = $_POST['currentEntry']; 
} 
if (isset($_SESSION['currentEntry'])) { 
    $currentEntry = $_SESSION['currentEntry']; 
} else { 
    $keys = array_keys($entry); 
    $currentEntry = $keys[0]; 
    $_SESSION['currentEntry'] = $currentEntry; 
} 
$nmcu = $entry[$currentEntry]; 
?> 
+1

Не могли бы вы лучше объяснить, что вы пытаетесь сделать? –

+0

Я не мог понять, что вы пытаетесь – Shin

+0

Извините, если не ясно. Я хочу, чтобы этот код возвращал массив «entry», если нет значения $ _POST или $ _SESSION, поэтому, если вы перейдете на страницу без отправки любой формы, я хочу, чтобы она возвращала детали массива «запись», но если они $ _POST = entry или = exit, а затем возвратить данные массива – medoix

ответ

1

Чистый сеанс (или проверить его с var_dump($_SESSION). Я совершенно уверен, что у вас есть недопустимый ключ, поэтому print_r() ничего не печатает и возвращает , which is then outputed by die() `.

Кроме того, я предлагаю использовать var_dump() вместо print_r() для таких тестов.

+0

Вы правы, я удалил сеанс и начал работать. Однако, когда я удаляю сеанс и пытаюсь перейти на /index.php?currentEntry=exit, он по-прежнему устанавливает запись как currentEntry, поэтому кажется, что $ _POST не читается, я попытался удалить сеанс и все тот же. – medoix

+0

Это запрос на получение, поэтому вы должны использовать '$ _GET'. –

+0

ЛЕГЕНДА, спасибо. – medoix

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