PDA

View Full Version : سوال: مشکل شدیییییییییید با تابع eregi



ms11309
چهارشنبه 07 خرداد 1393, 20:40 عصر
سلام مشکل اساسی با این حط کد دارم دیگه کلافم کرده کمک کنید لطفا if(!eregi('^[0-9]+$', $tge)

Mohammadsgh
چهارشنبه 07 خرداد 1393, 22:18 عصر
از تابع preg_match (http://www.php.net/manual/en/function.preg-match.php) برای این کار استفاده کنید.خیلی بهتره و قوی تر هست.اگر هم میخواید با همین تابع پیش برید این لینک (http://dastanionline.ir/%D8%AD%D9%84-%D9%85%D8%B4%DA%A9%D9%84-php-%D8%AF%D8%B1-%DA%A9%D8%A7%D8%B1-%D8%A8%D8%A7-%D8%AA%D8%A7%D8%A8%D8%B9-eregi-%D8%AF%D8%B1-%D9%86%D8%B3%D8%AE%D9%87-%D8%AC%D8%AF%DB%8C%D8%AF-php/)ببینید(تابع eregi در php4 هست و منسوخ شده):لبخندساده:

ms11309
پنج شنبه 08 خرداد 1393, 13:16 عصر
از تابع preg_match (http://www.php.net/manual/en/function.preg-match.php) برای این کار استفاده کنید.خیلی بهتره و قوی تر هست.اگر هم میخواید با همین تابع پیش برید این لینک (http://dastanionline.ir/%D8%AD%D9%84-%D9%85%D8%B4%DA%A9%D9%84-php-%D8%AF%D8%B1-%DA%A9%D8%A7%D8%B1-%D8%A8%D8%A7-%D8%AA%D8%A7%D8%A8%D8%B9-eregi-%D8%AF%D8%B1-%D9%86%D8%B3%D8%AE%D9%87-%D8%AC%D8%AF%DB%8C%D8%AF-php/)ببینید(تابع eregi در php4 هست و منسوخ شده):لبخندساده:

از این تابع preg_match استفاده کردم
ولی ارور میده

طریقه جایگزینی فرق داره؟

MRmoon
پنج شنبه 08 خرداد 1393, 16:48 عصر
از این تابع preg_match استفاده کردم
ولی ارور میده

طریقه جایگزینی فرق داره؟
ارور رو بذارید لطفا.

این رو هم امتحان کنید:

<?PHP
$val = '1';
if(preg_match('#^([0-9]+)$#', $val) ){
echo 'It is a number!';
}
else {
echo 'It isn\'t a number!';
}

ms11309
پنج شنبه 08 خرداد 1393, 21:10 عصر
کد اصلی:



elseif(!eregi('^[0-9]+$', $txtpo)){
echo'<div align="center">فقط عدد وارد كنيد</div>';
}


با جایگزینی به صورت زیر:



elseif(!preg_match('^[0-9]+$', $txtpo)){
echo'<div align="center">فقط عدد وارد كنيد</div>';
}

صفحه بالا میاد و کار میکنه
ولی تفکیک نمیکنه یعنی هم اعداد قبول میکنه هم حروف
و در ارور لاگ هم میزنه:



PHP Warning: preg_match(): No ending delimiter '^' found in


به این صورت:



elseif(!preg_match('#^([0-9]+)$#', $txtpo) ){
echo'<div align="center">فقط عدد وارد كنيد</div>';
}


ارور نمیده ولی تفکیک هم نمیکنه!

و

به این روش:




elseif(preg_match('#^([0-9]+)$#', $txtpo) ){
echo'';
} else {
echo'<div align="center">فقط عدد وارد كنيد</div>';
}


ارور:



Parse error: syntax error, unexpected T_ELSEIF in