PHP新手,如何在新页面上发送数据


PHP newbie, how to send data on new page?

我正在学习PHP,我需要帮助在另一个页面上"发送"信息。我读取一个文本文件,我把数据放在两个数组:

    $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>';

您没有将select元素包装在表单标记中,这将阻止它被发送。你真正想要的是:

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>';

在"ville .php"页面上,你应该能够引用变量$_POST["ville"],它将包含select.

中选择的选项。
echo $_POST["ville"];

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

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

同样可以从$_POST数组中抓取

将select移到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表单教程",看看事情是如何从那里工作的。