Php 将下拉菜单值传递到CSV
我有一个表单,有三个下拉菜单。在html中,出于验证目的,选项被命名为0、1和2,而实际的内联文本是不同的选项 当我将值推送到.csv时,我编写了几个Php 将下拉菜单值传递到CSV,php,html,csv,if-statement,Php,Html,Csv,If Statement,我有一个表单,有三个下拉菜单。在html中,出于验证目的,选项被命名为0、1和2,而实际的内联文本是不同的选项 当我将值推送到.csv时,我编写了几个if语句来重命名保存的变量,而不是让它只推数字。我已经让它工作了,但我想我应该将它们插入一个函数中,然后调用该函数,而不是让一堆if语句。但是,当我这样做时,用户选择的任何选项的值都会恢复为0、1或2存储在.csv文件中 我的问题是,我的函数缺少什么导致它只选择编号的值 HTML: <select id="semesterSelector"
if语句来重命名保存的变量,而不是让它只推数字。我已经让它工作了,但我想我应该将它们插入一个函数中,然后调用该函数,而不是让一堆if语句
。但是,当我这样做时,用户选择的任何选项的值都会恢复为0、1或2存储在.csv文件中
我的问题是,我的函数缺少什么导致它只选择编号的值
HTML:
<select id="semesterSelector" name="semesterSelector" onchange="checkPage5()">
<option value="0">Select</option>
<option value="1">Fall</option>
<option value="2">Spring</option>
</select>
$semesterSelector = $_POST["semesterSelector"];
function semesterNameChange(){
if($semesterSelector == 1)
{
$semesterSelector = "Fall";
}
elseif($semesterSelector == 2)
{
$semesterSelector = "Spring";
}
}
semesterNameChange();
$csvData = [...] $semesterSelector [...]
将值推送到Csv:
<select id="semesterSelector" name="semesterSelector" onchange="checkPage5()">
<option value="0">Select</option>
<option value="1">Fall</option>
<option value="2">Spring</option>
</select>
$semesterSelector = $_POST["semesterSelector"];
function semesterNameChange(){
if($semesterSelector == 1)
{
$semesterSelector = "Fall";
}
elseif($semesterSelector == 2)
{
$semesterSelector = "Spring";
}
}
semesterNameChange();
$csvData = [...] $semesterSelector [...]
在PHP中,函数有自己的作用域。这基本上意味着,如果您试图从函数外部访问变量,则需要将它们传入(在括号之间),或者需要使用global
以允许在函数范围内使用外部变量。在这种情况下,只需在函数顶部添加global$semestselector
function semesterNameChange(){
global $semesterSelector;
if($semesterSelector == 1)
{
$semesterSelector = "Fall";
}
elseif($semesterSelector == 2)
{
$semesterSelector = "Spring";
}
}
semesterNameChange();
另一种方法是将值直接传递给函数:
function semesterNameChange($selectValue) {
if( $selectValue == 1 )
{
return "Fall";
}
elseif ( $selectValue == 2 )
{
return "Spring";
}
}
$semesterSelector = semesterNameChange($_POST["semesterSelector"]);
你能确定你的
标签上有method=“POST”吗?在松散类型语言中说==1也会给您带来麻烦。让我们确保我们有一个整数,并严格计算它:
$semesterSelector = (integer) $_POST["semesterSelector"];
function semesterNameChange(){
global $semesterSelector;
if ($semesterSelector === 1)
先生,你是我今天的英雄:)