0

该程序开始于:

session_start();
$seq = 0;
if (isset($_POST['fname'])) {   
    echo $_POST['fname']."<br/>";
    if (isset($_POST['uid']) {
        echo $_POST['uid']."<br/>";
        if ($_POST['submit'] && $_POST['edupdel'] != "ABCD") {
            echo "postsubmit  = ".$_POST['submit']."<br/>";
            echo "edupdel = ".$_POST['edupdel']."<br/>";
            echo "past submit<br/>";

            $opt = $_REQUEST['edupdel'];
            echo "OPTION IS  = ".$opt;
        }   
    }   
}   
$fname  = $_POST['fname'];
$uid = $_POST['uid'];
$opt = $_POST['edupdel'];

echo $uid.$fname.$opt."<br/>";
echo "*******<br/>";
$seq = $seq + 1 ;
echo "SEQ # is = ".$seq."<br/>";

这个想法是:uid 和 fname 从第一页开始就被继承下来并且工作正常。我可以正确获得这些值。该程序使用:<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">

(GET 或 REQUEST 是考虑的选项,但到目前为止没有成功)。该程序有一个下拉菜单。第一个条目“ABCD”id 现在只是虚拟的,将来不应该使用。

Please select one of the options:
<select name="edupdel">
    <option value="ABCD">ABCD</option>
    <option value="edit">EDIT</option>
    <option value="update">UPDATE</option>
    <option value="delete">DELETE</option>
</select>

提交是这样的:

<input type="submit" name="submit"  value="Submit" style="background-color:#FFFFFF" >
<input type="hidden" name="fname" value="<?php echo $_POST['fname']; ?>"> 
<input type="hidden" name="uid" value="<?php echo $_POST['uid']; ?>">
<input type="hidden" name="edupdel" value="<?php echo $_POST['edupdel']; ?>"> 

现在,出于我的无知,我不知道如何检索以下值:<select name="edupdel">

例如,当我从菜单中选择选项 EDIT 时,这不会显示。我什至不确定这是获取从下拉列表中选择的值的正确方法。

那么我期望什么:设置 uid、fname 和 selected 选项,以便我可以决定下一步。请记住,我是从 PHP 和整个 shebang 开始的,所以在这一点上,在论坛里看了几个小时后,我决定试一试,问论坛的人什么是编写我的代码的最佳方式需要或只是简单地指出我一些其他可能的选择。

Some debugging data I could get to so far according to the "echos"  above:
mary
john 
postsubmit = Submit
edupdel =
past submit
OPTION IS = johnmary ( I would expect EDIT or UPDATE or DELETE after the word mary)
*******
SEQ # is = 1
4

1 回答 1

0

看起来您在提交按钮之后有一个隐藏的输入字段,名称为edupdel。如果是这种情况,该输入值中的任何内容都将覆盖该<select>字段中选择的任何内容。

尝试删除该隐藏字段,或将其移动<select>到 HTML 中的字段上方,以便选择优先。

于 2012-11-30T21:43:00.300 回答