我正在学习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>';
这是对的吗?
答案 0 :(得分:2)
你没有将你的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>';
在“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数组中获取。
答案 1 :(得分: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'];
}
您会发现值得花时间参与Google“PHP表单教程”并了解其中的工作原理。