PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : نحوه دریافت اطلاعات با استفاده از داده های ارسالی از url



saman9074
September 2nd, 2016, 00:09
سلام من میخوام از طریق URL اطلاعاتی مانند نام کاربری و رمز عبور رو برای وردپرس بفرستم و اگه وجود داشت پیغام مناسبی ارسال بشه چطور میتونم همچین کاری کنم؟
مثلا این URL رو من از طریق مرورگر اجرا کنم example.ir/check.php?username=test&password=test، این بره با استفاده از توابع وردپرس در بانک اطلاعاتی چک کنه ببینه این نام کاربری موجوده یا نه و فقط یک متن رو چاپ کنه!
پیشاپیش ممنون از پاسختون

T.Toosi
September 2nd, 2016, 00:43
include ('wp-load.php');

$username = sanitize_user($_GET['username']);
$password = trim($_GET['password']);
$user = apply_filters('authenticate', null, $username, $password);

if ( is_wp_error($user) )
exit('نام کاربری یا رمز عبور اشتباه میباشد');

saman9074
September 2nd, 2016, 12:53
include ('wp-load.php');

$username = sanitize_user($_GET['username']);
$password = trim($_GET['password']);
$user = apply_filters('authenticate', null, $username, $password);

if ( is_wp_error($user) )
exit('نام کاربری یا رمز عبور اشتباه میباشد');

ممنون از شما دوست عزیز، من چند تا کار دیگه به غیر از بررسی نام کاربری میخوام انجام بدم مثل ثبت نام، خواندن اطلاعات از دیتابیس و ... کد زیر رو برای دریافت اطلاعات (user id) نوشتم اما هیچی نشون نمیده!




include ('wp-includes/pluggable.php');

$user = get_user_by('login','saman9074');

if($user)
{
echo $user->ID;
}

T.Toosi
September 3rd, 2016, 21:32
ممنون از شما دوست عزیز، من چند تا کار دیگه به غیر از بررسی نام کاربری میخوام انجام بدم مثل ثبت نام، خواندن اطلاعات از دیتابیس و ... کد زیر رو برای دریافت اطلاعات (user id) نوشتم اما هیچی نشون نمیده!




include ('wp-includes/pluggable.php');

$user = get_user_by('login','saman9074');

if($user)
{
echo $user->ID;
}



اگر get_user_by چیزی پیدا نکند false برگشت میدهد.

vahid13713
September 3rd, 2016, 22:48
سلام من میخوام از طریق URL اطلاعاتی مانند نام کاربری و رمز عبور رو برای وردپرس بفرستم و اگه وجود داشت پیغام مناسبی ارسال بشه چطور میتونم همچین کاری کنم؟
مثلا این URL رو من از طریق مرورگر اجرا کنم example.ir/check.php?username=test&password=test، این بره با استفاده از توابع وردپرس در بانک اطلاعاتی چک کنه ببینه این نام کاربری موجوده یا نه و فقط یک متن رو چاپ کنه!
پیشاپیش ممنون از پاسختون

نام کاربری شاید بشه ولی چون پسورد بصورت کد شده ذخیره میشه بعید میدونم

saman9074
September 5th, 2016, 02:51
اگر get_user_by چیزی پیدا نکند false برگشت میدهد.

خوب برای من هیچی چاپ نمیشه! نام کاربری درسته اما پیزی پیدا نمیشه

T.Toosi
September 5th, 2016, 13:00
خوب برای من هیچی چاپ نمیشه! نام کاربری درسته اما پیزی پیدا نمیشه


include ('wp-load.php');
$user = get_user_by('login','saman9074');
print_r($user);

saman9074
September 5th, 2016, 22:12
با تشکر از پاسختون، ببخشید دو تا سوال دیگه داشتم من یک usermeta با نام score تعریف کردم( از طریق افزونه مدیریت کاربران) که توش امتیازات کاربران به صورت عددی ذخیره میشه چطوری میتونم تمام usermeta همه کاربران رو بگیرم و مثلا 5 نفر اول رو که امتیاز بیشتری دارند نام و نام خانوادگی یا نام کاربریشون رو نشون بدم؟
دومین سوالم هم اینه که چطور میشه جایگاه کاربر مورد نظرم رو بین همه ی این کاربران مشخص کنم؟ (منظور دادن رتبه عددی هست مثلا کلا 5 تا کاربر دارم نام کاربری test امتیازش 700 بین این 5 نفر چندمه مثلا اگه بالاترین امتیاز باشه میشه 1 اگر پایین ترین باشه میشه 5 به این صورت). پیشاپیش از پاسختون ممنونم

vahid13713
September 5th, 2016, 22:51
سلام من میخوام از طریق URL اطلاعاتی مانند نام کاربری و رمز عبور رو برای وردپرس بفرستم و اگه وجود داشت پیغام مناسبی ارسال بشه چطور میتونم همچین کاری کنم؟
مثلا این URL رو من از طریق مرورگر اجرا کنم example.ir/check.php?username=test&password=test، این بره با استفاده از توابع وردپرس در بانک اطلاعاتی چک کنه ببینه این نام کاربری موجوده یا نه و فقط یک متن رو چاپ کنه!
پیشاپیش ممنون از پاسختون
توی php میتونید از ارایه فوق سراسرس $_get استفاده کنید نمونه کد

if(isset($_GET['msg'])){ $msg=$_GET['msg'];if($msg=="nouser"){echo "نام کاربری";}}

T.Toosi
September 5th, 2016, 23:00
با تشکر از پاسختون، ببخشید دو تا سوال دیگه داشتم من یک usermeta با نام score تعریف کردم( از طریق افزونه مدیریت کاربران) که توش امتیازات کاربران به صورت عددی ذخیره میشه چطوری میتونم تمام usermeta همه کاربران رو بگیرم و مثلا 5 نفر اول رو که امتیاز بیشتری دارند نام و نام خانوادگی یا نام کاربریشون رو نشون بدم؟
دومین سوالم هم اینه که چطور میشه جایگاه کاربر مورد نظرم رو بین همه ی این کاربران مشخص کنم؟ (منظور دادن رتبه عددی هست مثلا کلا 5 تا کاربر دارم نام کاربری test امتیازش 700 بین این 5 نفر چندمه مثلا اگه بالاترین امتیاز باشه میشه 1 اگر پایین ترین باشه میشه 5 به این صورت). پیشاپیش از پاسختون ممنونم

خواهش، نمایش 5 کاربر به ترتیب بزرگی score و نسبت رنک 1 تا 5 به کاربران :


global $wpdb;
$rank = 1;
$result = $wpdb->get_results("SELECT user_id FROM $wpdb->prefix"."usermeta WHERE meta_key='score' ORDER BY meta_value DESC LIMIT 5");

foreach ($result as $s) {

$user = get_user_by('ID',$s);
echo 'Rank : ' . $rank . PHP_EOL;
echo 'Username : ' . $s->user_login;
$rank++;

}

saman9074
September 8th, 2016, 16:07
خواهش، نمایش 5 کاربر به ترتیب بزرگی score و نسبت رنک 1 تا 5 به کاربران :


global $wpdb;
$rank = 1;
$result = $wpdb->get_results("SELECT user_id FROM $wpdb->prefix"."usermeta WHERE meta_key='score' ORDER BY meta_value DESC LIMIT 5");

foreach ($result as $s) {

$user = get_user_by('ID',$s);
echo 'Rank : ' . $rank . PHP_EOL;
echo 'Username : ' . $s->user_login;
$rank++;

}

سلام متاسفانه یک مشکلی که هست اعدادی که توی متا ذخیره میشه به صورت text هست و مرتب سازی بر اساس کاراکتره نه عدد چطور میشه اینو حل کرد؟