Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP进行表单验证并就地显示输入的用户名隐藏表单输入字段_Php_Html - Fatal编程技术网

使用PHP进行表单验证并就地显示输入的用户名隐藏表单输入字段

使用PHP进行表单验证并就地显示输入的用户名隐藏表单输入字段,php,html,Php,Html,我想使用php验证用户名和密码,然后在同一页面中显示用户名,而不是隐藏整个div字段集。 我在字段集中采用了表单输入字段,这都在一个div中 PHP: <?php //------------------------------------------------------------------------------>PHP VALIDATION $user=""; $pass=""; $nameErr=""; $passErr=""

我想使用php验证用户名和密码,然后在同一页面中显示用户名,而不是隐藏整个div字段集。 我在字段集中采用了表单输入字段,这都在一个div中

PHP:
<?php       //------------------------------------------------------------------------------>PHP VALIDATION
    $user="";
    $pass="";
    $nameErr="";
    $passErr="";`enter code here`
    //$pattern='/^[a-zA-Z0-9@_ ]*$/';
    if($_SERVER['REQUEST_METHOD']=='POST')
    {
        if(empty($_POST['uname']))
        {
            $nameErr='Enter Your Name!';
        }
        else
        {
            $user = test_input($_POST['uname']);
            if(!preg_match('/^[a-zA-Z0-9@_]*$/',$user))
            {
                $nameErr=' Re-Enter Your Name! Format Inccorrect!( only alpha, numbers,@_ are allowed)';
            }
        }
    }

    function test_input($data)
    {
        $data = trim($data);
        $data = stripslashes($data);
        $data = htmlspecialchars($data);
        return $data;
    }
?>


HTML:

<div class='input'>
    <fieldset>
        <?php echo $user;?>
        <form method='post' name='f1' action='<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>'>
            <table>
                <tr>
                    <td>
                        User Name:<input type='text' id='uname' name='uname' class='uname' placeholder='USERNAME' autocomplete='off' autofocus><span class='error'>*</span>
                        Password:<input type='password' id='pass' class='pass' placeholder='PASSWORD' autocomplete='off'><input type='submit' name='submit' id='loggin' value='LOGIN' class='login'>
                    </td>
                </tr>
            </table>
        </form>
    </fieldset>
    <div class='errormsg' id='errmsg'><?php echo $nameErr;?></div>
</div>
PHP:
HTML:

这是一个相当简单的构造。您需要一个表单、一个会话(或用户名的其他容器)和一些逻辑。请参见下面的示例代码。我想你可以自己解决剩下的问题:

<?php
    session_start();

    if(isset($_POST['btn_Login'])) {

        // validation code;

        // if validation succeeded:
        $_SESSION['LoggedIn'] = $_POST['Username'];
    }

    if(isset($_SESSION['LoggedIn'])) {

        echo 'Welcome ' . $_SESSION['LoggedIn'];
?>
// display contents when logged in
<?php   
    } else { 
?>
// display form (where the field for the username is named 'Username' and the submitbutton is named 'btn_Login')
<?php   
}

//登录时显示内容
//显示表单(其中用户名字段名为“username”,提交按钮名为“btn_Login”)

只需回显用户名而不是输入字段。这样做有什么问题?有问题的代码在哪里?您想要的输出是什么?问题是我想在提交后隐藏表单div并显示提交的用户名这里有一百万个包含验证库的验证库和框架。@Amitranakar这不是问题,这是您想要的。试着让它发生-如果你不能,告诉我们你尝试了什么,我们会帮助你。