新しいユーザーを作成するときにWordpressが行うのと同じように、標準のWordpressソルトを使用して、データベースに送信されるパスワードを暗号化したい. wp-config.php で自分のソルトを見つけることができることを知っています。したがって、salt を生成する必要はありません。パスワードを暗号化するだけです。
そのため、mypassword0 を作成すると、Wordpress ソルトによって暗号化されたテキストの文字列がデータベースに送信されます。
これが機能する私の元のコードです。( Yadav Chetanさん、ご協力ありがとうございます!) あとは、salt 暗号化コードを追加するだけです。
<?php
if(isset($_POST['submit'])){
$query = "INSERT INTO mytable_one
(user, pass)
VALUES
('".$_POST['user']."', '".$_POST['pass']."')";
$query = "INSERT INTO mytable_two
(fname, lname)
VALUES
('".$_POST['fname']."', '".$_POST['lname']."')";
mysql_query($query);
}else{
?>
<div class="content">
<form method="post">
<div><strong>First Name:</strong><span class="errortext">*</span></div>
<div><input id="first-name" name="fname" type="text" /></div>
<div><strong>Last Name:</strong><span class="errortext">*</span></div>
<div><input id="last-name" name="lname" type="text" /></div>
<div><strong>User:</strong><span class="errortext">*</span></div>
<div><input id="user-login" name="user" type="text" /></div>
<div><strong>Password:</strong><span class="errortext">*</span></div>
<div><input id="user-pass" name="pass" type="text" /></div>
<div><input id="submit-button" value="submit" type="submit" />
</div>
</form>
<?php }?>
更新しました:
RRikeshは、mysql_* を WPDB コードに変更することを提案しました。だから私はそれを wpdb に変更しようとしましたが、それを他のコードと統合する必要もあります。この更新されたコードを修正するのを手伝ってくれませんか?
<?php
if(isset($_POST['submit'])){
$firstname = $_POST['fname'];
$lastname = $_POST['lname'];
$username = $_POST['user'];
$password = $_POST['pass'];
$wpdb->query(
$wpdb->prepare(
"INSERT INTO mytable_one
(user, pass) VALUES (%s, %s)",
$username,
wp_hash_password($password)
)
);
$wpdb->query(
$wpdb->prepare(
"INSERT INTO mytable_two
(fname, lname) VALUES (%s, %s)",
$firstname,
$lastname,
)
);
}else{
?>
<div class="content">
<form method="post">
<div><strong>First Name:</strong><span class="errortext">*</span></div>
<div><input id="first-name" name="fname" type="text" /></div>
<div><strong>Last Name:</strong><span class="errortext">*</span></div>
<div><input id="last-name" name="lname" type="text" /></div>
<div><strong>Username:</strong><span class="errortext">*</span></div>
<div><input id="user-login" name="user" type="text" /></div>
<div>Password:</div>
<div><input id="user-pass" name="pass" type="text" /></div>
<div><input id="submit-button" value="submit" name="submit" type="submit" /></div>
</form>
<?php }?>
更新2
WPDB メソッドを機能させることができませんでした。ただし、私の otd メソッドを使用して、パスワードを取得できました。作業コードは次のとおりです。
<?php
if(isset($_POST['submit'])){
$password = $_POST['user_pass'];
$hash = wp_hash_password('$password');
$query = "INSERT INTO wp_users
(fname, lname, user, pass) VALUES ('".$_POST['fname']."', '".$_POST['lname']."', '".$_POST['user']."', '".$hash."')";
mysql_query($query);
}else{
?>
この質問は解決されたパスワードのハッシュに関するものだったので、おそらく私は WPDB に関する新しい質問を開く必要があります。