Php 刷新页面后保存登录名

Php 刷新页面后保存登录名,php,Php,我已经创建了一个唯一的用户名生成器。问题是刷新页面后,它不会保存在表单中 有没有办法阻止这一切 以下是登录生成代码: <div> <label for="username">Ваш логін</label> <input type="text" name="username" value="' . (strval(bin2hex(openssl_

我已经创建了一个唯一的用户名生成器。问题是刷新页面后,它不会保存在表单中

有没有办法阻止这一切

以下是登录生成代码:

<div>
     <label for="username">Ваш логін</label>
     <input type="text" name="username" value="' .
         (strval(bin2hex(openssl_random_pseudo_bytes(1)))) . date("Y") . 
         (strval(bin2hex(openssl_random_pseudo_bytes(1)))) . date("d") . 
         (strval(bin2hex(openssl_random_pseudo_bytes(1)))) . date("m") . 
         (strval(bin2hex(openssl_random_pseudo_bytes(1)))) . '" 
         readonly="readonly">  
</div>

Ваш логін

您正在页面中生成用户名,但没有存储它

这是一个示例,其中我使用提交按钮通过POST发送生成的用户名,然后使用php会话存储该用户的用户名:

<?php
    session_start();
    if(isset($_POST['username'])) {
        $_SESSION['username'] = $_POST['username'];
    }

    if(isset($_SESSION['username'])) {
        $value = $_SESSION['username'];
    } else {
        $value = (strval(bin2hex(openssl_random_pseudo_bytes(1)))) . date("Y") .
        (strval(bin2hex(openssl_random_pseudo_bytes(1)))) . date("d") .
        (strval(bin2hex(openssl_random_pseudo_bytes(1)))) . date("m") .
        (strval(bin2hex(openssl_random_pseudo_bytes(1))));
    }
?>

<form action="" method="post">
    <label for="username">Ваш логін</label>
    <input type="text" name="username" value="<?php echo $value; ?>"
    readonly="readonly">
    <input type="submit" value="Save username">
</form>

Ваш логін

这回答了你的问题吗?你说的“不以形式保存”是什么意思?如中所示,刷新页面时输入为空?您是否尝试了
echo
-ing(strval(bin2hex(openssl\u random\u pseudo\u bytes(1)))。日期(“Y”)。(strval(bin2hex(openssl_随机_伪_字节(1)))。日期(“d”)。(strval(bin2hex(openssl_随机_伪_字节(1)))。日期(“m”)。(strval(bin2hex(openssl_随机_伪_字节(1)))`