جلب صفحة العضو بواسطة الاسم وليس رقم id السلام عليكم ورحمة الله وبركاته
اخواني انا اريد جلب العضوي في الصفحات الخاصة به عن طريق اسمه وليس عن طريق id الخاص به
هذا الشكل الحالي لصفحة العضوية
member.php?action=showprofile&
user_id=1
اريده ان يكون
member.php?action=showprofile&
user_name=admin
وهذا الكود الخاص بجلب صفحة العضو
كود PHP:
//-----------------------------------------------------
//--- Show Profile ------------------------------------
//-----------------------------------------------------
if ( $action == "showprofile" ) {
$txt_clickstream = $lang [ 'profile' ];
if (isset( $HTTP_GET_VARS [ URL_USER_ID ]) || isset( $HTTP_POST_VARS [ URL_USER_ID ])) {
$user_id = (isset( $HTTP_GET_VARS [ URL_USER_ID ])) ? intval ( $HTTP_GET_VARS [ URL_USER_ID ]) : intval ( $HTTP_POST_VARS [ URL_USER_ID ]);
if (! $user_id ) {
$user_id = GUEST ;
}
}
else {
$user_id = GUEST ;
}
if ( $user_row = get_user_info ( $user_id )) {
$user_homepage = (isset( $user_row [ 'user_homepage' ])) ? format_url ( $user_row [ 'user_homepage' ]) : REPLACE_EMPTY ;
if (!empty( $user_homepage ) && $user_homepage != REPLACE_EMPTY ) {
$user_homepage_button = "<a href=\"" . $user_homepage . "\" target=\"_blank\"><img src=\"" . get_gallery_image ( "homepage.gif" ). "\" border=\"0\" alt=\"" . $user_homepage . "\" /></a>" ;
}
else {
$user_homepage_button = REPLACE_EMPTY ;
}
$user_icq = (isset( $user_row [ 'user_icq' ])) ? $user_row [ 'user_icq' ] : REPLACE_EMPTY ;
if (!empty( $user_icq ) && $user_icq != REPLACE_EMPTY ) {
$user_icq_button = "<a href=\"http://status.icq.com/online.gif?icq=" . $user_icq . "&img=5\" width=\"18\" height=\"18\" border=\"0\" alt=\"" . $user_icq . "\" /></a>" ;
}
else {
$user_icq_button = REPLACE_EMPTY ;
}
if (!empty( $user_row [ 'user_email' ]) && (!isset( $user_row [ 'user_showemail' ]) || (isset( $user_row [ 'user_showemail' ]) && $user_row [ 'user_showemail' ] == 1 ))) {
$user_email = $user_row [ 'user_email' ];
$user_email_save = str_replace ( "@" , " at " , $user_row [ 'user_email' ]);
$user_email_save = str_replace ( "." , " dot " , $user_row [ 'user_email' ]);
if (!empty( $url_mailform )) {
$user_mailform_link = $site_sess -> url ( preg_replace ( "/{user_id}/" , $user_row [ 'user_id' ], $url_mailform ));
}
else {
$user_mailform_link = $site_sess -> url ( ROOT_PATH . "member.php?action=mailform&" . URL_USER_ID . "=" . $user_row [ 'user_id' ]);
}
$user_email_button = "<a href=\"" . $user_mailform_link . "\"><img src=\"" . get_gallery_image ( "email.gif" ). "\" border=\"0\" alt=\"" . $user_email_save . "\" /></a>" ;
}
else {
$user_email = REPLACE_EMPTY ;
$user_email_save = REPLACE_EMPTY ;
$user_mailform_link = REPLACE_EMPTY ;
$user_email_button = REPLACE_EMPTY ;
}
$site_template -> register_vars (array(
"user_id" => $user_row [ 'user_id' ],
"user_name" => (isset( $user_row [ 'user_name' ])) ? format_text ( $user_row [ 'user_name' ], 2 ) : REPLACE_EMPTY ,
"user_email" => $user_email ,
"user_email_save" => $user_email_save ,
"user_mailform_link" => $user_mailform_link ,
"user_email_button" => $user_email_button ,
"user_join_date" => (isset( $user_row [ 'user_joindate' ])) ? format_date ( $config [ 'date_format' ], $user_row [ 'user_joindate' ]) : REPLACE_EMPTY ,
"user_last_action" => (isset( $user_row [ 'user_lastaction' ])) ? format_date ( $config [ 'date_format' ]. " " . $config [ 'time_format' ], $user_row [ 'user_lastaction' ]) : REPLACE_EMPTY ,
"user_homepage" => $user_homepage ,
"user_homepage_button" => $user_homepage_button ,
"user_icq" => $user_icq ,
"user_icq_button" => $user_icq_button ,
"user_icq_status" => (isset( $user_row [ 'user_icq' ])) ? get_icq_status ( $user_row [ 'user_icq' ]) : REPLACE_EMPTY ,
"user_comments" => (isset( $user_row [ 'user_comments' ])) ? $user_row [ 'user_comments' ] : REPLACE_EMPTY ,
"lang_profile_of" => $lang [ 'profile_of' ],
"lang_show_user_images" => preg_replace ( "/" . $site_template -> start . "user_name" . $site_template -> end . "/siU" , format_text ( $user_row [ 'user_name' ], 2 ), $lang [ 'show_user_images' ]),
"url_show_user_images" => $site_sess -> url ( ROOT_PATH . "search.php?search_user=" . urlencode ( $user_row [ 'user_name' ])),
"lang_join_date" => $lang [ 'join_date' ],
"lang_last_action" => $lang [ 'last_action' ],
"lang_comments" => $lang [ 'comments' ],
"lang_email" => $lang [ 'email' ],
"lang_homepage" => $lang [ 'homepage' ],
"lang_icq" => $lang [ 'icq' ]
));
if (!empty( $additional_user_fields )) {
$additional_field_array = array();
foreach ( $additional_user_fields as $key => $val ) {
$additional_field_array [ $key ] = (!empty( $user_row [ $key ])) ? format_text ( $user_row [ $key ], 1 ) : REPLACE_EMPTY ;
$additional_field_array [ 'lang_' . $key ] = $val [ 0 ];
}
if (!empty( $additional_field_array )) {
$site_template -> register_vars ( $additional_field_array );
}
}
$content = $site_template -> parse_template ( "member_profile" );
}
else {
$content = $lang [ 'invalid_user_id' ];
}
}
اتمنى اطلاعي على التعديلات التي تمت للفائدة
وهل الطريقة تسبب مشاكل في جلب البيانات او اللود على السيرفر ؟
شكرا جزيلاً ,,
__________________
█ قريباً █
12-03-2009, 01:44 AM
اذا كان الهدف منها .. هو تحسين الموقع في محركات البحث
فالجدوي من التغيير ليست كبيرة .. وقد لا تشعر بها ابدا
__________________
تحاور مع العاقل بعقل .. اما ان يقتنع او تقتنع
وتحاور مع الجاهل بعقل .. اما يطقعش او تفرقش
وتلك الفاظ لا معنى لها كذلك كلماته
12-03-2009, 02:36 AM
إقتباس:
المشاركة الأصلية بواسطة
سحاب اون لاين اذا كان الهدف منها .. هو تحسين الموقع في محركات البحث
فالجدوي من التغيير ليست كبيرة .. وقد لا تشعر بها ابدا
لا لم افكر بمحرك البحث مطلقاً ولكن لاسباب امنية كمثل لا اريد شخص يقوم بكتابة الارقام بالتسلسل لرؤية الاعضاء ولكن يشترط كتابة اسم العضو صحيحاً بجانب الهدف الشكلي للموقع ولصفحة كل عضو
شكرا لمرورك وفي انتظار احد يساعدني في تعديل الكود
__________________
█ قريباً █
12-03-2009, 06:47 AM
الكود الذي ارسلته في موضوع .. قد لا يمكننا من المساعدة بشكل كامل
لانه يعتمد علي ملفات اخري
اولا عليك ان تقوم بتعديل شكل رابط العضوية في كافة صفحات السكربت
الي الشكل التي ستعتمده
وليكن بهذا الشكل
member.php?action=showprofile&
user_name=admin
ثم تقوم بتعديل صفحة دالة جلب معلومات العضو التي تستدل برقم العضو
وتجعلها تستدل باسم
ابحث عن هذه الدالة "get_user_info($user_id)" في ملف الدوال
ثم حاول تعديل جملة الـ select الي الاستدلال بالاسم
ان استطعت عملها فذلك خير
ولكني لا اضمن عمل الموقع بعد ذلك بشكل سليم
__________________
تحاور مع العاقل بعقل .. اما ان يقتنع او تقتنع
وتحاور مع الجاهل بعقل .. اما يطقعش او تفرقش
وتلك الفاظ لا معنى لها كذلك كلماته
12-03-2009, 07:26 AM
وجدت هذه المشاركة بمنتدي الدعم لفني
get profile by user name
__________________
تحاور مع العاقل بعقل .. اما ان يقتنع او تقتنع
وتحاور مع الجاهل بعقل .. اما يطقعش او تفرقش
وتلك الفاظ لا معنى لها كذلك كلماته
12-03-2009, 07:31 AM
إقتباس:
المشاركة الأصلية بواسطة
TlT السلام عليكم ورحمة الله وبركاته
اخواني انا اريد جلب العضوي في الصفحات الخاصة به عن طريق اسمه وليس عن طريق id الخاص به
هذا الشكل الحالي لصفحة العضوية
member.php?action=showprofile&user_id=1
اريده ان يكون
member.php?action=showprofile&user_name=admin
وهذا الكود الخاص بجلب صفحة العضو كود PHP:
//-----------------------------------------------------
//--- Show Profile ------------------------------------
//-----------------------------------------------------
if ( $action == "showprofile" ) {
$txt_clickstream = $lang [ 'profile' ];
if (isset( $HTTP_GET_VARS [ URL_USER_ID ]) || isset( $HTTP_POST_VARS [ URL_USER_ID ])) {
$user_id = (isset( $HTTP_GET_VARS [ URL_USER_ID ])) ? intval ( $HTTP_GET_VARS [ URL_USER_ID ]) : intval ( $HTTP_POST_VARS [ URL_USER_ID ]);
if (! $user_id ) {
$user_id = GUEST ;
}
}
else {
$user_id = GUEST ;
}
if ( $user_row = get_user_info ( $user_id )) {
$user_homepage = (isset( $user_row [ 'user_homepage' ])) ? format_url ( $user_row [ 'user_homepage' ]) : REPLACE_EMPTY ;
if (!empty( $user_homepage ) && $user_homepage != REPLACE_EMPTY ) {
$user_homepage_button = "<a href=\"" . $user_homepage . "\" target=\"_blank\"><img src=\"" . get_gallery_image ( "homepage.gif" ). "\" border=\"0\" alt=\"" . $user_homepage . "\" /></a>" ;
}
else {
$user_homepage_button = REPLACE_EMPTY ;
}
$user_icq = (isset( $user_row [ 'user_icq' ])) ? $user_row [ 'user_icq' ] : REPLACE_EMPTY ;
if (!empty( $user_icq ) && $user_icq != REPLACE_EMPTY ) {
$user_icq_button = "<a href=\"http://status.icq.com/online.gif?icq=" . $user_icq . "&img=5\" width=\"18\" height=\"18\" border=\"0\" alt=\"" . $user_icq . "\" /></a>" ;
}
else {
$user_icq_button = REPLACE_EMPTY ;
}
if (!empty( $user_row [ 'user_email' ]) && (!isset( $user_row [ 'user_showemail' ]) || (isset( $user_row [ 'user_showemail' ]) && $user_row [ 'user_showemail' ] == 1 ))) {
$user_email = $user_row [ 'user_email' ];
$user_email_save = str_replace ( "@" , " at " , $user_row [ 'user_email' ]);
$user_email_save = str_replace ( "." , " dot " , $user_row [ 'user_email' ]);
if (!empty( $url_mailform )) {
$user_mailform_link = $site_sess -> url ( preg_replace ( "/{user_id}/" , $user_row [ 'user_id' ], $url_mailform ));
}
else {
$user_mailform_link = $site_sess -> url ( ROOT_PATH . "member.php?action=mailform&" . URL_USER_ID . "=" . $user_row [ 'user_id' ]);
}
$user_email_button = "<a href=\"" . $user_mailform_link . "\"><img src=\"" . get_gallery_image ( "email.gif" ). "\" border=\"0\" alt=\"" . $user_email_save . "\" /></a>" ;
}
else {
$user_email = REPLACE_EMPTY ;
$user_email_save = REPLACE_EMPTY ;
$user_mailform_link = REPLACE_EMPTY ;
$user_email_button = REPLACE_EMPTY ;
}
$site_template -> register_vars (array(
"user_id" => $user_row [ 'user_id' ],
"user_name" => (isset( $user_row [ 'user_name' ])) ? format_text ( $user_row [ 'user_name' ], 2 ) : REPLACE_EMPTY ,
"user_email" => $user_email ,
"user_email_save" => $user_email_save ,
"user_mailform_link" => $user_mailform_link ,
"user_email_button" => $user_email_button ,
"user_join_date" => (isset( $user_row [ 'user_joindate' ])) ? format_date ( $config [ 'date_format' ], $user_row [ 'user_joindate' ]) : REPLACE_EMPTY ,
"user_last_action" => (isset( $user_row [ 'user_lastaction' ])) ? format_date ( $config [ 'date_format' ]. " " . $config [ 'time_format' ], $user_row [ 'user_lastaction' ]) : REPLACE_EMPTY ,
"user_homepage" => $user_homepage ,
"user_homepage_button" => $user_homepage_button ,
"user_icq" => $user_icq ,
"user_icq_button" => $user_icq_button ,
"user_icq_status" => (isset( $user_row [ 'user_icq' ])) ? get_icq_status ( $user_row [ 'user_icq' ]) : REPLACE_EMPTY ,
"user_comments" => (isset( $user_row [ 'user_comments' ])) ? $user_row [ 'user_comments' ] : REPLACE_EMPTY ,
"lang_profile_of" => $lang [ 'profile_of' ],
"lang_show_user_images" => preg_replace ( "/" . $site_template -> start . "user_name" . $site_template -> end . "/siU" , format_text ( $user_row [ 'user_name' ], 2 ), $lang [ 'show_user_images' ]),
"url_show_user_images" => $site_sess -> url ( ROOT_PATH . "search.php?search_user=" . urlencode ( $user_row [ 'user_name' ])),
"lang_join_date" => $lang [ 'join_date' ],
"lang_last_action" => $lang [ 'last_action' ],
"lang_comments" => $lang [ 'comments' ],
"lang_email" => $lang [ 'email' ],
"lang_homepage" => $lang [ 'homepage' ],
"lang_icq" => $lang [ 'icq' ]
));
if (!empty( $additional_user_fields )) {
$additional_field_array = array();
foreach ( $additional_user_fields as $key => $val ) {
$additional_field_array [ $key ] = (!empty( $user_row [ $key ])) ? format_text ( $user_row [ $key ], 1 ) : REPLACE_EMPTY ;
$additional_field_array [ 'lang_' . $key ] = $val [ 0 ];
}
if (!empty( $additional_field_array )) {
$site_template -> register_vars ( $additional_field_array );
}
}
$content = $site_template -> parse_template ( "member_profile" );
}
else {
$content = $lang [ 'invalid_user_id' ];
}
}
اتمنى اطلاعي على التعديلات التي تمت للفائدة
وهل الطريقة تسبب مشاكل في جلب البيانات او اللود على السيرفر ؟
شكرا جزيلاً ,,
اخي الكريم جيب الاسم من العنوان واستخدمة like في الاستعلام من قاعدة البيانات
بتوفيق اخي
__________________
ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
لطلب البرمجة فقط
helal-egypt@hotmail.com
12-03-2009, 07:38 AM
إقتباس:
المشاركة الأصلية بواسطة
سحاب اون لاين
شكرا لك وفعلا تعمل بنجاح لكن المشكلة الان انه إذا فيه اسم باللغة العربية لا تعمل
__________________
█ قريباً █
12-03-2009, 08:29 AM
إقتباس:
المشاركة الأصلية بواسطة
TlT شكرا لك وفعلا تعمل بنجاح لكن المشكلة الان انه إذا فيه اسم باللغة العربية لا تعمل
شئ طبيعي ..
حاول ان تجعل الترميز العام للسكربت utf-8
__________________
تحاور مع العاقل بعقل .. اما ان يقتنع او تقتنع
وتحاور مع الجاهل بعقل .. اما يطقعش او تفرقش
وتلك الفاظ لا معنى لها كذلك كلماته
12-03-2009, 08:37 AM
إقتباس:
المشاركة الأصلية بواسطة
سحاب اون لاين شئ طبيعي ..
حاول ان تجعل الترميز العام للسكربت utf-8
الاسكربت تم تحويلة الى utf-8 لكن كان يحتاج تعديل في الكود ليدعم كل الاكواد بسبب المسافات واللغة العربية (.*)
شكرا جزيلا على المساعدة
__________________
█ قريباً █
12-03-2009, 08:53 AM
طيب لماذا لا تجعل الرابط هكذا member.php?action=showprofile&user_name=admin&user_id=50
__________________
للتواصل:
في اجازة
12-03-2009, 10:23 PM
عضو مميز
#11
إقتباس:
المشاركة الأصلية بواسطة
عبد الواحد البشيري طيب لماذا لا تجعل الرابط هكذا member.php?action=showprofile&user_name=admin&user_id=50
والجلب يكون بالإسم والرقم معاً ( زيادة تعقيد ما هو خلاص جلب بالإسم وأنتهت )
ام قصدك بالرقم فقط ثم يتحقق من الإسم لو خطأ لا يعرض الصفحة ؟
13-03-2009, 12:01 AM
إقتباس:
المشاركة الأصلية بواسطة
المجروح والجلب يكون بالإسم والرقم معاً ( زيادة تعقيد ما هو خلاص جلب بالإسم وأنتهت )
ام قصدك بالرقم فقط ثم يتحقق من الإسم لو خطأ لا يعرض الصفحة ؟
قصدي هو الرد على ما قاله TIT
إقتباس:
ا لم افكر بمحرك البحث مطلقاً ولكن لاسباب امنية كمثل لا اريد شخص يقوم بكتابة الارقام بالتسلسل لرؤية الاعضاء ولكن يشترط كتابة اسم العضو صحيحاً بجانب الهدف الشكلي للموقع ولصفحة كل عضو
لزيادة التعقيد على من يبحث من خلال الرابط
__________________
للتواصل:
في اجازة
13-03-2009, 12:50 AM
لابد ان يكون حقل اسم المستخدم username :
- فريداً ( unique )
- لا يقبل المسافات
- يقبل اللغة الانجليزية فقط
- يقبل حروف فقط بدون ارقام او رموز خاصة ، يمكنك تفعيل الشرطة السفلى _
ومن ثم تضيف حقل جديد وهو اسم المستخدم الحقيقي real_name او الذي يود عرضه وهو يقبل اي نوع من النصوص ، وهو الذي يعرض للعامة ..
ومن ثم في الاستعلام ..
كود PHP:
select * from users where username = $username
13-03-2009, 02:49 PM
إذا كان الهدف من ذلك كما تفضلت ..
إقتباس:
لاسباب امنية كمثل لا اريد شخص يقوم بكتابة الارقام بالتسلسل لرؤية الاعضاء
؟؟
أعتقد أن تجعلها كما كانت بالـ ID بالإضافة الى التشفير ، بهذا تكون منعت المستخدمين من الجلب العشوائي لصفحات المستخدمين .
__________________
اللهم وفقني لما تحبه وترضاه...
13-03-2009, 08:24 PM