PDA

View Full Version : سوال: ایجاد پروفایل عمومی برای کاربران



new_programer_79
یک شنبه 21 تیر 1394, 21:59 عصر
سلام خدمت شما
سوال اینه که چجوری برای تمام کاربرانی که ثبت نام میکنن پروفایل ایجاد کنم؟
من تمام قسمت ثبت نام و لوگین کردن و آواتار و... رو ساختم اما الان مشکلم توی بخش پروفایل هست البته نه به طور مستقیم تو وارد کردن اطلاعات بلکه با URL مشکل دارم
به عنوان مثال میخوام برای کاربر 1 این صفحه:
example.ir/profile?uid=1
کاربر 2 این صفحه:
profile?uid=2
و.... الی آخر
حالا میخوام بدونم چطور برای هرکاربر این صفحه ها رو ایجاد و اطلاعات رو توی اونها وارد کنم؟؟؟؟/نکته ای که درخواست میکنم اینه که از روش PDO برام توضیح بدید
ممنون

new_programer_79
یک شنبه 21 تیر 1394, 22:52 عصر
بازم تاکید میکنم که من مشکلی در وارد کردن اطلاعات ندارم بلکه میخوام بدونم چطور اون صفحه
example.ir/profile?uid=1
رو بسازم و چطور تشخیص بدم که اون کاربره 1 هست که اون اطلاعات رو وارد اون صفحه کنم
امیدوارم منظورم رو خوب گفته باشم

merlin007
یک شنبه 21 تیر 1394, 23:26 عصر
یک صفحه میسازی مثلا
profile.php

بعد با GET مقدار uid رو میگیرید و یه کوئری تو دیتابیس میزنید و اطلاعات کاربر رو تو صفحه نشون میدید

new_programer_79
یک شنبه 21 تیر 1394, 23:41 عصر
میشه ی مثال بزنید؟
این بخش "بعد یه کوئری تو دیتابیس میزنید" رو نفهمیدم.
فکر میکنم منظور منو متوجه نشدید/چطور اون آدرس رو برای هرکاربر بسازم؟

javadt
دوشنبه 22 تیر 1394, 00:51 صبح
صفحه پروفایل شما یک (profile?uid=1) ثابت هست و نسبت به کاربری که لوگین کرده فیلد id رو در ادامه ادرس قرار می دهی (profile?uid=1) و برای نمایش هم یک کوئری به دیتابیس پروفایلت میزنی و اطلاعات کاربر رو نمایش میدی

new_programer_79
دوشنبه 22 تیر 1394, 00:57 صبح
خب اینطوری فقط کاربرانی که لوگین کردن می تونن پروفایل خودشون رو ببینند اما من میخوام حتی کسانی که عضو نیستن بتونن عضو بشن.دقیقا یک چیزی مثل پروفایل ها در انجمن ساز مای بی بی
ممنون میشم دوستان کمی واضح تر توضیح بدن
ممنون:قلب:

thacker
دوشنبه 22 تیر 1394, 01:40 صبح
شما یه صفحه به اسم profile.php میسازی...
بعد توی این صفحه id رو GET میکنی...
اگه آیدی کاربر وارد شده بود و توی دیتابیس وجود داشت اطلاعات کاربر رو از دیتابیس میخونی ... اگه هم وجود نداشت که خطا رو چاپ میکنی...
مثلا به این شکل :

<?php
$userID = $_GET['id'];
if(isset($userID)) {
$query = mysql_query("SELECT * FROM `user` WHERE `id` = '$userID'");
if(mysql_num_rows($query) > 0) {
$row = mysql_fetch_array($query);
} else {
echo 'کاربر مورد نظر در سیستم موجود نیست';
}
} else {
echo 'آیدی کاربر وارد نشده است';
}
?>
نام : <?php echo $row['firstname']; ?>
نام خانوادگی : <?php echo $row['lastname']; ?>
نام کاربری : <?php echo $row['username']; ?>
موبایل : <?php echo $row['mobile']; ?>

Mohammadsgh
دوشنبه 22 تیر 1394, 04:24 صبح
این کد شما دو تا مشکل داره.
یک:تو خط ۶ به جای array باید از assoc استفاده کنید
دو:این query آرایه دو بعدی میاره.پس اینجوری باید بنویسید


<?php echo $row[0]['lastname']; ?>

new_programer_79
دوشنبه 22 تیر 1394, 20:12 عصر
خب با این روش ها فقط کسی که عضو هست میتونه پروفایل خودش رو ببینه
راهی نیست که کسانی که عضو نیستن بتونن پروفایل کاربران رو ببینن؟یا اعضا بتونن پروفایل همدیگر رو ببینن؟
در ضمن اگه امکانش هست کدها رو با روش PDO بنویسید
ممنون از همه:x

barnamenevis2016
دوشنبه 22 تیر 1394, 23:46 عصر
چرا می گید با این روش فقط کسی که عضو هست می تونه پروفایل خودش رو ببینه؟؟خوب آدرس پروفایل یک کاربر این می تونه باشه profile.php?uid=1
حالا هر کس خواست می تونه آدرس رو چه دستی و چه با کلیک رو لینکی باز کنه...حالا اگر می خوایید شیک بشه به جای عدد username کاربر رو واس آدرس می تونید بخوایید مثلا profile?uid=new_programer_79
حالا توی همون پروفایل هم می تونید تعیین کنید که اگر کاربر داره پروفایل خودش رو می بینه و لاگین شده هست...امکانات و تمهیدات بیشتری مثل تنظیمات پروفایل رو هم براش نشون بدید که برای غیر نشون نمی دید
خوب حالا مشکل شما کجاست؟چرا می گید با این روش فقط کسی که عضو هست می تونه پروفایل خودش رو ببینه؟
(متاسفانه من با pdo کارنمی کنم)ولی فکر نکنم مشکل باشه...

new_programer_79
سه شنبه 23 تیر 1394, 01:05 صبح
میشه بگید آی دی رو چطور GET کنم؟ چطور آی دی اون فردی که پروفایلش باید نمایش داده بشه رو GET کنم؟مگر ID توی دیتابیس ثبت نمیشه؟ ببخشید اگه سوالام احمقانه اس:d من توی PHP تازه کار هستم

barnamenevis2016
سه شنبه 23 تیر 1394, 01:58 صبح
اگر آدرس پروفایل در شکل و ساختار زیر وارد بشه:
http://mysite.com/profile?member=new_programer_79
می تونید با دستور زیر مقدار member که کاربر در آدرس وارد کرده رو بخونید که در مثال بالا برابر new_programer_79 هست...که اینو فکر می کنم می دونید.

$user= $_GET['member'];
حالا شما متغیر $user دارید...که می تونید برید ببینید اصلا همچین کاربری در پایگاه داده ثبت شده و یا نه و اگر ثبت شده مشخصاتش چیه که در ادامه در مرورگر نشون بدید

خوب...کاربر هم قبلا ثیت نام کرده و یوزر new_programer_79 در پایگاه داده ثبت شده...حالا هر کاربری آدرس بالا رو بزنه..چک می شه آدرس...پروقایل و اطلاعات اون کاربر رو نشون می ده
...حالا دوستمون اینکار رو در بالا انجام دادن براتون ولی نه با pdo که فکر می کنم باید دیگه خودتون با pdo آشنا بشید..

new_programer_79
سه شنبه 23 تیر 1394, 02:04 صبح
مرسی خیلی ممنون حالا پروفایل رو ساختم:قلب:
فقط ی چی دیه اگه بخوام به هر نام هر کاربر که نمایش داده میشه آدرس بدم باید مثلا اینطور باشه آیا؟
<a href="example.ir/profile.php?id=<?php echo $rows['id']; ?>">نام کاربر</a>

barnamenevis2016
سه شنبه 23 تیر 1394, 02:27 صبح
بله الان درسته..آدرس دهی فکر می کنم همینطوره..درسته....