PDA

View Full Version : ممنوع کردن استفاده از بعضی کلمات



xoogle.ir
جمعه 04 تیر 1389, 14:58 عصر
میخام که کاربر نتونه توی نام کاربری که انتخاب میکنه از کلمات rex یا tabligh یا ... استفاده کنه.
این کلمات ممنوع رو توی دیتابیس ذخیره کردم و با این کوئری چک میکنم ببینم که یوزر نیمی که کاربر انتخاب کرده شامل این کلمات میشه یا نه ؟


$block_un=mysql_num_rows(mysql_query("select * from table where type='blocked' and value like '%$un%'"));

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

لطفا راهنمایی کنید.

mirmousavi.m
جمعه 04 تیر 1389, 15:21 عصر
همین کد درسته، باید جواب بده، برای امتحان از جسنجو phpmyadmin استفاده کن
ولی type='blocked' and برای چیه؟ فکر کنم زیادیه

xoogle.ir
جمعه 04 تیر 1389, 15:27 عصر
نه زیاد نیست چون توی این جدول اطلاعات دیگه ای هم دارم که با استفاده از فیلد type اون ها رو از هم جدا کردم یا اصطلاحا flag کردم.
در ضمن این کد هم همون کاری که گفتم رو انجام میده یعنی اگر یوزرنیم دقیقا برابر با عبارت ممنوعه باشه نتیجه درست برمیگردونه.

funpatogh
یک شنبه 06 تیر 1389, 21:15 عصر
<?php

$search=mysql_query("select * from `table` where `type`='blocked' and `value` LIKE '%".$un."%'")or die(mysql_error());
if(mysql_num_rows($search)>0)
echo "invalid name";
else
echo "valid name";
//or
$search=mysql_query("select * from `table` where `type`='blocked' AND `value` regexp '$un'")or die(mysql_error());
if(mysql_num_rows($search)>0)
echo "invalid name";
else
echo "valid name";



?>