i
در حال برنامه نویسی و آماده سازی نسخه جدید «وبگو» هستیم، در این نسخه قابلیت ها و ظاهر سایت به کلی متفاوت و کاملتر خواهد بود، این فرآیند زمانبر و از مدتی پیش شروع شده و همچنان ادامه دارد، روند پیشرفت پروژه در این قسمت به صورت درصدی مشخص است و به تناوب به روزرسانی می شود.
آگهی
article

ساخت فید آر اس اس (RSS Feed) با استفاده از PHP و MySQL

mysql-php-rss-feed

آر اس اس (RSS) مخففی از سرواژه های RDF Site Summary و کلمه RDF مخفف عبارت Resource Description Framework است، RSS را با عنوان Really Simple Syndication نیز می نامند و در اصطلاح به روشی استاندارد گفته می شود که با آن می توان بدون مراجعه به یک سایت یا وبلاگ با استفاده از ابزارهایی موسوم به آر اس اس خوان یا Feed Reader، آخرین مطالب آن را با صرف حداقل زمان و به صورت متن ساده یا متن همراه با تصاویر معمولا به صورت چکیده پیش خوانی نمود، محتوای فیدها یا به اصطلاح خوراک وب به زبان XML (مخفف Extensible Markup Language) است، به بیان ساده زبان XML کدهایی را تولید می کند که هم برای انسان و هم برای ماشین قابل خواندن و استفاده بوده و قابلیت سازگاری با پلتفرم های مختلف را داشته باشد، پایه گذار XML کنسرسیوم جهانی وب W3C است که با هدف پشتیبانی از یونیکدهای زبان های مختلف جهان در اینترنت، دست به ساخت این زبان زد و امروزه کمتر سایت یا وبلاگی را می توان پیدا کرد که خروجی RSS از محتوای خود نداشته باشد، در آموزش پیش رو خواهیم گفت که چگونه می توانیم به کمک PHP و MySQL برای سایت یا وبلاگ شخصی خود فید آر اس اس یا همان خوراک وب را ایجاد و مدیریت کنیم.

فرمت کلی فید آر اس اس (RSS Feed)


قبل از اینکه بخواهیم کدهای PHP و MySQL خود را بنویسیم و از آنها خروجی XML بگیریم، باید فرمت کلی فید آر اس اس (RSS Feed) را بشناسیم، در نگاه کلی فرمت یک فید آر اس اس استاندارد به صورت نمونه زیر خواهد بود.
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>عنوان فید</title>
<link>http://yoursite.com</link>
<description>توضیح</description>
<language>fa</language>
<copyright>متن حفظ حقوق مولف</copyright>
<item>
<title>عنوان مطلب</title>
<description>توضیح مطلب</description>
<link>لینک مطلب</link>
<guid>لینک مطلب</guid>
<pubDate>تاریخ مطلب به میلادی</pubDate>
</item>
<item>
<title>عنوان مطلب</title>
<description>توضیح مطلب</description>
<link>لینک مطلب</link>
<guid>لینک مطلب</guid>
<pubDate>تاریخ مطلب به میلادی</pubDate>
<source url="http://yoursite.com/rss.xml">وبگو</source>
</item>
</channel>
</rss>
توضیح:
- کد بالا شیوه کلی نگارش صحیح خروجی یک فید آر اس اس نسخه 2 جهت نمونه است.
- یونیکد فید آر اس اس در قسمت encoding جهت سازگاری با زبان فارسی utf-8 تعیین شده است.
- هر فید آر اس اس باید با تگ rss شروع و به این تگ ختم شود، وجود این تگ الزامی است.
- تگ های اصلی فید مانند title، link، description باید بین تگ channel درج شوند، وجود این تگ الزامی است.
- مطالب و اطلاعات آنها نیز بین تگ های item نوشته می شوند، یعنی برای هر مطلب تگ جفتی item به همراه محتوای درون آن در قسمت channel تکرار می شود، به طور معمول آیتم ها در فید آر اس اس شامل چکیده ای از مطالب سایت یا وبلاگ هستند و با کلیک بر روی قسمت link کاربر را به مطلب اصلی هدایت می کنند.
- تگ guid (مخفف Globally Unique Identifier) را نیز به کد اضافه کرده ایم که محتوای آن آدرس URL منبع آیتم است (مشابه link)، در حالت معمول بدون درج تگ guid و صرفا با تگ link هم فید معتبر و قابل استفاده است اما جهت سازگاری بیشتر با انواع مختلف فیدخوان ها، این تگ نیز اضافه شده است.
- تگ pubDate تاریخ انتشار آیتم را مشخص می کند، pubDate از این لحاظ مهم است که معمولا جهت بررسی به روز بودن صفحات وب مورد استفاده موتورهای جستجویی چون گوگل قرار می گیرد، فرمت های مجاز تاریخ و زمان برای تگ pubDate یکی از شکل هایی است که در استاندارد RFC822 کنسرسیوم جهانی وب W3C مورد پذیرش است.
https://www.w3.org/Protocols/rfc822
به طور مثال:
<pubDate>Mon, 1 Oct 2018</pubDate>
<pubDate>Mon, 1 Oct 2018 15:00:00 GMT</pubDate>
- تگ sorce که در انتهای آیتم دوم درج شده است زمانی کاربرد دارد که منبع آن آیتم از فید دیگری باشد (به طور مثال آیتم از فید آر اس اس سایتی دیگر باشد)، در این صورت آدرس URL فید آر اس اس مبداء در قسمت source به شکل نمونه درج می شود.

چگونه از PHP و MySQL برای ایجاد فید آر اس اس استفاده کنیم؟


با فرمت کلی خوراک وب (RSS Feed) آشنا شدیم، گام دوم گرفتن خروجی از اطلاعات موجود در دیتابیس جهت ایجاد یا بازنویسی فایل XML است، برای این کار ابتدا یک فایل خالی با نام rss.xml ترجیحا در ریشه سایت (فولدر www یا public_html) می سازیم، این فایل در واقع همان فید آر اس اس سایتمان است که برای ایجاد و بازنویسی خروجی نهایی مورد نیاز خواهد بود، سپس نمونه کد زیر را متناسب با دیتابیس و سیستم مدیریت محتوای خود تنظیم می کنیم.
<?php
//تعریف تگ های اصلی
$rss_feed = '<?xml version="1.0" encoding="utf-8"?>' . "\n";
$rss_feed .= '<rss version="2.0">' . "\n";
$rss_feed .= '<channel>' . "\n";
$rss_feed .= '<title>وبگو | فید آر اس اس</title>' . "\n";
$rss_feed .= '<link>https://webgoo.ir</link>' . "\n";
$rss_feed .= '<description>آموزش برنامه نویسی و مهارتهای وب</description>' . "\n";
$rss_feed .= '<language>fa</language>' . "\n";
$rss_feed .= '<copyright>Copyright (C) ' . date('Y') . ' http://yoursite.com</copyright>' . "\n";

//اتصال به دیتابیس
$conn = mysqli_connect("localhost", "username", "password", "dbname");
if(!$conn) {
    echo "PHP & MySQL Connection: Error! " . mysqli_connect_errno() . ' - ' . mysqli_connect_error();
    exit;
} else {
    //انتخاب مطالب از پایگاه داده
    $result = mysqli_query($conn, "SELECT id, title, description, date FROM articles WHERE publish = 1 ORDER BY rank DESC LIMIT 20")
    or die (mysqli_error($conn));

    //استفاده از اطلاعات پایگاه داده در حلقه
    while($row = mysqli_fetch_array($result)){
        $id = $row['id'];
        $title = $row['title'];
        $description = $row['description'];
    
        //ایجاد خروجی استاندارد و تبدیل کاراکترهای غیر مجاز
        $title = htmlspecialchars($title, ENT_QUOTES, 'UTF-8');
        $description = htmlspecialchars($description, ENT_QUOTES, 'UTF-8');
    
        //تبدیل تاریخ دیتابیس به تاریخ استاندار (با فرض اینکه تاریخ دیتابیس با نمونه فرمت 00-00-00 22-12-1999 ذخیره شده باشد.)
        $date = $row['date'];
        $array = explode('-', $date);
        $date = mktime(0, 0, 0, intval($array[1]), intval($array[2]), intval($array[0]));
        $convert = date("D, j M Y", $date);
        $date = $convert . '  GMT';
    
        //تعریف لینک خروجی
        $link = "http://yoursite.com/?article=$id";
    
        //ایجاد آیتم ها برای فید
        $rss_feed .= '<item>' . "\n";
        $rss_feed .= '<title>' . $title . '</title>' . "\n";
        $rss_feed .= '<description>' . $description . '</description>' . "\n";
        $rss_feed .= '<link>' . $link . '</link>' . "\n";
        $rss_feed .= '<guid>' . $link . '</guid>' . "\n";
        $rss_feed .= '<pubDate>' . $date . '</pubDate>' . "\n";
        $rss_feed .= '<author>آدرس ایمیل سایت</author>' . "\n";
        //$rss_feed .= '<source url="http://yoursite.com/rss.xml">فید آر اس اس سایت</source>' . "\n";
        $rss_feed .= '</item>' . "\n";
    }

    $rss_feed .= '</channel>' . "\n";
    $rss_feed .= '</rss>' . "\n";

    //نوشتن اطلاعات در فایل خروجی
    $file = 'rss.xml';
    chmod($file, 0755);
    $file_handle = fopen($file, 'w+')
    or die('خطا: سطح دسترسی برای ویرایش فایل در سرور تنظیم نیست!');
    $string_data = $rss_feed;
    fwrite($file_handle, $string_data);
    fclose($file_handle);
}

//پایان اتصال
mysqli_close($conn);
?>
توضیح:
- همان طور که گفتیم، برای استفاده از کد بالا باید موارد مورد نیاز را با توجه به پایگاه داده و سیستم مدیریت محتوای خود ویرایش کنیم.
- در ابتدای کدها خروجی تگ های اصلی مانند xml، rss، channel و... را در متغیر rss_feed می نویسیم.
- در گام بعدی باید اتصال به دیتابیس را برقرار کنیم، در این نمونه کد از اکستشن MySQLi به شیوه برنامه نویسی رویه ای استفاده کرده ایم و تابع mysqli_connect جهت اتصال درج گردیده است، اطلاعات اتصال (نام سرور، نام کاربری دیتابیس، کلمه عبور دیتابیس و نام جدول مربوطه) را به عنوان آرگیومنت در این تابع تنظیم کرده ایم.
- در صورت برقرار بودن اتصال به دیتابیس در تابع mysqli_query پرس و جوی فرضی از جدول articles را نوشته ایم که تعداد 20 مورد از آخرین مطالب منتشر شده (WHERE publish = 1) را به ترتیب (ORDER BY rank DESC) انتخاب می کند، قاعدتا این اسامی فرضی است و صرفا جهت نمونه استفاده شده اند، می توانیم مطابق با ساختار جدول و ستون های دیتابیس سایتمان در هنگام نوشتن کدهای شخصی از آنها الگوبرداری کنیم.
- می توانیم در ساختار جداول دیتابیس سایتمان ستونی برای مشخص کردن چینش آیتم ها به طور مثال با عنوان rank داشته باشیم، نوع ستون rank باید به صورت INT و عددی باشد در غیر این صورت برای استفاده از قابلیت ORDER BY لازم است که ستون rank با مقدار 0 جمع شود، با کاربرد عملگر جمع در پرس و جو، MySQL به صورت خودکار نوع INT را برای ستون مورد نظر در نظر می گیرد و امکان استفاده از قابلیت Sort با ORDER BY فراهم می شود، بر همین مبنا اگر ستون rank سایتمان به هر دلیل به صورت عددی نبود این بخش از دستور پرس و جو را به صورت نمونه زیر ویرایش می کنیم:
SELECT id, title, description, date FROM articles WHERE publish = 1 ORDER BY rank + 0 DESC LIMIT 20
- تابع htmlspecialchars و تنظیمات آن جهت جلوگیری از ایجاد کاراکترهای غیر مجاز و تبدیل آنها در محتوای XML مورد نیاز است، استفاده از کاراکترهای زیر در محتوای فایل های XML مجاز نیست و باید معادل HTML آنها جایگزین شود:
< معادل &lt;
> معادل &gt;
" معادل &quot;
' معادل &apos;
& معادل &amp;
- فرمت استاندارد تاریخ در فید آر اس اس به صورت Mon, 1 Oct 2018 15:00:00 GMT است، لذا باید تاریخ MySQL را به کمک توابع explode و mktime به این فرمت استاندارد تبدیل کنیم.
- قسمت مربوط به author اختیاری است، به طور استاندارد باید ایمیل سایتمان را در این قسمت تعریف کنیم که این کار ممکن است موجب هجوم اسپمرها به آدرس پست الکترونیکمان شود.
- قسمت پایانی کد (chmod ،fopen ،fwrite و fclose) برای نوشتن اطلاعات در فایل rss.xml است.
- برای به روز رسانی مرتب فید آر اس اس بهتر است آن را در قسمت ارسال مطالب include کنیم تا با هر بار انتشار و ارسال پست ها، اطلاعات جدید جایگزین موارد قبلی شده و فایل rss.xml به روز شود.

اعتبارسنجی فید RSS در W3C Feed Validation Service


پس از ایجاد و ذخیره آیتم ها در فید RSS سایتمان، آخرین گام بررسی معتبر بودن ساختار کدنویسی و خروجی فایل XML به لحاظ استانداردهای سایت W3C است، خوشبختانه برای این هدف خدمات رایگانی تحت عنوان W3C Feed Validation Service در آدرس زیر قابل دسترسی است:
https://validator.w3.org/feed/
کافی است آدرس URL فید را در قسمت Validate by URI وارد یا محتوای آن را در قسمت Validate by direct input درج کنیم تا خطاهای احتمالی و پیشنهادات جهت بهینه سازی فید را از طریق سیستم اعتبارسنجی کنسرسیوم جهانی وب دریافت نمائیم.
sectionدسته بندی: آموزش کاربردی » MySQL
related مطالب بیشتر:
» آموزش ساخت فرم تماس با PHP و MySQL
» نحوه رسم چارت و نمودار آماری با PHP و MySQL
» جستجو در مطالب سایت با استفاده از MySQL Full-Text
» صفحه بندی مطالب و محتوا با PHP و MySQL
» هوشمند سازی پنل ورود و خروج سایت
commentنظرات (۳۹ یادداشت برای این مطلب ارسال شده است)
more یادداشت های جدید بر اساس تاریخ ارسال در انتهای یادداشت های موجود نمایش داده می شوند.
نویسنده: elias
زمان: ۰۹:۱۶:۳۱ - تاریخ: ۱۳۹۱/۰۶/۱۶
سلام
تشکر می کنم از مطلب خوبی که گذاشتین. خیلی برای من مفید بود و اطلاعات خوبی به من داد. امروز میخوام یه آر اس اس برای یکی از سایت هام ایجاد کنم.
موفق و سربلند باشید
نویسنده: maryam
زمان: ۲۰:۳۹:۰۳ - تاریخ: ۱۳۹۱/۰۹/۰۴
سلام
تشکر مطلب مفیدی هست.
نویسنده: حسینی
زمان: ۱۴:۰۱:۳۲ - تاریخ: ۱۳۹۱/۰۹/۱۸
سلام ببخشید من از کدی که برای آر اس اس گذاشتین استفاده کردم ولی جواب نگرفتم لطف می کنید کمکم کنید. ممنون میشم جوابتون رو به ایمیلم بزنید خسته نباشید.
پاسخ: 
سلام
کدی که در آموزش معرفی شده صرفا یک نمونه است و باید آن را مطابق با سیستم سایت و دیتابیس آن تنظیم نمائید، در واقع باید با php و mysql و روند کار آنها آشنایی نسبی داشته باشید، در غیر این صورت ممکن است اشتباهاتی کنید که موجب از کار افتادن کد شود.
نویسنده: فرزانه
زمان: ۱۲:۱۱:۴۱ - تاریخ: ۱۳۹۱/۱۰/۲۸
با سلام به بچه های وبگو غرض از مزاحمت این کدی که شما برای آر اس اس گذاشتین موقعه ای که داخل دیتابیسم یه سری اطلاعات جدید اضافه میشه چه جوری میتونم به طور همزمان آر اس اس آپدیت بشه ممنون میشم کمکم کنید. چون این دوتا فایل جداگونه میباشد چه طور میتونم به طور همزمان دو تا فایل رو آدرس دهی یا اجراش کنم.
پاسخ: 
سلام
کار چندان سختی نیست البته به شرطی که کمی با php آشنا باشید، برای این کار هر کجا که نیاز به ساخت مجدد فایل rss است، کدها را می توانید در فایل فعلی include کنید (یعنی یک فایل اجرا می شود اما داخل آن یک فایل دیگر وارد می شود)، به عنوان مثال:
<?php
if($update_error == FALSE){
include('rss.php');
}
?>
که در اینجا ما متغیر فرضی update_error را بررسی می کنیم، اگر FALSE بود فایل rss.php را در ادامه کد وارد و اجرا می کنیم، البته می توانید در کد خود هر طور که نیاز است فایل را include کنید.
نویسنده: پرفكت استپس
زمان: ۱۳:۵۶:۲۰ - تاریخ: ۱۳۹۱/۱۰/۳۰
ممنونم از مطالب مفيدتون
نویسنده: حسین
زمان: ۱۹:۲۶:۲۶ - تاریخ: ۱۳۹۱/۱۲/۱۰
سلام.ببخشید من به فید آر اس اس شدیدا نیاز دارم.من سیستم مدیریت محتوا رو خودم طراحی کردم ولی با xml آشنایی ندارم. برای من این ارور رو در لاین آخر میده:
XML Parsing Error: no element found
Location: http://themeviews.ir/tools.xml
پاسخ: 
ظاهرا شما کدها را مستقیم در فایل xml کپی کرده اید! کدها را باید در فایل php اجرا کنید و خروجی xml دریافت نمائید.
نویسنده: حسین
زمان: ۲۰:۲۲:۵۳ - تاریخ: ۱۳۹۱/۱۲/۱۰
خیر. من تنظیمات دیتابیس رو انجام دادم و کدها رو درست و ویرایش کردم. بخاطر چه چیزهایی میتونه این ارور رو بده؟
پاسخ: 
بله، حق با شما است، یک ایراد ناخواسته در مطلب وجود داشت و آن اینکه بک اسلش هایی (در قسمت هایی که از علامت "" استفاده شده) از کد حذف شده بود، اما کد شما هم یک ایراد جزئی دارد، بعد از while این قسمت را حذف کنید:
<?php }?>
نویسنده: حسین
زمان: ۲۱:۳۹:۳۷ - تاریخ: ۱۳۹۱/۱۲/۱۰
سلام. فک کنم بدونم چرا اینطور شد. در ضمن راس میگفتید در قرار دادن } .
من که حالا فهمیدم، مشکلم این بوده که اصلا فایل xml من توسط php پردازش نمیشه و همه ی سورس کد های php رو به نمایش می گذاشت. میشه راهنمایی کنید؟
پاسخ: 
چند نکته زیر را بررسی کنید، شاید اشکال از این موارد باشد:
- فرمت فایلی که php را پردازش می کند باید php باشد نه xml، xml خروجی برای rss است.
- از ؟> استفاده نکنید و به جای آن از php?> استفاده کنید.
- صفحه syntax error نداشته باشد.
نویسنده: hossein
زمان: ۱۶:۵۳:۵۴ - تاریخ: ۱۳۹۱/۱۲/۱۱
سلام. واقعا که ممنون. درست شد ولی حالا یه سوال دیگه دارم و تمام. ببخشید اگه طولانی شد.
این اسکریپت شما یه مشکلی داره. اون هم اینکه هر وقت برای به روز شدن سایت، یک بار باید صفحه xml.php لود بشه تا مطالب به روز شده تو صفحه قرار بگیرند.
میشد به جای این کار که یکم اذیت میکنه از دستور header استفاده کنیم و فایل رو به صورت خروجی xml دریافت کنیم که دیگه این مشکل پیش نیاد.
از آموزش هاتون هم ممنون.
راستی یه چیز دیگه. میشه ساخت یک نظرسنجی ساده رو هم آموزش بدید؟
پاسخ: 
سلام
خواهش می کنیم، در مورد نحوه به روز رسانی فایل xml هر چند دقیقا متوجه منظورتان نشدیم، اما این کد صرفا یک نمونه است و می توانید ایده های خودتان را با توجه به آن اعمال کنید.
در مورد ایجاد نظرسنجی هم در آموزش های کاربردی و در آینده به آن خواهیم پرداخت.
نویسنده: hossein
زمان: ۱۴:۳۷:۲۱ - تاریخ: ۱۳۹۱/۱۲/۱۲
اگر اسکریپت رو امتحان کنید، منظورم رو می فهمید.
پاسخ: 
دستور header در اینجا کابردی ندارد، چون هدف از ایجاد rss.xml، دانلود آن نیست، فایل rss معمولا در ریشه سایت قرار می گیرد و حاوی لینک تعداد خاصی از آخرین مطالب سایت است، پس باید با ارسال هر مطلب جدید، لیست لینک ها (فایل rss.xml) هم متناسب با آخرین تغییرات به روزرسانی شوند، اگر ایده ی دیگری به ذهنتان می رسد لطفا با جزئیات بیشتری مطرح کنید تا متوجه منظورتان شویم.
نویسنده: ولی زاده
زمان: ۲۰:۵۹:۱۸ - تاریخ: ۱۳۹۱/۱۲/۳۰
با سلام جناب
ما هر چه قدر تلاش کردیم نتونستیم درستش کنیم
لطفا به طور کامل اموزش را به ایمیل می فرستید ممنون می شم
لطفا کد را در قالب php بفرستید
من هر چه قدر تلاش کردم نتوانستم جور کنم تنظیمات را هم انجام دادم نشد
لطفا راهنمایی نمایید
با تشکر فراوان
پاسخ: 
سلام
آموزش حاضر کامل است، مسئله اصلی این است که بتوانید با الگوبرداری از آن، متناسب با سیستم مدیریت محتوای خود فید آر اس اس بسازید که این موضوع خارج از مبحث حاضر است و بستگی به میزان آشنایی شما با php و mysql و CMS ای دارد که از آن استفاده می کنید.
نویسنده: ولی زاده
زمان: ۱۲:۲۲:۲۲ - تاریخ: ۱۳۹۲/۰۱/۰۱
با سلام دوباره
جناب ما فقط تنظیمات دیتابیس را انجام می دهیم و یک فایل rss.xml هم به صورت خالی تو هاستمون اپلود کردیم ولی باز هم کار نکرد
ممنون می شم کمکمون کنید
پاسخ: 
سلام
همان طور که گفتیم این کد صرفا یک نمونه است و جهت راهنمایی افرادی که با اصول و مبانی php و mysql آشنا هستند، مناسب است، به طور مثال قسمت انتخاب از پایگاه داده از جدول articles انجام می شود که کاملا فرضی است، باید ببینید برنامه شما از چه جداول و ستون هایی استفاده می کند و مطابق ساختار دیتابیس، کد را ویرایش کنید، به عبارتی با صرف کپی و درج کد، اتفاق خاصی نمی افتد! دستورات باید بر اساس برنامه شما ویرایش شوند.
نتیجه: اگر می خواهید خودتان فید rss بسازید، الزاما باید آشنایی مقدماتی با php و mysql داشته باشید.
نویسنده: ali
زمان: ۲۰:۳۶:۱۰ - تاریخ: ۱۳۹۲/۰۱/۱۶
عالی است
نویسنده: محمد مهدی
زمان: ۰۶:۲۱:۵۴ - تاریخ: ۱۳۹۲/۰۳/۰۷
خطای زیر میده
This page contains the following errors:
error on line 3 at column 55: Document is empty
Below is a rendering of the page up to the first error.
پاسخ: 
این خطا یعنی خروجی XML شما استاندارد نیست، به طور مثال مواردی خارج از تگ آغازی و پایانی چاپ می شوند و لذا مرورگر در پردازش صحیح سند دچار مشکل می شود، سورس فایل خروجی را بررسی و دقت کنید موارد، مطابق نمونه و به صورت استاندارد چاپ شده باشند.
نویسنده: محمد مهدی
زمان: ۰۱:۳۴:۳۲ - تاریخ: ۱۳۹۲/۰۳/۱۸
این کد رو استفاده کردم حتی اطلاعات دیتابیس رو توش اینکلود کردم باز نشد!
پاسخ: 
این کد صرفا یک الگو و جهت نمونه است، به طور مثال قسمت SELECT آن کاملا فرضی است! باید متناسب با دیتابیس، جداول و ستون های آن دستورات را بازنویسی کنید.
paged صفحه 1 از 3
more لطفا پیش از ارسال یادداشت نکات زیر را مد نظر داشته باشید:
- مواردی که به کلی خارج از موضوع این مطلب هستند را در فرم منوی "تماس با ما" مطرح و پاسخ را از طریق ایمیل دریافت کنید.
- به سوالات کلی، مبهم، غیرضروری و مشکلاتی که تلاشی برای رفع آن نکرده باشید پاسخ خاصی داده نخواهد شد.
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین قرار دهید تا امکان تست و بررسی وجود داشته باشد.
- تمام یادداشت ها بررسی و برای هر کاربر زمان مشخصی جهت پاسخگویی در نظر گرفته می شود، لذا از طرح سوالات متعدد در بازه زمانی کوتاه خودداری کنید.




8 × 9
 refresh
نکته:
با توجه به تاریخ نگارش آموزش های سایت و پیشرفت تکنولوژی های مرتبط با وب در سالیان اخیر، محتوای برخی از مطالب قدیمی ممکن است نیاز به ویرایش و به روزرسانی داشته باشند که این کار هم زمان با تهیه نسخه جدید «وبگو» به مرور در حال انجام است، لطفا در استفاده از مطالب سایت به این نکته دقت داشته و حتی المقدور از چند منبع مختلف استفاده نمائید.
آگهی
سفارش آگهی
Webgoo.ir

امکان بهره مندی از تخفیف