Не могу использовать значение формы в другом файле php - PullRequest
0 голосов
/ 24 июня 2018

Проблемы с использованием значения формы в другом php-файле:

my firstpage.php

<form method="post">
<input type="radio" name="rdbbtn" value="1"> One
<input type="radio" name="rdbbtn" value="2"> Two
</form>

my secondpage.php здесь

<?php   
include("firstpage.php");
$result = $_POST['rdbbtn'];
if ($result == "1") {          
    echo 'thirdpage.php';      
}
else {
    echo 'fourthpage.php';
}
?>

проблема:

Примечание: неопределенный индекс: rdbbtn в

почему я не могу использовать "rdbbtn"?Должен ли я иметь что-то вроде

$rdbbtn = $_POST['rdbbtn'];

в secondpage.php?Пробовал это, но не решил мою проблему.firstpage.php и secondpage.php находятся в одном каталоге.Вероятно, это довольно очевидная вещь, которую я не вижу ... спасибо!

РЕДАКТИРОВАТЬ: Я принял ответ Прадипа, поскольку это помогло мне больше всего понять, в чем проблема.хотел бы сказать спасибо всем, кто пришел сюда и попытался помочь!

Ответы [ 3 ]

0 голосов
/ 24 июня 2018

Должно быть так:

Проверка с помощью isset метода в

<?php   
include("firstpage.php");
$result = isset($_POST['rdbbtn']) ? $_POST['rdbbtn'] : NULL;
if ($result == 1) {          
    echo 'thirdpage.php';      
}
else {
    echo 'fourthpage.php';
}
?>

и ваша форма должна быть такой:

<form method="post">
<input type="radio" name="rdbbtn" value="1"> One
<input type="radio" name="rdbbtn" value="2"> Two
<input type="submit" name="submit" value="submit">
</form>
0 голосов
/ 24 июня 2018

Извините за невозможность прокомментировать это сообщение (меньше репутации).Но похоже, что вы спрашиваете о хранении переменных сеанса.Таким образом, вы можете использовать переменные для всего сеанса.Просто начните сессию, поместив session_start() в самом начале secondpage.php файла, а затем вы можете получить доступ к переменным в любое время в течение сеанса, просто вызвав $_SESSION['rdbutton] на любой странице, например четвертой страницы.Просто убедитесь, что вы ставите session_start() в верхней части каждой страницы, где вы хотите использовать переменные.Не забывайте точку с запятой в конце.? Надеюсь, это поможет.

0 голосов
/ 24 июня 2018

Когда вы изменяете текущую страницу, она сбрасывает значение и $_POST пусто.

Вы можете попробовать установить действие формы на следующую страницу. Это будет работать

<form method="post" action="secondpage.php">
    <input type="radio" name="rdbbtn" value="1"> One
    <input type="radio" name="rdbbtn" value="2"> Two
    <input type="submit" name="" value="Next">
</form>

В противном случае вы можете создать function в классе и настроить каждое действие страницы. к этой функции.

И установите для каждой вашей формы данные session.

Наконец, когда вы меняете страницу, вы читаете данные формы session.

Class FormAction{
  public function setFormDataToSession(){
     if(isset($_POST['rdbbtn']){
        $_SESSION['rdbbtn'] = $_POST['rdbbtn'];
     }  
   }
}

На вашей странице просто получите значение сеанса .

echo $_SESSION['rdbbtn'];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...