如果发现错误,则需要在单击“提交”按钮后保留文本框中的值

时间:2012-12-19 12:44:43

标签: php html submit

衷心问候我 如果发现错误,我需要在单击提交按钮后保留文本框中的值。 基本上我想要的东西,如果用户将任何字段留空并按下保存按钮然后弹出错误消息而没有刷新页面它将用户带回到他必须填写留空的字段的表单...下面是我的代码

<html>
<form method="post" action="">
Enter Name  :   <input type="text" name="name" /><br/>
Enter Password  :   <input type="password" name="pass" /><br/>
<input type="submit" name="save" value="Save" />
</form>
</html>
php code
<?php
if (isset($_POST["save"]))
{
$name = $_POST["name"];
$pass = $_POST["pass"];
if (($name == '') && ($pass == '')) 
{
echo "Fields Must Be Filled...";
exit();
}
if ($name == '') {
echo "Enter Name...";
exit();
}
if ($pass == '') {
echo "Enter Password...";
exit();
}
else
{        
echo "Your name " . $name;
echo "<br/>";
echo "Your Password " . $pass;
}
}
?>

3 个答案:

答案 0 :(得分:3)

只需设置输入字段的值以匹配$ _POST参数即可。 你的表格将是......

<html>
<form method="post" action="">
Enter Name  :   <input type="text" name="name" value="<?php echo $_POST['name']; ?>" /><br/>
Enter Password  :   <input type="password" name="pass" value="<?php echo $_POST['pass']; ?>" /><br/>
<input type="submit" name="save" value="Save" />
</form>
</html>

答案 1 :(得分:1)

输入姓名:<input type="text" name="name" /><br/>

会是这样的

<?php 

$postvalue_name = (isset($_POST['name'])) ? $_POST['name'] : 'Fill in your name..'; 
?>

Enter Name  : <input type="text" name="name" value="<?php echo $postvalue_name; ?>" /><br/>

答案 2 :(得分:1)

首先,为您的POST处理提供一种更简单的方法。你可以做一个

foreach( $_POST as $key => $value )
{
   ${$key} = $value;
   //If you need to database process the data, you can put mysql_escape_string( $value );
}

现在,所有的POST都将出现在具有该字段名称的变量中。

在处理错误等等之后,您希望它们处于表单元素的值中。你可以使用变量

<input type="text" name="email" value="<?=$email?>">

或者,如果您使用POST

<input type="text" name="email" value="<?=$_POST['email']?>">

祝你好运。 纳斯

工作代码: - )

<?php
if (isset($_POST["save"]))
{
    //Run through all objects set in the POST array
    foreach( $_POST as $key => $value )
    {
        //Set a variable named the same as the input elements name, and with the value
        ${$key} = $value;
    }
}

    $error = false;
    if( empty($name) && empty($pass) ) 
    { 
        $error = true;
        $message = "Fields must be filled...";
    }
    elseif( empty($name) )
    { 
        $error = true;
        $message = "Enter name...";
    }
    elseif( empty($pass) )
    {
        $error = true;
        $message = "Enter Password...";
    }

    if( $error == true && isset($message) )
    {
        echo $message."<br><br>";
    }
    else
    {
        echo "Your name " . $name;
        echo "<br/>";
        echo "Your Password " . $pass;
    }
?>
<html><br><br>
<form method="post" action="">
Enter Name  :   <input type="text" name="name" value="<?=(isset($name) ? $name : "")?>"/><br/>
Enter Password  :   <input type="password" name="pass" value="<?=(isset($pass) ? $pass : "")?>" /><br/>
<input type="submit" name="save" value="Save" />
</form>
</html>