验证PHP中的动态文本框内容

时间:2013-07-04 08:38:32

标签: php

我有这个并且工作正常。但有人可以告诉我有没有更聪明的方法来验证这个?

在此处的验证中,您可能会发现echo "<form.......被复制三次,以确保在提交表单时,表单内容在验证消息旁边也是可见的。我确信有一种更精确的方法可以验证文本框内容,而不会多次复制表单。

还要感谢是否有人可以建议我在提交表单后保留文本框值的方法。通常在提交表单时,您输入的值会消失。

由于

<?php
include ("../connection/index.php"); 
?>
<form method='post' action=''>
<input type="submit" name="sendone" id="sendone" value="OneClick">
</form>
<?php


if(isset($_POST['sendone']))
{
echo "Hello";
echo "<form method='post' action=''><input type='text' name='txt1' id='txt1'><input type='submit' name='sendtwo' id='sendtwo' value='TwoClick'></form>";

}
if(isset($_POST['sendtwo']))
{if($_POST['txt1']=='')
{
echo "Hello";
echo "<form method='post' action=''><input type='text' name='txt1' id='txt1'><input type='submit' name='sendtwo' id='sendtwo' value='TwoClick'></form>";
echo "Empty";}
else
{
echo "Hello";
echo "<form method='post' action=''><input type='text' name='txt1' id='txt1'><input type='submit' name='sendtwo' id='sendtwo' value='TwoClick'></form>";
echo "Hit success!";            
}}

?> 

修改

概念

  <hard coded submit1 button>
     <dynamically create a text box with a submit2 button>
         <when submit2 is activated is should validate the text box content>

验证发生时,vididated消息和文本框都应该是可见的

1 个答案:

答案 0 :(得分:0)

你的意思是这样吗?

<?php
if(isset($_POST['sendtwo']))
{
    echo "Hello";
}
?>
    <form method='post' action=''>
        <?php
        if (!isset($_POST['sendone'])) {
            ?>
            <input type="submit" name="sendone" id="sendone" value="OneClick">
        <?
        } else {
            ?>
            <input type="hidden" name="sendone" id="sendone" value="OneClick">
            <input type='text' name='txt1' id='txt1'<?=isset($_POST['txt1']) && trim($_POST['txt1']) !== '' ? ' value="'.trim($_POST['txt1']).'"' : ''?>>
            <input type='submit' name='sendtwo' id='sendtwo' value='TwoClick'>
        <?
        }
        ?>
    </form>
<?php
if (isset($_POST['sendtwo'])) {
    if (trim($_POST['txt1']) == '') {
        echo 'Empty';
    } else {
        echo 'Hit success!';
    }
}