2014-10-25 2 views
0

Я предполагаю, что у меня есть что-то глупое из-за моего отсутствия опыта.

На форме на members.php у меня есть:

$column = 0; 
echo "<Form Name =member Method =POST ACTION = individual.php>"; 
echo "<table>"; 
echo "<tbody>"; 
    while($row = $rs->fetch_assoc()) { 
     if ($column == 0) { 
     echo "<tr>"; 
     } 
     echo '<td><INPUT TYPE = Submit NAME="'. $row['num'].'" VALUE ="'. $row['name'].'" id=Submit></td>'; 
     $column++; 
     if ($column >= 5) { 
      echo "</tr>"; 
      $row++; 
      $column=0; 
     } 
    } 
    echo "</tbody>"; 
    echo "</table>"; 
echo "</form>"; 

На individual.php У меня есть

print_r($_POST); 

С результатом является Array ([16] => LUKE) что и ожидается.

, но когда я пытаюсь

$name=$_POST['name']; 
$num=$_POST['num']; 
echo "<br>".$name." ".$num."<br>"; 

Я не получаю никаких результатов.

Я в основном хочу получить $row['num'], но также сделал ['name'], чтобы убедиться, что я не транспонировал то, что я пытался достичь.

Я в принципе хочу, чтобы принять то, что было выбрано на предыдущей форме и вставить в

select * from table where number=$num;

+0

Лучшая квазикодированная форма/вопрос, который я когда-либо видел. –

+0

Итак, где отправляются 'имя' и' num'? – Ali

+0

У вас есть только ключ «16» в сообщении, поэтому вы должны написать что-то вроде '$ _POST [16]', странно! –

ответ

1

имя вашего поля ввода не num и name, вместо этого, они являются значения из этих двух ключей в массиве $row. Вот почему вы не можете получить эти значения на сервере.

Изменить код:

<input type="hidden" name="name" value="<?php echo $row['name']; ?>;"> 
<input type="hidden" name="num" value="<?php echo $row['num']; ?>;"> 
<input type="submit" value="Submit!" name="submit_form"> 
0

Для получения значения POST для 'имя' и 'пит', вы должны написать:

<input type="text" name="name" value="<?php echo $row['name']; ?>"> 
<input type="text" name="num" value="<?php echo $row['num']; ?>"> 

типа может быть 'текст' или «скрытый '

Наслаждайтесь своим кодом!

0

Если вы хотите, чтобы ваша форма возвращать значения, которые вы можете получить доступ с помощью $_POST['name'] и $_POST['num'], вам необходимо установить name и num в качестве входных имен на вашей форме, и соответствующие значения в качестве входных значений. Если вы не хотите, чтобы добавить их в качестве видимых/редактируемых значений в форме, обычный способ сделать это, чтобы использовать входы типа hidden:

<form action="individual.php"> 
    <input type="hidden" name="num" value="16" /> 
    <input type="hidden" name="name" value="LUKE" /> 
    <input type="submit" /> 
</form> 

Как это, $_POST действительно содержит значения, которые вы 'хотят, но они не находятся в доступном формате, потому что вы установили 16 в качестве ввода name, поэтому он превращается в ключ в ассоциативном массиве $_POST. Форма выше устанавливает num и name как ключи в $_POST и 16 и LUKE соответственно в качестве значений.

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