如何制作下拉表单以记住php中的输入

时间:2014-04-11 12:43:13

标签: php forms input drop-down-menu

即时创建一个将显示来自数据库的数据的表单,到目前为止一切都已设置,但我希望表单记住数据,以防用户在出现错误时再次将其写下来。我发现一些类似的代码只涉及html,但是当包含php来显示一个表单时,我发现代码难以记住最后一个输入(当前问题仅涉及下拉选择列表):

$Type = $_POST['petType']; //this should remember last input
<?php
/*upload form and drop-down selection list*/
echo "
<div align='left'>
<form enctype='multipart/form-data' action='ChoosePetCategory.php' method='POST'>
<input type='hidden' name='MAX_FILE_SIZE' value='500000000' />
<input type='file' name='imagePath' size='600' />

    <select name='petType'>\n
    <option value='-1'>Type:</option>";
    while($row = mysqli_fetch_assoc($PetListResult))
    {
    extract($row);
            echo "<option value='$petType' ";
        if($Type == '$petType')
            { 
            echo "? selected='selected'"; 

// i need to make selected true only for last selected option, 
//and redisplay it in the same form again
            }
        echo ">$petType </option>";
    }

echo "</select>
<p><input type='submit' name='Upload' value='Add Pet' />
</form>
?>

2 个答案:

答案 0 :(得分:0)

您正在将$ Type与字符串而不是变量进行比较。

尝试

if($Type == $petType)

答案 1 :(得分:0)

试试这个:

<?php
$Type = $_POST['petType']; //this should remember last input
?>
<div align='left'>
<form enctype='multipart/form-data' action='ChoosePetCategory.php' method='POST'>
<input type='hidden' name='MAX_FILE_SIZE' value='500000000' />
<input type='file' name='imagePath' size='600' />

    <select name='petType'>
        <option value='-1'>Type:</option>
        <?php 
        while($row = mysqli_fetch_assoc($PetListResult))
        { 
            extract($row);
            ?>
            <option value='<?php echo $petType;?>' <?php echo $Type == $petType ? "selected=selected":"";?> ><?php echo $petType;?> </option>
        }
    </select>
<p><input type='submit' name='Upload' value='Add Pet' />
</form>

旁注:使html和php不同,它使事情变得更容易。