-1

簡単な質問です。家族経営のタイムカードとPOシステムをセットアップしました。従業員は、ユーザー名とパスワードを入力してシス​​テムに入ります。家族が誰かを雇うたびに、彼らは私に情報を送ってくれました。htpasswd ジェネレーターを使用し、ファイルを開いて追加し、ftp を使用して再アップロードします。私の妻は、私が設定したphpページを使用してデータベースに情報を入力していますが、生成されたpwをコピーしてhtpasswdファイルに貼り付けることができるtxtフィールドを彼女に許可する方法があるかどうか疑問に思っています. いつも変えなくても。

要約すると、txtフィールドに入れて送信を押すと、自動的にtxtがhtpasswdファイルに入れられるフォームコマンドはありますか

4

1 に答える 1

2

PHPページを作成する必要があります。この回答には、必要なコードの例があります。

$username = $_POST['user'];
$password = $_POST['pass'];
$new_username = $_POST['newuser'];
$new_password = $_POST['newpass'];
$action = $_POST['action'];
//read the file into an array
$lines = explode("\n", file_get_contents('.htpasswd'));

//read the array and change the data if found
$new_file = "";
foreach($lines as $line)
{
    $line = preg_replace('/\s+/','',$line); // remove spaces
    if ($line) {
        list($user, $pass) = split(":", $line, 2);
        if ($user == $username) {
            if ($action == "password") {
                $new_file .= $user.':'.$new_password."\n";
            } else {
                $new_file .= $new_username.':'.$pass."\n";
            }
        } else {
            $new_file .= $user.':'.$pass."\n";
        }
    }
}

//save the information
$f=fopen(".htpasswd","w") or die("couldn't open the file");
fwrite($f,$new_file);
fclose($f);

もう少し完全な解決策もあります。または、 Googleで調べてください。

于 2013-11-06T04:35:57.103 に答える