0

我正在学习 PHP,我需要帮助才能在另一个页面上“发送”信息。我读了一个文本文件,并将数据放在 2 个数组上:

    $nomVille;
    $nomFichier;

    $index; // index is use for arrays

现在我想建立一个下拉列表和一个提交按钮。

下拉列表:显示 $nomVille 上的所有项目

按钮:打开“villes.php”

villes.php 将不得不检索 $nomFichier 和 $index 但我无法做到这一点。

这是我的代码的一部分:

      echo 'Make your choice : ';
      echo "<select name='ville'>";
      foreach($nomVille as $option){
          echo "<option value='{$option}'>{$option}</option>";   
      }
      echo "</select>";
      echo '<FORM METHOD="post" ACTION="villes.php">';
      echo '<INPUT TYPE="submit" VALUE="Display">';
      echo '</FORM>';

那是对的吗 ?

4

2 回答 2

2

您没有将您的选择元素包裹在表单标签中,这将阻止它被发送。你真正想要的是这样的:

echo '<FORM METHOD="post" ACTION="villes.php">';
echo 'Make your choice : ';
echo "<select name='ville'>";
foreach($nomVille as $option){
    echo "<option value='{$option}'>{$option}</option>";   
}
echo "</select>";
echo '<INPUT TYPE="submit" VALUE="Display">';
echo '</FORM>';

在“villes.php”页面上,您应该能够引用变量 $_POST["ville"] ,该变量将包含选择中的选定选项。

echo $_POST["ville"];

为了传输 $nomFichier 和 $index 的值,您希望将它们作为隐藏元素作为表单的一部分发送,因此添加以下行:

echo "<input type='hidden' name='nomFichier' value='".$nomFichier."'>";
echo "<input type='hidden' name='index' value='".$index."'>";

这将再次能够从 $_POST 数组中获取。

于 2013-06-03T16:29:25.913 回答
1

将您的选择移至 FORM 元素将允许应用程序在提交时发布数据。

echo 'Make your choice : ';
echo '<FORM METHOD="post" ACTION="villes.php">';
echo "<select name='ville'>";
foreach($nomVille as $option){
    echo "<option value='{$option}'>{$option}</option>";   
}
echo "</select>";
echo '<INPUT TYPE="submit" VALUE="Display">';
echo '</FORM>';

然后从villes.php页面中,您可以在可以访问的数据中检索数据,如下所示:

if (isset($_POST['ville'])) {
  $someVar = $_POST['ville'];
}

你会发现值得花时间去谷歌“PHP 表单教程”看看事情是如何工作的。

于 2013-06-03T16:29:44.163 回答