![](/img/trans.png)
[英]Send new password to a new database after password change/reset in Wordpress
[英]Change user password in the wordpress database
我強制用戶在他們第一次訪問 wordpress 的站點時更改密碼。 在表 wp_users 我添加了這個字段status tinyint(1) NOT NULL DEFAULT -1
。 當用戶登錄時,我查詢數據庫,如果狀態字段為-1,則顯示更改密碼的表單,如下所示:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <php if($_SESSION['status'] == '-1'): ?> <div class="alteracao"> <form class="alteracao-signin"> <h2 class="alteracao-signin-heading">Tem de alterar a sua senha.</h2> <input type="password" class="form-control" name="senha" id="senhaatual" placeholder="Senha Atual" required=""/> <input type="password" class="form-control" name="senha" id="senhanova" placeholder="Nova Senha" required=""/> <input type="password" class="form-control" name="senha" id="senhaconfir" placeholder="Confirmar Senha" required=""/> <button class="btn btn-lg btn-primary btn-block" type="button" onclick="inserir_senha();">Alterar</button> </form> </div> <?php endif; ?>
然后要更改數據庫中的密碼,我這樣做是這樣的:
$senhaatual = $_POST["senhaatual"];
$senhanova = $_POST["senhanova"];
$senhaconfir = $_POST["senhaconfir"];
$status = '1';
$id_util = $_SESSION['usuarioId'];
$senhafinal = password_hash($senhanova, PASSWORD_DEFAULT);
$query = 'UPDATE wp_inf.inf_users SET user_pass= ?, status= ? WHERE ID = ? ';
$conn->prepare($query)->execute([$senhafinal, $status, $id_util]);
它不會在瀏覽器控制台中返回任何錯誤,但不會更新數據庫中的數據。
你能幫我嗎?
所有這些密碼變量都是空的。
$senhaatual = $_POST["senhaatual"];
$senhanova = $_POST["senhanova"];
$senhaconfir = $_POST["senhaconfir"];
這是因為在您的 HTML 中沒有帶有name="senhaatual"
、 name="senhanova"
和name="senhaconfir"
的元素。
Plus form
沒有method="post"
並且默認通過 GET 方法發送。
工作代碼將是
<form method="post">
...
<input type="password" class="form-control" name="senhaatual" id="senhaatual" placeholder="Senha Atual" required=""/>
<input type="password" class="form-control" name="senhanova" id="senhanova" placeholder="Nova Senha" required=""/>
<input type="password" class="form-control" name="senhaconfir" id="senhaconfir" placeholder="Confirmar Senha" required=""/>
...
</form>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.