2017-01-14 2 views
0

Как использовать переменную внутри $ _POST, поскольку я использовал следующий код, но он говорит о неопределенном смещении во второй строке. Как я могу это решить?

$p = $_GET['cii']; 
$selectOption = $_POST[$p]; 

Ниже приведен код:

echo'<form method ="POST"> 
      <select name="'.$abc[3].'"> 
       <option value="slow">slow</option> 
       <option value="medium">medium</option> 
       <option value="fast">fast</option> 
       </select> 
       <br> 
       <a href ="?change&&cii='.$abc[3].'">Click to change</a> 
      </form>'; 

$ а [] имеет несколько номеров и выберите поле производится с таким же именем, что и число.

+0

Что делает эхо $ p prints? – reza

+0

Он напечатает номер, который берется из url- @ reza –

+0

, затем проверьте, имеет ли значение $ _post значение той же переменной. попробуйте var_dump ($ _ POST), посмотрите, выходит ли этот индекс или нет – reza

ответ

1

Почти там:

$p = 'cii'; 
    $selectOption = $_POST[$p]; 
0

вы обращаетесь к той же странице, когда вы приходите в первый раз вы получаете undefined offset

Так сначала проверьте наличие

if(isset($_GET['cii'])){ 
    $p = $_GET['cii']; 
    $selectOption = $_POST[$p]; 
} 

Также нет необходимости добавлять двойной && просто использование одиночный & здесь

<a href ="?change&cii='.$abc[3].'">Click to change</a> 

Предполагая, что переменная $abc[3] дает правильное значение.

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