PDA

View Full Version : گفتگو: نظر دوسان در مورد کد چک کردن خالی نبودن فرم



فرزند کوروش
پنج شنبه 17 اسفند 1391, 18:31 عصر
درود. نظر دوستان در مورد کد زیر چیه ؟


class valid{
public $result;
function field($value){
$validfield = explode(',',$value) ;
$count = count($validfield);
$n = 0;
while ($n < $count) {
if ($validfield[$n] == ''){
$this->result = 'error';
}
$n++;
}
}

function listbox($value){
$validfield = explode(',',$value) ;
$count = count($validfield);
$n = 0;
while ($n < $count) {
if ($validfield[$n] == '0'){
$this->result = 'error';
}
$n++;
}
}

function result(){
if($this->result == 'error'){
$this->msg = 'پرکردن فیلد الزامی است';
return false;
}else{
$this->result == 'ok';
return true;
}
return $this->result;
}

}

نحوه استفاده :




$tokentest = $_POST['tokentest'];
$tokentest2 = $_POST['tokentest2'];

$valid = new valid;
$valid->field("$tokentest,tokentest2");
if($valid->result != 'error'){
echo $tokentest;
}else{
}

MRmoon
پنج شنبه 17 اسفند 1391, 18:45 عصر
بعد شما که از فانکشن result و list box که استفاده نکردید! بعد بهتر نیست به جای explode کردن تو یک آرایه بریزیم و با حلقه ی foreach استفاده کنیم که کوتاه تر بشه؟

مثل کد زیر به جای فانکشن field :



function field($value){
foreach($value as $val){
if(empty($val))
{
$this->result = 'error';
}
}
}

فرزند کوروش
پنج شنبه 17 اسفند 1391, 18:51 عصر
این هم استفاده از لیستش


$valid = new valid;
$valid->field("$tokentest,$tokentest2");
$valid->listbox("$tokentest2,$tokentest2");
if($valid->result() != 'error'){
echo $tokentest;
}else{
}


اره راست میگی چرا به ذهن خودم نرسیده بود :گیج:

بنظرتون میشه دورش زد ؟

MinusOne
پنج شنبه 17 اسفند 1391, 19:37 عصر
با RegularExpressions میشد همینکارو در زمان کمتر و با کدنویسی کمتر انجام داد.

MinusOne
پنج شنبه 17 اسفند 1391, 20:00 عصر
پراپرتی msg تعریف نشده ولی ازش استفاده شده.(خط 29)
میشد متد فیلد رو بهتر هم نوشت :

function field()
{
if(in_array('', get_func_args()))
$this->result = 'error';
}
روش استفاده :

$valid = new valid;
$valid->field($tokentest,$tokentest2);

فرزند کوروش
پنج شنبه 17 اسفند 1391, 20:13 عصر
پراپرتی msg تعریف نشده ولی ازش استفاده شده.(خط 29)
اره اون رو یادم رفت پاکش کنم

masiha68
پنج شنبه 17 اسفند 1391, 22:29 عصر
به جای اینکه با جاواسکریپت چک کنی تا ببینی تکس باکس خالیه یا نه از required="required" استفاده کن و به صورت پیش فرض کاری میکنه که تا کاربر اطلاعات رو وارد نکنه اطلاعات ارسال نشه

فرزند کوروش
پنج شنبه 17 اسفند 1391, 22:41 عصر
به جای اینکه با جاواسکریپت چک کنی تا ببینی تکس باکس خالیه یا نه از required="required" استفاده کن و به صورت پیش فرض کاری میکنه که تا کاربر اطلاعات رو وارد نکنه اطلاعات ارسال نشه
اون بحثش فرق میکنه. درستش اینه که هم با جاوا و هم با php چک بشه چون جاوا رو راحت میشه دور زد این کدی هم که گفتی الان فکر نمیکنم همه مرورگرها بخصوص مرورگر جهنمیIE ساپورتش کنه.
اینجا بحث من رو php هست
شاد باشید