繁体   English   中英

如何在单击按钮 PHP 时以 html 形式打印特定文本?

[英]how to print a specific text in html form on click of a button PHP?

我正在开发基于 php 的密码生成器,我有一个 html 表单,其中包含网站名称、用户名和密码的输入。 到目前为止,用户必须输入密码才能对其进行加密和存储,我想要的是除了密码输入表单之外还有一个按钮,单击该按钮时在密码字段中输入生成的密码。

这是我正在使用的表格-

</head>

<body 
        <form class="form" method="post">
            <!--Input Fields-->
            <input type="text" name="website" placeholder="Website" required autocomplete="off"> <br>
            <input type="text" name="username" placeholder="Username" required autocomplete="off"> <br>
            <input type="password" name="password" placeholder="Password" required autocomplete="off"> <br>
            <input type="submit" name="submit" value="SAVE" class="submit">
        </form>
    </div>

这是 function 我想在按下按钮时执行-

 function password_generate($chars) 
        {
        $Uppercase="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
        $Lowercase="abcdefghijklmnopqrstuvwxyz";
        $Numbers="1234567890";
        $Symbols="!@#$&*+_?%";
        
          $data = $Uppercase.$Lowercase.$Numbers.$Symbols;
          return substr(str_shuffle($data), 0, $chars);
        }

使用 PHP 和 JavaScript 可以轻松实现。

PHP 代码:

<body 
        <form class="form" method="post">
            <!--Input Fields-->
            <input type="text" name="website" placeholder="Website" required autocomplete="off"> <br>
            <input type="text" name="username" placeholder="Username" required autocomplete="off"> <br>
            <input type="password" name="password" placeholder="Password" required autocomplete="off"> <br>
            <input type="button" class="button" value="Generate" onClick="randomPassword(10);" tabindex="2"> <br>
            <input type="submit" name="submit" value="SAVE" class="submit">
        </form>
    </div>

JS代码:

<script>
function randomPassword(length) {
    var chars = "abcdefghijklmnopqrstuvwxyz!@#$%^&*()-+<>ABCDEFGHIJKLMNOP1234567890";
    var pass = "";
    for (var x = 0; x < length; x++) {
        var i = Math.floor(Math.random() * chars.length);
        pass += chars.charAt(i);
    }
    myform.password.value = pass;
}
</script>

希望这对你有用。

它会生成与您在 PHP function 中提到的相同的随机密码。

var pass = "(return substr(str_shuffle($data), 0, $chars));


这是一个 JavaScript function 的简单示例,它()随机生成密码并设置密码字段。

由于默认情况下密码字段不显示值,因此本示例将生成的密码放在页面上的<span>标记中。 这并不理想,仅用于演示目的 理想情况下,密码只会出现在密码字段中,用户将切换是否显示密码。 但是因为我不知道你的页面的完整设置以及你在做什么,所以我在我的演示中这样做了。

 function _RandomPassword(len) { let chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890?@#$&*+_,%"; suggestion = ""; for(let i = 0; i < len. i++) suggestion += chars.split(""),sort((a. b) => Math.round(Math.random()*a.charCodeAt()) - Math.round(Math.random()*b.charCodeAt())).splice(-1);join(""). document.querySelector("#suggestion");textContent = suggestion. document.querySelector("[name='password']");value = suggestion; }
 <form class="form" method="post"> <!--Input Fields--> <input type="text" name="website" placeholder="Website" required autocomplete="off"> <br> <input type="text" name="username" placeholder="Username" required autocomplete="off"> <br> <input type="password" name="password" placeholder="Password" required autocomplete="off"> <br> <span id="suggestion"></span> <input type="button" value="*Suggest*" onclick="_RandomPassword(8)"> <br> <input type="submit" name="submit" value="SAVE" class="submit"> </form>

此密码 function 采用 1 个参数(密码长度为len ),然后将您的字符列表转换为数组,随机排序,并取最后一个字符。 它循环并执行此操作,无论密码需要多长时间,然后将该值放入密码字段以及页面上的<span>标记中。

按下 html 按钮时,在表单字段中获取自动生成的密码的正确答案和代码片段在这里 -

<!DOCTYPE html>
<html lang="en">

<head>
    <title>Answer by @Ashutosh_7i</title>
</head>

<body>
        <form class="form" method="post">
            <input type="text" name="website" placeholder="Website" required autocomplete="off"> <br>
            <input type="text" name="username" placeholder="Username" required autocomplete="off"> <br>
            <input type="password" name="password" placeholder="Password" required autocomplete="off"> <br>
            <span id="suggestion"></span> <input type="button" value="*Suggest*" onclick="_RandomPassword(8)"> <br>
            <input type="submit" name="submit" value="SAVE" class="submit">
    </form>

<script>
function _RandomPassword(len) {
  let chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890!@#$&*+_?%",
      suggestion = "";
  for(let i = 0; i < len; i++) suggestion += chars.split("").sort((a, b) => Math.round(Math.random()*a.charCodeAt()) - Math.round(Math.random()*b.charCodeAt())).splice(-1).join("");
    
  document.querySelector("#suggestion").textContent = suggestion;
  document.querySelector("[name='password']").value = suggestion;
}
</script>

</form>
</body>
</html>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM