【发布时间】:2021-09-26 19:11:55
【问题描述】:
我编写了一个 php 函数,它根据一组规则生成随机密码。在用户单击调用 php 函数的“生成随机密码”按钮(不刷新页面)后,我想将 $randomPassword 变量插入 HTML 表单字段。一旦随机密码出现在表单字段中,用户单击“提交”按钮以更改数据库中的密码。
将 php 变量放入表单字段的最佳方法是什么?我已经进行了大量搜索,但无法提出可行的解决方案。
任何有关如何实现此目的的提示将不胜感激。谢谢!
*** 编辑 ***
感谢以下所有反馈,但我今天找到了工作的起点,这是表单:
<form name="passwordform" action="" method="post">
<div>
<?php
if ( $error )
echo '<font color="red">'. $message . "<br></font>";
else
echo $message;
?><br>
</div>
<div class="wrap-input100 validate-input" data-validate = "password is required">
<div class="content">
<input class="input100" type="password" id="pass1" name="new_password" placeholder="New Password"</input>
<span class="focus-input100-1"></span>
<span class="focus-input100-2"></span>
</div>
</div><br>
<div class="wrap-input100 validate-input" data-validate = "password is required">
<div class="content">
<input class="input100" type="password" id="pass2" name="confirm_new_password" placeholder="Confirm New Password"</input>
<span class="focus-input100-1"></span>
<span class="focus-input100-2"></span>
</div>
</div><br>
<div class="first">
<div class="group1">
<input type="checkbox" id="chk">
<label id="showhide" class="label">Show Passwords</label>
</div>
</div>
<script src="_js/showhide.js"></script><br>
<?php echo $passwordSyntaxMessage . "<br>";
if ($reCAPTCHAcheck)
echo '<div class="g-recaptcha" data-sitekey=' . $reCAPTCHAsiteKey . '></div><br>';
?>
<input class="login100-form-btn" name="insert" type="button" value="Generate Random Password" onClick="randomPassword();" /><br>
<div style="float:left; padding-right: 0px">
<input class="form-button" style="width: 180px" name="insert" type="submit" value="Set Password" />
</div>
<div style="float:right; padding-right: 0px">
<input class="form-button" style="width: 180px" name="insert" type="reset" value="Reset Form" />
</div>
</form>
<script type="text/javascript" >
function randomPassword() {
var pass = <?php echo generateRandomPassword();?>;
passwordform.new_password.value = pass;
passwordform.confirm_new_password.value = pass;
}
</script>
如果我单击“生成随机密码”按钮,则 2 个密码字段保持空白。 php 函数 generateRandomPassword() 在一个名为 functions.php 的文件中,我知道它可以工作,因为我可以在浏览器中回显结果。
如果我换行:
var pass = <?php echo generateRandomPassword();?>;
与:
var pass = "testing 1 2 3";
果然在2个密码字段中插入了“testing 1 2 3”这句话!
那么调用 php 函数我哪里出错了?
谢谢!
【问题讨论】:
标签: php forms insert passwords field