簡體   English   中英

更改 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM