Php 数据库驱动的选择框在提交时为空

Php 数据库驱动的选择框在提交时为空,php,html,forms,mysqli,Php,Html,Forms,Mysqli,我试图用php在数据库中提交一个表单值。在表单中,选择框值来自数据库 <?php include_once 'header.php'; $sql="SELECT uid,name FROM emitra_basic where block='$user'"; $result = $conn->query($sql); //form validion if(isset($_POST['submit'])) { $eid =$_POST["eid"]; if($eid==

我试图用php在数据库中提交一个表单值。在表单中,选择框值来自数据库

<?php include_once 'header.php';
$sql="SELECT uid,name FROM emitra_basic where block='$user'";
$result = $conn->query($sql);
//form validion
 if(isset($_POST['submit']))
   {
  $eid =$_POST["eid"];
  if($eid=="blank")
 {
     $flag=1;
  $idErr="please Select E-MITRA";
 }
$miatm =trim($_POST["miatm"]);
 if(empty($miatm) || !preg_match("/^[a-zA-Z0-9 ]*$/",$miatm)) {
$flag=1;
 $miErr="Please Enter Valid Id";
 }
 .............like this
if($flag==0)
{
$sqll="insert into **********";
  }

表单提交后需要保留下拉列表的值

选择选项的用户属性

<?php
if (isset($_POST['submit'])) {
  $eid =$_POST["eid"];
  if ($eid=="blank") {
    $flag=1;
    $idErr="please Select E-MITRA";
  }
}
$sql="SELECT uid,name FROM emitra_basic where block='$user'";
$result = $conn->query($sql);
?>
<select class="select-style gender" name="eid">
<option value="blank">Please Select E-MITRA ID</option>
<?php
while($row=mysqli_fetch_array($result)) {
  $selected = (isset($_POST["eid"]) && $_POST["eid"] == $row['uid']) ? 'selected="selected"' : '';
?>
  <option value="<?php echo $row['uid']; ?>" <?php echo $selected;?>><?php echo $row['uid']." (" . $row['name'] .")"; ?></option>
<?php
 }
?>
</select>

提交后,您需要在选择标签中使用
selected=”“
selected=“selected”
作为属性,如下所示:

<?
$sql="SELECT uid,name FROM emitra_basic where block='$user'";
$result = $conn->query($sql);
?>
<select class="select-style gender" name="eid">
    <option value="blank">Please Select E-MITRA ID</option>
    <?php
    while($row=mysqli_fetch_array($result))
    {
        $selected = ((isset($_POST["eid"]) && $_POST["eid"] == $row['uid']) ? 'selected=""' : '');
    ?>
    <option <?=$selected?> value="<?php echo $row['uid']; ?>"><?php echo $row['uid']." (" . $row['name'] .")"; ?></option>
    <?php
    }
    if(isset($_POST['submit']))
    {
        $eid = $_POST["eid"];
        if($eid=="blank")
        {
           $flag=1;
           $idErr="please Select E-MITRA";
        }
    ?>
</select>

php内部的前两行是否???值出现在选择框中,但如果我尝试使用一个文本框提交,则它将变为空empty@omnath:我想您在代码中使用了结束标记??它是?在你的代码中没有看到
<?
$sql="SELECT uid,name FROM emitra_basic where block='$user'";
$result = $conn->query($sql);
?>
<select class="select-style gender" name="eid">
    <option value="blank">Please Select E-MITRA ID</option>
    <?php
    while($row=mysqli_fetch_array($result))
    {
        $selected = ((isset($_POST["eid"]) && $_POST["eid"] == $row['uid']) ? 'selected=""' : '');
    ?>
    <option <?=$selected?> value="<?php echo $row['uid']; ?>"><?php echo $row['uid']." (" . $row['name'] .")"; ?></option>
    <?php
    }
    if(isset($_POST['submit']))
    {
        $eid = $_POST["eid"];
        if($eid=="blank")
        {
           $flag=1;
           $idErr="please Select E-MITRA";
        }
    ?>
</select>