我有一个表单,它有多个文本框。对于一个这样的文本框,我从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获取并在文本框中显示)?
答案 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";
?>