Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.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 Can';验证失败后,请不要将值保留在字段内_Php_Html - Fatal编程技术网

Php Can';验证失败后,请不要将值保留在字段内

Php Can';验证失败后,请不要将值保留在字段内,php,html,Php,Html,基本上,我想保留没有错误的值,不是密码或重复密码。为此,我提出了以下问题: 不过,我只保留了我的姓。目前,我尝试对表单中的所有字段执行此操作的方式是:“。我还有一条错误消息,它使用$\u GET读取URL,并相应地发送一条错误消息,效果很好。这是我的实际代码 诺姆 您可以通过POST方法(form method=“POST”)发送数据,但尝试从$\u GET数组进行设置。改用$\u POST。另外,不要忘记转义输入数据以避免XSS漏洞尝试使用$\u请求,这将从所有$\u GET和$\u P

基本上,我想保留没有错误的值,不是密码或重复密码。为此,我提出了以下问题:

不过,我只保留了我的姓。目前,我尝试对表单中的所有字段执行此操作的方式是:
。我还有一条错误消息,它使用$\u GET读取URL,并相应地发送一条错误消息,效果很好。这是我的实际代码


诺姆

您可以通过POST方法(form method=“POST”)发送数据,但尝试从$\u GET数组进行设置。改用$\u POST。另外,不要忘记转义输入数据以避免XSS漏洞

尝试使用$\u请求,这将从所有$\u GET和$\u POST数据中获取结果。
有关更多信息,请参见

要保留各种表单元素的值,您可以使用一个非常简单的小函数,只需提供表单元素名称作为参数,如下所示:

<?php
    function getvalue( $name=false ){
        echo isset( $_POST[ $name ] ) ? $_POST[ $name ] : '';
    }
?>

<!DOCTYPE html>
<html lang='en'>
    <head>
        <meta charset='utf-8' />
        <title>Form value retention</title>
    </head>
    <body>

        <!--
            for demonstration, the action has been 
             removed so it POSTs to the same page.
        -->
        <?php

            if( $_SERVER['REQUEST_METHOD']=='POST' ){
                printf('<pre>%s</pre>',print_r( $_POST, true ) );
            }

        ?>

        <form method='post' accept-charset='UTF-8'>

            <input type='hidden' name='form_type' value='create_customer' />
            <input type='hidden' name='utf8' value='✓' />

            <div id='first_name' class='clearfix large_form'> 
                <label for='fname' class='login'>Nome</label>
                <input type='text' value='<?php getvalue('fname'); ?>' name='fname' class='large' size='30' />
            </div>

            <div id='last_name' class='clearfix large_form'> 
                <label for='lname' class='login'>Sobrenome</label>
                <input type='text' value='<?php getvalue('lname'); ?>' name='lname' class='large' size='30' />
            </div>

            <div id='email' class='clearfix large_form'> 
                <label for='email' class='login'>E-mail</label>
                <input type='email' value='<?php getvalue('email'); ?>' name='email' class='large' size='30' />
            </div>

            <div class='clearfix large_form'>

                <label for='password' class='login'>Senha</label>
                <input type='password' value='<?php getvalue('pwd');?>' name='pwd' class='large password' size='30' />

                <div id='password' class='clearfix large_form'>
                    <label for='password' class='login'>Repetir Senha</label>
                    <input type='password' value='<?php getvalue('pwd-repeat');?>' name='pwd-repeat' class='large password' size='30' />
                </div>
            </div>

            <div class='acceptsMarketing'>
                <input type='checkbox' name='customer[accepts_marketing]'>
                <label for='customer[accepts_marketing]'>Assine a nossa newsletter?</label>
            </div>

            <div class='action_bottom'>

                <input class='btn action_button' name='signup-submit' type='submit' value='Inscrever-se' />

                <p class='right' style='padding-top: 8px;'>
                    <input class='btn action_button' type='submit' value='Recuperar Senha' />
                </p>

                <p class='right' style='padding-top: 8px;'>
                    Já é cliente? <a href='login.php' id='customer_login_link'>Entrar →</a>
                </p>
            </div>
        </form>
    </body>
</html>
以及上述页面中
getvalue
的替代功能:


我最初使用的是$\u POST,根本没有保存任何字段。好的,看起来您将includes/signup.inc.php重定向回表单,但出现了错误并收到了数据。如果是的话-你能提供URL吗?你指的是哪个URL?这个表单昨天出现在你之前的问题中,我提到你的HTML是不正确的-它保持不变。。。为什么?更新代码formatting@RamRaider我确实澄清了div是正确的。还更新了我尝试进行的一些测试“”,它保存了first name字段,但是如果我对$\u GET[“lname”]进行了更新,如果我重复$\u GET[“fname”],它就不会保存对于所有字段,它都保存了…上面的表单格式不正确。元素数量不平衡,重复的idsTrue。但是,格式化它对解决我的问题几乎没有帮助…很好,非常简单,易于理解,工作非常完美!很高兴它能帮上忙。在发布到同一页时这很好,但是如果发布到另一个脚本的表单hat进行了验证,然后重定向,如果出现错误,它将不起作用-这就是会话变量的作用。我将添加一个替代函数来说明。是的,它工作得很好,只花了一分钟左右的时间就可以看出我做错了什么,在我传递函数以获得它真正起作用的值之后,它只保留了1个字段t霍夫
session_start();
$svar='formdata';
/* the session variable is populated when the form is submitted */
if( !isset( $_SESSION[ $svar ] ) && $_SERVER['REQUEST_METHOD']=='POST' ){
    $_SESSION[ $svar ]=$_POST;
}
/* other processing... if(error)->redirect etc */
session_start();
$svar='formdata';

function getsessionvalue( $name=false ){
    global $svar;
    echo isset( $_SESSION[ $svar ][ $name ] ) ? $_SESSION[ $svar ][ $name ] : '';
}