我正在学习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表单教程",看看事情是如何从那里工作的。