从表单更新定义的密码

时间:2013-06-24 08:23:18

标签: php

我有一个php文件,我在这里定义了像这样的用户ID和密码

define( 'USER', "abc@example.com" );
define( 'PASSWORD', "abc@123" );

现在我想用更改密码表单更改密码。请帮帮我,我怎么能这样做。表格很简单

 <form name="changepassword" action="password.php" method="post">
    <label>New password</label>
    <input type="text" name="password" value="password">
  <input type="submit" value="Submit">
    </form>

1 个答案:

答案 0 :(得分:0)

如果您在代码中将密码定义为常量,则无法使用表单进行简单更改。能够更改密码的简单解决方案是将其存储在文件中。当有帖子需要更新文件时。

它可以是这样的:

$pwFile = '/path/to/password.txt';

if (isset($_POST) && array_key_exists('password', $_POST)) {

    if (is_writable($pwFile)) {

        file_put_contents($_POST['password'], $pwFile);
        $updated = 1;

    } else {

        $updated = 0;  
    }

    header('Location: password.php?updated='. $updated);
    exit(0);
}

if (is_file($pwFile) && is_readable($pwFile)) {

    $password =  file_get_contents($pwFile);

} else {

    $password = 'd3f4ul7p455w0rd';
}

define('PASSWORD', $password);

if (isset($_GET['updated'])) {

    if (1 == $_GET['updated']) {

        echo 'password updated';

    } else {

        echo 'could not update password';
    }
}