مشکل با اسکريپت فرير و تابع eregi در 5.3.0 PHP
با سلام
من وقتي توي تنظيمات فرير گزينه (اعتبارسنجی شماره تماس و ایمیل خریدار) را فعال ميکنم اگه فرد فقط ايميلشو وارد کنه مشکلي پيش نميادو به صفحه پرداخت بانک هدايت ميشه اما اگر شماره تماسشو وارد کنه پيغام خطاي زيرو ميده
Deprecated: Function eregi() is deprecated in /home/u381900739/public_html/shop/index.php on line 65
رفتم و خط 65 به بعد فايل index را چک کردم اينا بود
{
if (!$data[email] AND !$data[mobile])
$error .= 'برای استفاده از پشتیبانی سایت ایمیل یا شماره همراه خود را وارد کنید.<br />';
if ($data[email] AND filter_var($data[email], FILTER_VALIDATE_EMAIL)== false)
$error .= 'ایمیل وارد شده نامعتبر است.<br />';
if ($data[mobile] AND !eregi("^09([0-9]{9})$", $data[mobile]))
$error .= "شماره همراه نامعتبر است.<br />";
}
if($error)
echo $error.'__2';
else
{
اين مشکل را مطرح کردم و فردي پاسخ دادند :
تابع eregi از 5.3.0 PHP حذف شده دوست عزیز،
خودتون با یه تابع دیگه جایگزینش کنید
مثلا با تابع preg_match
ولي من نمي دونم چطوري بايد اين تغييرات را در چند خط بالا انجام دهم.فقط توي همون خط به جاي eregi قرار دادم preg_match بعد خطاي زير را داد
Warning: preg_match(): No ending delimiter '^' found in /home/u381900739/public_html/shop/index.php on line 65 شماره همراه نامعتبر است.
الان خيلي ها دارن از اين اسکريپت استفاده ميکنند يکي پيدا ميشه و به من کمک کنه اين مشکلو حل کنم؟به جاي چند خط بالا کدي که بايد قرار بدهم تا اين مشکل حل بشه و اعتبار سنجي بدون خطا انجام بشه چيه؟
ممنون ميشم راهنمايي کنيد
پاسخ : مشکل با اسکريپت فرير و تابع eregi در 5.3.0 PHP
منتظر راهنمايي دوستان هستم
پاسخ : مشکل با اسکريپت فرير و تابع eregi در 5.3.0 PHP
درود
دوست عزیز تابع فوق در php 5.3 دیگر استفاده نمیشه
بهترین کار اینه که هاستی تهیه کنید که امکان php selector داشته باشه که با php 5.2 کار کنید و مشکلتون حل شود
و یا اینکه باید یک برنامه نویس کدتونو ویرایش نماید و با preg_match بنویسد تا مشکلتون حل شود
پاسخ : مشکل با اسکريپت فرير و تابع eregi در 5.3.0 PHP
سلام برو صفحه اصلی Cpanel
پایین صفحه Php Version
رو بزن رو
5.2 ست کن
پاسخ : مشکل با اسکريپت فرير و تابع eregi در 5.3.0 PHP
نقل قول:
نوشته اصلی توسط
MajorHost
با سلام
خط زیر را :
کد PHP:
if ($data[mobile] AND !eregi("^09([0-9]{9})$", $data[mobile]))
با خط زیر تعویض کتید:
کد PHP:
if ($data[mobile] && strlen($data[mobile])==11 && is_numeric($data[mobile]))
دوست عزيز تعويض کردم ولي الان خطا ميده که شماره همراه نامعتبر است
- - - Updated - - -
نقل قول:
نوشته اصلی توسط
isn
سلام برو صفحه اصلی Cpanel
پایین صفحه Php Version
رو بزن رو
5.2 ست کن
وقتي به 5.2 ست ميکنم در بالاي سايت اين پيغام ديده ميشه
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/u381900739/public_html/shop/index.php:1) in /home/u381900739/public_html/shop/include/prepare.php on line 12
پاسخ : مشکل با اسکريپت فرير و تابع eregi در 5.3.0 PHP
نقل قول:
نوشته اصلی توسط
MajorHost
out put buffer را On کنید
if ($data[mobile] && strlen($data[mobile])==11 ))
چطوي بايد on کنم بيشتر توضيح بدهيد
با کدي هم که داديد بازم نشد و خطاي زير را داد
Parse error: syntax error, unexpected ')' in /home/u381900739/public_html/shop/index.php on line 65
پاسخ : مشکل با اسکريپت فرير و تابع eregi در 5.3.0 PHP
این خطو
if ($data[mobile] AND !eregi("^09([0-9]{9})$", $data[mobile]))
به این خطر تغییر دهید
if ($data[mobile] AND !preg_match("/^09([0-9]{9})$/", $data[mobile]))
پاسخ : مشکل با اسکريپت فرير و تابع eregi در 5.3.0 PHP
مشکل با کد دوست عزيزمون shahab-f حل شد.دوستاني که همچين مشکلي دارند مي تونند استفاده کنند