ورود

View Full Version : سوال: چک کردن دیتابیس در هنگام ثبت نام



sajadpm
جمعه 19 آبان 1391, 18:21 عصر
با سلام و خسته نباشید

من می خواهم در هنگام ثبت نام وقتی چک کرد که این نام کاربری در دیتابیس هست بعدش چک کنه اگر گروه کاربری این کاربر مهمان بود اروری نده ولی اگر دیگر گروه های کاربری بود مثل { عضو / کاربر ویژه / .. } ارور بده که این نام کاربری وجود داره .

الان کد فعلی چک می کنه اگر نام کاربری وجود داشت بگه این نام کاربری وجود داره ولی حالا می خوام این دستور شرطی دیگه بعدش اجرا بشه :

اینم کد :


// check if user already is registered
mysql_free_result($result);
$query = 'SELECT ps_username FROM db_user WHERE ps_username = "' .
$ps_username . '"';
$result = mysql_query($query, $db) or die(mysql_error());
if (mysql_num_rows($result) > 0) {
$errors[] = 'نام کاربري ' . $ps_username . ' قبلا ثبت شده است';
$ps_username = '';
}

حالا به نظر شما چی کار کنم ممنون می شوم کمک کنید

sajadpm
شنبه 20 آبان 1391, 15:59 عصر
یعنی کسی نیست کمک کند ؟

sajadpm
شنبه 20 آبان 1391, 17:28 عصر
دوستان عجله دارم یعنی کسی نیست کمک کند یک دستور if دیگر بتوانم تعریف کنم :(

2undercover
یک شنبه 21 آبان 1391, 13:38 عصر
میشه بیشتر توضیح بدید من دقیقا نفهمیدم چه اتفاقی باید بیفته؟!

sajadpm
یک شنبه 21 آبان 1391, 16:20 عصر
در زمانی که کاربر بر روی ثبت نام کلیک می کند کدی تعریف کردم که نام کاربری که فرد مورد نظر وارد کرده را با جدول نام های کاربری بررسی می کند اگر اون نام کاربری وجود داشت بگه در ثبت نام خطا وجود داره و یک نام کاربری دیگر انتخاب کند تا اینجا که مشکلی ندارد ! حالا در این تیبل یوزر های کاربری علاوه بر نام کاربری گروه کاربری نیز وجود دارد . من می خواهم دستوری را اضافه کنم که اگر نام کاربری وجود داشت ولی دارای گروه کاربری یک بود بتونه اون اسم رو ثبت کند ولی اگر دارای هر گروه کاربری غیر از یک بود بگه این نام کاربری وجود دارد و نتواند ثبت نام کنه و همان خطا رو نمایش بده .

که الان کد این است :

متغیر نام کاربری در فرم ثبت نام : $ps_username
تیبل مورد نظر : db1_ps_user
جدول گروه کاربری : ps_userprivilegien
جدول نام های کاربری : ps_username

کد چک کننده نام کاربری :


// check if username already is registered
$query = 'SELECT ps_username FROM db1_ps_user WHERE ps_username = "' .
$ps_username . '"';
$result = mysql_query($query, $db) or die(mysql_error());
if (mysql_num_rows($result) > 0) {
$errors[] = 'نام کاربري ' . $ps_username . ' قبلا ثبت شده است';
$ps_username = '';
}

2undercover
یک شنبه 21 آبان 1391, 19:38 عصر
کافیه به where توی کوئریتون یک شرط دیگه هم بزارید که اگر گروه کاربری 0 بود ارور بده.
پس به این صورت میشه کوئریتون:

$query= 'SELECT ps_username FROM db1_ps_user WHERE ps_username= "' . $ps_username . '" AND ps_userprivilegien="0"';

sajadpm
دوشنبه 22 آبان 1391, 12:40 عصر
تشکر زا شما مشکلم ام حل شد