У меня возникла проблема с получением моего PHP-скрипта для правильного чтения и выполнения моего «IF ... .ELSEIF "условия.
В моем первом файле, у меня есть следующий код:
if(isset($_POST['submit']) {
$selected_radio = $_POST['selection'];
$_SESSION['my_selection'] = $_POST['selection'];
if (($selected_radio == '25') {
header("url=http://xxxxxxxxxxxxxxxxx");
}
elseif (($selected_radio == '50') {
header("url=http://xxxxxxxxxxxxxxxxx");
}
}
Это была легкая часть.
Если какая-либо «переключатель» выбран, у меня есть функция Javascript, который открывает «новое окно (ребенок)»
Это также легко.
Но тогда приходит трудная часть: в этом новом окне, пользователь должен выбрать из другого выбора радиокнопок:
if(isset($_POST['submit']) {
$selected_radio = $_POST['my_response'];
if (($_POST['my_response'] = 'yes') && ($_SESSION['my_selection'] = '25'))
{
echo '<script type="text/javascript">window.opener.location =
"/PHP/25.php";setTimeout("window.close();", 1000);</script>';
}
elseif (($_POST['my_response'] = 'yes') && ($_SESSION['my_selection'] =
'50')) {
echo '<script type="text/javascript">window.opener.location =
"/PHP/50.php";setTimeout("window.close();", 1000);</script>';
}
В основном, это означает: если пользователь выбирает "да «в текущем (дочернем) окне окно закрывается, а родительское окно перенаправляет на« 25.php »или« 50.php ».......... в зависимости от значение $ _SESSION ['my_selection'] --- которое было выбрано ранее в родительском окне
Но по какой-то причине он не работает. Мой код выполняется только первый IF-условие:
if (($_POST['my_response'] = 'yes') && ($_SESSION['my_selection'] = '25'))
{
echo '<script type="text/javascript">window.opener.location =
"/PHP/25.php";setTimeout("window.close();", 1000);</script>';
}
Он полностью игнорируя второй ............., даже если пользователь ранее выбран " "в родительском окне.
Моя первая мысль была: значение SESSION для радиокнопки ---- $ _SESSION ['my_selection'] --- не переносится в новое (дочернее) окно.
Но, я использовал «echo», чтобы убедиться, что он работает правильно. Значение действительно переносилось в новое (дочернее) окно.
Однако после того, как дочернее окно закрывается, а родительское окно перенаправляется, я использовал «echo» снова, чтобы отслеживать любые ошибки ........, и это показало, что: значение от $ _SESSION ['my_selection'] всегда равно ""!
В двух словах: Почему вторая IF-заявка игнорируется?
elseif (($_POST['my_response'] = 'yes') && ($_SESSION['my_selection'] =
'50')) {
echo '<script type="text/javascript">window.opener.location =
"/PHP/50.php";setTimeout("window.close();", 1000);</script>';
@HarshJoshi Не имеет значения http://php.net/elseif – vascowhite