Login شدن به وبسایت Wordpress (حل شد)
باسلام
اول بگم که فکر می کنم 2 یا 3 هفته است که دنبال این موضوع هستم و هنوز به نتیجه نرسیدم.
من یک سایت ورد پرس دارم و می خوام یک برنامه اندرویدی براش بنویسم. و می خوام کاربرای سایتم با همون یوزر و پسورد سایت بتونن به نرم افزار هم دسترسی داشته باشن. می تونم به دیتابیس دسترسی داشته باشم و یوزر و پسورد کاربر رو داشته باشم اما مشکل اینه که ورد پرس پسورد ها رو با الگوریتم md5 رمزنگاری می کنه و نمی تونم یوزر و پسورد کاربر رو موقع ورود چک کنم. کسی می تونه کمکم کنه؟ البته یکسری فایل php داخل پوشه wp-admin و همچنین فولدر اصلی سایت هست فقط نمی دونم کمدومش رو باید استفاده کنم و به چه صورت.
نمی دونم جای درستی سوالم رو پرسیدم یا نه؟ ولی واقعا گیر کردم و چون اینجا عضو بودم مطرحش کردم. لطفا راهنمایی کنید.
با تشکر
دوست عزیز جواب شمارو خود وردپرس داده :
https://codex.wordpress.org/Resetting_Your_Password
فقط یکبار md5 میشه
"UPDATE (name-of-table-you-found) SET user_pass = MD5('"(new-password)"') WHERE ID = (id#-of-account-you-are-reseting-password-for);"
برای ثبت نام و ایجاد پسورد هم این موضوع :
http://codex.wordpress.org/Function_Reference/wp_generate_password
با سلام مجدد
من یک فایل PHP درست کردم به صورت زیر
<?php
$pass='123';
$hash = wp_hash_password( $pass );
echo $pass;
echo $hash;
?>
اما موقع اجرا ارور زیر رو می ده:
Fatal error: Call to undefined function wp_hash_password() in /home3/MySite/public_html/test_service3.php on line 4
کسی می تونه کمکم کنه؟ اگه ممکنه فایل PHP نمونه بزارین .
خیلی ممنون
با تشکر از همه دوستان
من از فایل زیر استفاده کردم و جواب گرفتم.
<?php
require_once("wp-load.php");
$userName=$_REQUEST['username'];
$password=$_REQUEST['password'];
if(wp_check_password( $password, savedPassword($userName) )){
echo "true";
}else{
echo "false";
}
function savedPassword($userName){
$sql = "SELECT * FROM wp_users WHERE user_login LIKE '$userName'";
$conn=connectTODataBase();
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
// output data of each row
$row = mysqli_fetch_assoc($result);
$savedPassword=$row["user_pass"];
return $savedPassword;
} else {
// echo "false";
}
mysqli_close($conn);
}
function connectTODataBase(){
$servername = "localhost";
$username = "UserName";
$password = "Password";
$dbname = "DatabaseNamet";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
mysqli_query($conn,"SET NAMES 'utf8'");
mysqli_set_charset($conn,"UTF8");
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
return $conn;
}
?>
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .