Php 使用变量从“选择”菜单中获取选项值

Php 使用变量从“选择”菜单中获取选项值,php,html,Php,Html,index.php中有以下代码: <select name="select" id="select_invoice"> <option value="">--- Please select ---</option> <?php echo $obj->printOption(); ?> </select> 课程内容如下: class SelectOption { private $query_names;

index.php中有以下代码:

<select name="select" id="select_invoice">
    <option value="">--- Please select ---</option>
    <?php echo $obj->printOption(); ?>
</select>
课程内容如下:

class SelectOption {
    private $query_names;
    private $selected_index = '';

    public function SelectOption($query_names=''){
        if($query_names) $this->query_names = $query_names;
        if($query_names) $this->query_names = $query_names;
    }

    public function printOption(){
        echo $this->getOption();
    }

    public function get_diretory($query_names) {
        print '<select name="files">';
        $directory = dir($query_names) or die($php_errormsg);
        print '<option> --Please select-- </option>';
        while (false !== ($f = $directory->read())) {
            if (is_file($directory->path.'/'.$f)) {
                print '<option> ' . $f . '</option>';
            }
        }
        $directory->close();
    }
} 

$query_names = 'file_directory';
$obj = new SelectOption($query_names);
$obj->get_diretory($query_names);
如何从这个选择菜单中获取选项值,并在目录中找到文件并读取它?

您正在类中调用getOption,但在类定义中没有这样的函数

public function printOption(){
    echo $this->getOption(); // where is this function in your class??
}

因为您实际上是在html页面中使用printOption,即使用getOption,所以您不会从中得到任何东西。实际上,它应该抛出一个错误。

发布表单并检查$\u Post变量。然后尝试编写脚本来查找文件。如果你失败了,再问一次。这个问题太宽泛了,从头开始,当你陷入困境时问一个特定的问题。我被困在这里:我没有写它,但有我的函数:公共函数getOption{$s=;$selected=;foreach$this->query_names as$key=>$val{If!empty$this->selected_index{如果$this->selected_index==$key$selected='selected=selected';否则$selected=}$s.=.$val.}返回$s;}