使用PHP PDO从DB中保存文本框中的值(在从DB中获取值时显示)

时间:2016-01-09 11:02:15

标签: php mysql forms pdo save

我有一个表单,它有多个文本框。对于一个这样的文本框,我从DB获取数据并使用echo语句在文本框中显示该值。

但是,在填写整个表单并单击“提交”后,除此之外的所有文本框中都有值。

我正在使用PDO并保存MySQL Db中的值。我是PHP的新手,我无法弄明白!!

我的代码:

<?php
if(isset($_POST["submit"])=="Save") {
   $RestName = $_POST['username'];
   if (empty($RestName))
      echo "Restname is empty";
   else
      echo "Restname is not empty";
}

?>

<form role="form" action="" method="post">
<?php

$STM = $conn ->prepare("SELECT * FROM vendorusers WHERE vd_user_email=:email");

$STM->bindParam(':email',$email);
$STM->execute();
$rows = $STM->fetchAll();

foreach ($rows as $row) { 
  $username = $row['vd_user_name'];
?>

<input type="text" class="form-control"  id = "username" name = "username" value= "<?php echo $username; ?>">

<?php  } ?>

<button type="submit" name="submit" id="submit" value = "Save" class="btn btn-primary pull-left">Save</button>
</form>

此代码显示“Restname为空”;

如何在提交期间获取值(从DB获取并在文本框中显示)?

2 个答案:

答案 0 :(得分:0)

请更改输入名称的名称=&#39;用户名&#39; to name =&#39; username []&#39;。使用名称中的数组获取多个结果。

答案 1 :(得分:0)

使用isset的测试是错误的 - 您需要将其更改为类似if( isset( $_POST['submit'] ) && $_POST['submit']=='Save' ) {等的内容,或使用empty,因为它会执行隐式isset,如下所示。 / p>

<?php

    $RestName = !empty( $_POST["submit"] ) && $_POST["submit"]=='Save' && !empty( $_POST['username'] ) ? $_POST['username'] : false;
    echo $RestName ? "Restname is empty" : "Restname is not empty";
?>