Что я делаю не так с моим фрагментом кода текстовых полей PHP? - PullRequest
0 голосов
/ 13 января 2012

// Hy..У меня есть следующий фрагмент кода:

mysql_select_db("baza_chestionar", $con);

$result = mysql_query("SELECT intrebari.descriere_intrebare,intrebari.nume_admin,intrebari.id_chestionar FROM intrebari WHERE intrebari.nume_admin='".$_SESSION['nume_admin']."' AND intrebari.id_chestionar='".$_SESSION['nr_chestionar']."'  ");

$i=0;
while ($row = mysql_fetch_array($result))
  {
  $i++;
  echo $i.")&nbsp". $row['descriere_intrebare'];
  echo "<br><br>";
  echo "<form method='POST' action='selectare_raspuns.php' id='myform' >
        <input type='text' size='30' name='intrebare[]'>
        </form>     ";
  echo "<br><br>";

  }

 echo "<input type='submit' value='Salveaza raspunsuri' onclick='myform.submit()'/>";
mysql_close($con);

// Это выбирает некоторые данные из таблицы и отображает их, а для каждого - текстовое поле. У меня есть другая страница, которая берет данные из текстовых полей и вставляет их в другую таблицу. Вот код:

foreach($_POST['intrebare'] AS $textbox)
{   
    $sql="INSERT INTO raspunsuri values ('','$textbox')";
    var_dump($sql);
    if (!mysql_query($sql))
      {
        die('Error: ' . mysql_error());
      }
    echo "1 record added";
}

// Но он вставляет только первое значение первого текстового поля. Что я делаю неправильно? Я объявил имя текстового поля в виде массива, который я перебрал с помощью оператора foreach.

Ответы [ 3 ]

1 голос
/ 13 января 2012

Ваша проблема в том, что вы используете более одного тега формы на своей странице.Таким образом, на одну вторую страницу отправляется только одно текстовое поле.Вы должны объявить тег формы перед циклом while и закрыть тег после цикла.

1 голос
/ 13 января 2012

Ваш тег формы отображается в цикле. Пут находится снаружи.

echo "<form method='POST' action='selectare_raspuns.php' id='myform' >\n";
while ($row = mysql_fetch_array($result))
{
      $i++;
      echo $i.") ". $row['descriere_intrebare'] ."<br /><br /><input type='text' size='30' name='intrebare[]'><br /><br />";
}
echo "<input type='submit' value='Salveaza raspunsuri' name="submit" />\n";
."</form>\n";
1 голос
/ 13 января 2012

Вы также зацикливаете форму myform.Тег FORM должен быть удален из цикла while, а кнопка отправки должна находиться внутри тега формы (чтобы вы могли использовать его без JS).Кроме того, просто напечатайте ваши POST-данные, чтобы подтвердить, что у вас есть эти данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...