Прежде всего, ваш код
if (isset($_SESSION['gedaanx']) && $_SESSION['gedaanx'] == 1){
...
elseif (isset($_SESSION['gedaanx']) && $_SESSION['gedaanx'] == 2 &&
isset($_SESSION['pre']) && $_SESSION['pre'] == 1 ) {
...
elseif (isset($_SESSION['gedaanx']) && $_SESSION['gedaanx'] == 2 &&
isset($_SESSION['pre']) && $_SESSION['pre'] == 1 &&
isset($_SESSION['gedaan1']) && $_SESSION['gedaan1'] == 1) {
...
elseif (isset($_SESSION['gedaanx']) && $_SESSION['gedaanx'] == 2 &&
isset($_SESSION['pre']) && $_SESSION['pre'] == 1 &&
isset($_SESSION['gedaan1']) && $_SESSION['gedaan1'] == 1 &&
isset($_SESSION['gedaan2']) && $_SESSION['gedaan2'] == 1) {
...
Теперь обратите внимание, что первый и второй, если положения несовместимы, то есть, если первый истинно, второй никогда не будет истинным, и наоборот. Это хороший случай, ваше выполнение проверяет, истинно ли первое предложение, если оно истинно, выполняется первая ветвь. Если это неверно, проверяется второе предложение. Если это правда, вторая ветка сопровождается.
Обратите внимание, что если первое предложение верно, второе не проверено. Таким образом, для случая третьей и четвертой ветвей, если первая или вторая были истинными, никакие другие ветви не будут соблюдаться, независимо от их статей if
.
Однако, если предложение третьей/четвертой ветви истинно, то и предложение второй ветви. Таким образом, исполнение никогда не может достичь третьей или четвертой ветви, всегда заканчивающейся во второй (или первой) ветви.
Вспоминая заметку о несовместимых положений, вы можете захотеть сделать оговорки несовместимы, скажем, сделать 2-й ветви выглядят как
elseif (isset($_SESSION['gedaanx']) && $_SESSION['gedaanx'] == 2 &&
isset($_SESSION['pre']) && $_SESSION['pre'] == 1 &&
!isset($_SESSION['gedaan1']) ) {
...
Или просто обменять 4-е отделение и 2-й ветви, так что четвёртая является вторым, 3 3-й, 2-й - 4-й. Затем 4-я ветвь будет проверена сразу после 1-го.
var_dump ($ _ SESSION); – Vick
сделать print_r ($ _ SESSION) в верхней части страницы и что вы видите? также переместите session_start в начало страницы. – astroanu
Все сеансы установлены и да, сеанс запущен правильно, иначе он не выполнит первые 2 проверки – Tim