Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 数据库中未更新密码_Php_Email_Mysqli - Fatal编程技术网

Php 数据库中未更新密码

Php 数据库中未更新密码,php,email,mysqli,Php,Email,Mysqli,我创建了一个名为password\u reset的函数 我的recover_password(恢复密码)页面工作正常,发送电子邮件,并按照我的预期更新名为validation_code的字段 现在,当我收到电子邮件时,它会发送此链接 要重置密码,请访问 http://localhost/cms/account/reset-password.php?email=myemail.net&code=313893625577 现在我有了一个名为reset password.php的页面,正如您在链接中看

我创建了一个名为password\u reset的函数

我的recover_password(恢复密码)页面工作正常,发送电子邮件,并按照我的预期更新名为validation_code的字段

现在,当我收到电子邮件时,它会发送此链接

要重置密码,请访问
http://localhost/cms/account/reset-password.php?email=myemail.net&code=313893625577

现在我有了一个名为
reset password.php
的页面,正如您在链接中看到的那样

当你点击它时,它会进入页面

我的html

 <?php display_message();?>
 <?php password_reset();?>

 <form role="form" action="reset-password.php" method="post">
    <div class="form-group">
      <label>Verification Code</label>
      <input class="form-control" type="text" id="verification_code"   name="verification_code" value="<?php echo isset($_GET['code']) ? $_GET['code'] : '';?>">
    </div>
    <div class="form-group">
      <label>Email Address</label>
      <input class="form-control" type="text" id="email" name="email" value="<?php echo isset($_GET['email']) ? $_GET['email'] : '';?>">
    </div>
    <div class="form-group">
      <label>Password</label>
      <input class="form-control" type="text" id="password" name="password" placeholder="Password">
    </div>
    <div class="form-group">
      <label>Confirm New Password</label>
      <input class="form-control" type="text" id="confirm_password" name="confirm_password" placeholder="Confirm Password">
    </div>
    <input type="submit" name="submit" id="btn-login" class="btn btn-custom btn-lg btn-block" value="Reset Password">
  <input type="hidden" class="hide" name="token" id="token" value="<?php echo token_generator();?>">

  </form>
下面是当你点击邮件中的链接时的样子


在您的函数
密码重置()
中,您正在使用检查

if(isset($\u GET['email'])和&isset($\u GET['code']){

但这永远不会是真的,因为你是用post发送表单的,所以你需要检查

if (isset($_POST['email']) && isset($_POST['code'])) {

在函数中,

在函数中,
密码重置()
您正在使用检查

if(isset($\u GET['email'])和&isset($\u GET['code']){

但这永远不会是真的,因为你是用post发送表单的,所以你需要检查

if (isset($_POST['email']) && isset($_POST['code'])) {

进一步了解您的功能。

谢谢您的回复,我已经尝试过了,但是得到了相同的结果。错误很明显,您正在通过post发送表单,并请求get参数。您应该使用
更改这两行。我已经对代码进行了编辑,正如您所建议的,表单似乎运行正常,但没有更新pas刀剑或显示设置消息(“您的密码已更新”);或在函数中重定向
password\u reset()
您正在检查不存在的POST变量
code
。正确的名称是
verification\u code
。您应该检查使用
var\u dump($\u GET,$\u POST,$\u COOKIE)提交的变量
。感谢您的回复,我已经尝试过了,但是得到了相同的结果错误很明显,您正在通过post发送表单,并请求get参数。您应该使用
更改这两行代码。我已经对代码进行了编辑,正如您所建议的那样,表单似乎是如何运行的。它不会更新密码或显示set_消息(“您的密码已更新”);或在函数中重定向
password\u reset()
您正在检查不存在的POST变量
code
。正确的名称是
verification\u code
。您应该检查,哪些变量是使用
var\u dump($\u GET,$\u POST,$\u COOKIE);
提交的。
if (isset($_POST['email']) && isset($_POST['code'])) {