آگهی
article

ارسال اطلاعات فرم با ای جکس (Ajax) و نمایش پیام در حال پردازش

ajax

در آموزش های مقدماتی ای جکس (Ajax) گفتیم که چگونه می توان اطلاعات یک فرم را با متد GET یا POST برای یک فایل PHP ارسال و نتایج حاصل از پردازش آنها را بدون رفرش شدن صفحه به کاربر نشان داد که در واقع این فرآیند فلسفه پیدایش تکنیک Ajax است، در این مطلب می خواهیم کمی از تئوری فاصله گرفته و کدی کاربردی را قرار دهیم که به کمک آن بدون استفاده از کتابخانه هایی مانند جی کئوری (jQuery) و دردسرهایش، تنها بر مبنای ای جکس صرف (Pure Ajax) اطلاعات یک فرم HTML را به صورت پیشرفته ارسال و علاوه بر آن حالت در حال پردازش (loading یا processing) را نیز با تصویر و متن نمایش دهیم، به این ترتیب می توانیم در طراحی رابط کاربری (User Interface) صفحات وبی که مبتنی بر ای جکس هستند گام مثبتی برداشته و آخرین وضعیت پردازش درخواست را به اطلاع کاربر برسانیم.

کد HTML، دستورات CSS، JavaScript و Ajax


مانند آنچه در آموزش های مقدماتی دیدیم صفحات مبتنی بر تکنیک Ajax از سه قسمت کدهای سمت کاربر (کدهای HTML، CSS، JavaScript و...)، سمت سرور (برنامه نویسی به زبان PHP، ASP.NET و...) و رابط بین سمت کاربر و سمت سرور یعنی توابع Ajax تشکیل شده اند، از این رو برای ارسال و دریافت اطلاعات بین سمت کاربر و سمت سرور ابتدا باید بخش مربوط به کدنویسی HTML، CSS، JavaScript و Ajax را مشابه با نمونه کد زیر انجام دهیم:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>وبگو | ارسال اطلاعات فرم با ای جکس</title>
<!-- Webgoo.ir -->
<style type="text/css">
body{
    font-family:Tahoma, Geneva, sans-serif;
    font-size:12px;
    direction:rtl;
}
label{
    width:100px;
    display:inline-block;
}
</style>
<script type="text/javascript">
var div_id = 'show-result';
var loading_message = '<img src="loading.gif" alt="loading" height="16" width="16"> لطفا کمی صبر کنید...';

function ajaxRequest(){
    var xmlHttp;
    try{
        xmlHttp = new XMLHttpRequest();
        return xmlHttp;
    } catch (e){
        try{
            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
            return xmlHttp;
        } catch (e){
            try{
                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
                return xmlHttp;
            } catch (e){
                alert('مرورگر شما از ای جکس پشتیبانی نمی کند!');
                return false;
            }
        }
    }
}

function formGet(form, url){
    var post_str = getFormValues(form);
    //alert(post_str);
    postData(url, post_str);
}

function postData(url, parameters){
    var xmlHttp = ajaxRequest();
    
    xmlHttp.onreadystatechangefunction(){
        if(xmlHttp.readyState > 0 && xmlHttp.readyState < 4){
            document.getElementById(div_id).innerHTML = loading_message;
        }
        if(xmlHttp.readyState == 4){
            document.getElementById(div_id).innerHTML = xmlHttp.responseText;
        }
    }
    
    xmlHttp.open("POST", url, true);
    xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlHttp.setRequestHeader("Content-length", parameters.length);
    xmlHttp.setRequestHeader("Connection", "close");
    xmlHttp.send(parameters);
}

function getFormValues(form){
    var str = '';
    for(var i = 0;i < form.elements.length;i++){
        switch(form.elements[i].type){
            case 'text':
            str += form.elements[i].name +
            '=' + encodeURI(form.elements[i].value) + '&';
            break;
            case 'textarea':
            str += form.elements[i].name +
            '=' + encodeURI(form.elements[i].value) + '&';
            break;
            case 'select-one':
            str += form.elements[i].name +
            '=' + form.elements[i].options[form.elements[i].selectedIndex].value + '&';
            break;
            case 'checkbox':
            if(form.elements[i].checked == true){
                str += form.elements[i].name +
                '=' + form.elements[i].value + '&';
            } else{
                str += form.elements[i].name +
                '=' + '0' + '&';
            }
            break;
        }
    }
    str = str.substr(0, (str.length - 1));
    return str;
}
</script>
</head>
<body>
<noscript>
جاوا اسکریپت در مرورگر شما غیر فعال است!
<br>
</noscript>

<form name="form-name" action="#">
<label for="name">نام: </label>
<input id="name" name="name" type="text" size="50" placeholder="نام خود را وارد کنید">
<br>
<br>
<label for="email">پست الکترونیک: </label>
<input id="email" name="email" type="text" size="50" placeholder="پست الکترونیک خود را وارد کنید">
<br>
<br>
<label for="number">انتخاب شماره: </label>
<select id="number" name="number">
<option value="1">1</option>
<option value="2">2</option>
</select>
<br>
<br>
<label for="check">تایید: </label>
<input id="check" name="check" type="checkbox" value="1">
<br>
<br>
<input name="send" type="button" value="ارسال" onclick="formGet(this.form, 'ajax-post-form.php');">
</form>
<div id="show-result"></div>
<hr>
پس از کلیک بر روی دکمه ارسال، تابع جاوا اسکریپتی formGet اجرا شده و فرآیند درخواست ای جکس شروع می شود، در نهایت نتیجه در بلاک div با آی دی فرضی show-result نمایش داده خواهد شد، یکی از بخش های مهم این کد ارسال آبجکت فرم با تابع formGet و استفاده از آن در تابع getFormValues است، از این آبجکت برای دسترسی به زیرمجموعه های تگ form مورد نظر استفاده خواهیم کرد.
</body>
</html>
این کدها را در فایلی با نام دلخواه و پسوند html یا php ذخیره کنید.
توضیح:
- اولین تابعی که پس از کلیک بر روی دکمه ارسال فراخوانی می شود formGet است که دو آرگیومنت دارد، آرگیومنت اول آبجکت فرم و آرگیومنت دوم نام فایلی است که اطلاعات به آن ارسال خواهد شد.
- اطلاعات به فایلی در سرور با نام ajax-post-form.php ارسال و نتیجه از آن دریافت می شود، در طی این فرایند متغیر loading_message در حالتی که متد xmlHttp.readyState بین 0 تا 4 است در خروجی چاپ و پیامی مبنی بر در حال پردازش بودن درخواست ای جکس به همراه تصویر متحرک نشان داده می شود.
- تابع ajaxRequest برای ایجاد ساز و کار ارسال درخواست و دریافت پاسخ به شیوه ای جکس است که با مرورگرهای مختلف سازگار شده و نهایتا اگر سیستم کاربر نتواند درخواست را ارسال کند پیامی مبنی بر پشتیبانی نکردن مرورگر از ای جکس نشان داده خواهد شد.
- متدی که در کد استفاده شده متد POST است، در خصوص تفاوت متد GET و POST در آموزش های مقدماتی صحبت کردیم، در اینجا نکته مهم این است که باید در سمت سرور نیز با متد POST پارامترها را دریافت کنیم.
- تابع getFormValues اطلاعات فیلدهای فرم را بر اساس نوع آنها دریافت و به عنوان نتیجه در نهایت به صورت یک رشته متنی برمی گرداند، این اطلاعات در تابع formGet به عنوان پارامتر در تابعی دیگر با نام postData و متغیر post_str استفاده می شوند که در نهایت از آن در قسمت xmlHttp.send جهت ارسال پارامترهای اطلاعاتی در قالب متد POST استفاده می کنیم، نمونه:
name=your-name&email=your@email.com&number=1&check=1
- برای سازگاری با یونیکد utf-8 (پشتیبانی از زبان فارسی) و جلوگیری از مشکلات احتمالی در ارسال اطلاعات فرم از طریق ای جکس از تابع encodeURI استفاده کرده ایم، این تابع مقادیر فیلدها را جهت استفاده در درخواست ای جکس به صورت کاراکترهای استاندارد utf-8 تبدیل می کند.

دستورات PHP جهت دریافت و پردازش درخواست ای جکس


با استفاده از کدهای PHP زیر مقادیر ارسال شده از درخواست مبتنی بر ای جکس را دریافت، پردازش و خروجی را به عنوان پاسخ ارسال می کنیم، همان طور که مشخص است در این قسمت نیز از متد POST استفاده کرده ایم.
<?php
$name = @$_POST['name'];
$email = @$_POST['email'];
$number = @$_POST['number'];
$check = @$_POST['check'];

echo "نام شما: $name <br>";
echo "پست الکترونیک شما: $email <br>";
echo "شماره انتخاب شده: $number <br>";
echo "وضعیت تایید: $check <br>";
?>
پیش نمایش
این کدها را نیز در فایلی با نام ajax-post-form.php ذخیره و در کنار فایل قبلی (کدهای سمت کاربر) قرار دهید، با درک این ساختار ساده به راحتی می توانیم در برنامه های کاربردی و پیچیده تر موارد دلخواه خود را ایجاد و کد را سفارشی سازی کنیم.
sectionدسته بندی: آموزش کاربردی » Ajax
related مطالب بیشتر:
» نمایش نتایج پایگاه داده MySQL با PHP و ای جکس (Ajax)
» آموزش نحوه آپلود فایل با PHP و ای جکس (Ajax)
» نمایش داینامیک و صفحه به صفحه مطالب با ای جکس (Ajax)
» ساخت قابلیت امتیازدهی با PHP و Ajax
» اعتبار سنجی همزمان فرم با آژاکس (Ajax) و PHP
commentنظرات (۳۸ یادداشت برای این مطلب ارسال شده است)
more یادداشت های جدید بر اساس تاریخ ارسال در انتهای یادداشت های موجود نمایش داده می شوند.
نویسنده: میلاد
زمان: ۱۸:۰۰:۱۲ - تاریخ: ۱۳۹۵/۰۷/۰۳
سلام ممنون بابت سایت خوبتون خواستم بپرسم از لحاظ امنیتی مشکلی پیش نمیاد اگه با آجاکس فرم پسورد رو ارسال کنیم؟ یعنی منظورم اینه که ممکنه هکرها بتونن پسورد وارد شده توسط کاربر رو دریافت کنند؟
پاسخ: 
Ajax به جز عدم نیاز به رفرش صفحه، تفاوت دیگری در نوع پردازش و ارسال اطلاعات ندارد، لذا رعایت همان نکات معمول برای Ajax نیز کافی خواهد بود!
نویسنده: مبدأ
زمان: ۱۴:۵۲:۴۹ - تاریخ: ۱۳۹۵/۱۲/۰۸
سلام از کد شما استفاده کردم اما دوتا مشکل دارم. اول اینکه از کلیه اطلاعات صفحه یک کپی میگیره و دوباره نمایش میده و دومین مشکل اینه که وقتی دیزاینم رو تغییر می دهم این کدها دیگر به درستی عمل نمی کند. یعنی صفحه مجددا رفرش می شود. لطفا راهنمایی بفرمایید.
پاسخ: 
در مورد بخش اول، بعد از ارسال درخواست Ajax هرچیزی که به عنوان پاسخ دریافت شود، نمایش داده می شود، لذا باید پاسخ سرور به درخواست Ajax صرفا شامل متن یا تگی باشد که می خواهید نشان داده شود نه کل کدهای یک صفحه (انجام این کار نیازمند آشنایی شما با برنامه نویسی PHP است!)، اما در مورد بخش دوم سوال، دقیقا متوجه مشکل نشدیم، در صورتی که در طراحی خود دستورات مورد نیاز Ajax وجود داشته باشد با فراخوانی تابع نباید مشکلی پیش بیاید، لصفا به سورس کدهای آموزش دقت کنید و سعی کنید این الگو را در کدهای خود حفظ نمائید.
نویسنده: حسام آقاجانی
زمان: ۱۸:۲۰:۲۹ - تاریخ: ۱۳۹۶/۱۲/۲۸
سلام خسته نباشید من کد زیر رو برای ارسال انلاین مقدار range نوشتم ولی دوتا مشکل دارم نمیدونم مقدار رو چطور دریافت کنم و ارسال نمیشه ممنون میشم کمکم کنید .
https://energy-pak.com/test.txt
پاسخ: 
ظاهرا عنصری با آی دی here در کدها وجود ندارد؟! در هر صورت در صورت تمایل می توانید کد را به صورت آنلاین و قابل تست قرار دهید تا بررسی گردد.
نویسنده: Mobin
زمان: ۱۴:۴۹:۴۰ - تاریخ: ۱۳۹۷/۰۲/۱۰
سلام
ممنون از مطلب خوبتون
یه مشکلی که من با ajax دارم اینه که بعد از این که اطلاعات صفحه رو چاپ کردم دیکه jquery المان های جدید رو نمیشناسه و حتما باید صفحه رفرش میشه به عنوان مثال من از اجاکس استفاده میکنم که یک کلید بسازه بعد از اون میخوام اون کلید دوباره یک اجاکس بفرسته
خب اینجا باید صفحه رفرش بشه که جاوا اسکریپت دوباره صفحه رو با دام هاش اسکن کنه اما من نمیخوام صفحه رفرش بشه یکی دیگه از روش ها اینه که فایل جاوا اسکریپت که برنامه توش هست رو reload کنم که خوندم این کار امن نیست مخواستم بپرسم شما راه حلی واسه این مشکل دارید؟
پاسخ: 
هرچند درک دقیق مشکل و ارائه راه حل نیازمند بررسی بیشتر و تست کدها است اما با توجه به توضیحات به نظر باید دکمه ها و مواردی از این قبیل را به کمک جاوا اسکریپت ایجاد کنید، به فرض در حالت عادی دکمه مخفی باشد و پس از دریافت پاسخ از سرور با Ajax (پاسخ می تواند با فرمت دلخواه به فرض JSON باشد) آن را تجزیه کرده و در صورت نیاز دکمه را با جاوا اسکریپت از حالت مخفی خارج کنید (به فرض با متد document.getElementById مقدار خاصیت display آن را از none به block تغییر دهید).
نویسنده: رضا
زمان: ۲۳:۰۳:۲۳ - تاریخ: ۱۳۹۷/۰۶/۲۷
بسیار عالی بود...
نویسنده: ساحل
زمان: ۱۱:۲۹:۵۷ - تاریخ: ۱۳۹۸/۰۱/۱۷
سلام
روز بخیر
ببخشید میخواستم نظر شما در مورد امنیت ajax بدونم. اگر برای یک سایت مثلا بخش ویرایش کاربر و ثبت کاربر و یک سری ایتم های دیگه به صورت ajax بنویسم و در دیتابیس ذخیره کنه از نظر شما امنیت سایت پایین نمیاد ؟
میخواستم بدونم کار استانداری برای کدنویسی هست؟
و اگر تابع و متدهایی داره برای امنیت بیشتر میشه لطفا بگید
با تشکر
پاسخ: 
Ajax تنها یک شیوه دیگر ارسال و دریافت مقادیر بین صفحه کاربر (Client) و سرور است و اصول آن با حالت معمول (ارسال فرم و رفرش صفحه) تفاوتی نمی کند، لذا از نظر امنیت نکته ی بخصوصی ندارد، کدها باید در سمت سرور به لحاظ امنیتی دقیق و حساب شده باشند، به فرض برای دریافت کلمه عبور صرفا از متد POST استفاده شود (نه GET)، پارامترها قبل از استفاده در پرس و جوهای دیتابیس ایمن سازی شوند، در صورت امکان سایت به صورت HTTPS و مجهز به گواهی SSL باشد.
نویسنده: ساحل
زمان: ۱۳:۰۵:۴۶ - تاریخ: ۱۳۹۸/۰۱/۱۷
ممنون
ممنون
ممنون
نویسنده: amir
زمان: ۱۳:۲۲:۲۱ - تاریخ: ۱۳۹۹/۰۱/۱۰
سلام و ارادت
سال نو مبارک ...
من یه صفحه دارم که شامل یه سری پست هست و میخوام امکان لایک مطالب پست ها رو قرار بدم در صفحه زیر اگه مشاهده کنید با کلیک روی هر کدوم از دکمه ها (که این دکمه ها زیر هر پست قرار میگیره) عدد اضافه میشه اما با submit صفحه هم رفرش میشه
https://moralschool.ir/ms/index2.php
من میخوام بدون رفرش اینکار انجام بشه از ajax هم استفاده کردم و تست کردم ولی با این کار فقط آخرین پستم رو میشه لایک کرد و با کلیک روی دکمه لایک برای بقیه پست ها هیچ اتفاقی نمیفته
کدها رو نمیدونم کجا میتونم بفرستم اگه امکان داشته باشه راهنمایی بفرمایید
ممنون میشم
پاسخ: 
برای ساخت این قابلیت با Ajax باید پارامترهای شناسایی هر پست (معمولا ID دیتابیس مربوط به آن پست) در هنگام فراخوانی تابع (به فرض در رویداد onclick) به صورت متد POST یا GET به سرور ارسال شود، بر اساس این پارامتر ارسال شده در کدهای PHP و با برنامه نویسی، با در نظر گرفتن دستور
WHERE id = $input_id
در پرس و جوی MySQL دیتابیس را به روزرسانی می کنیم.
برای بررسی بیشتر کدها را می توانید به صورت فشرده و البته قابل تست (کدهای PHP + HTML) به آدرس ایمیل ما (موجود در بخش تماس) ارسال کنید.
more لطفا پیش از ارسال یادداشت نکات زیر را مد نظر داشته باشید:
- مواردی که به کلی خارج از موضوع این مطلب هستند را در فرم منوی "تماس با ما" مطرح و پاسخ را از طریق ایمیل دریافت کنید.
- به سوالات کلی، مبهم، غیرضروری و مشکلاتی که تلاشی برای رفع آن نکرده باشید پاسخ کوتاه و مختصر داده خواهد شد!
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین قرار دهید تا امکان تست و بررسی وجود داشته باشد.
- تمام یادداشت ها بررسی و برای هر کاربر زمان مشخصی جهت پاسخگویی در نظر گرفته می شود، لطفا از طرح سوالات متعدد در بازه زمانی کوتاه خودداری کنید.





2 × 8
 refresh
آخرین دیدگاه ها
more برای دسترسی سریع به یادداشت مربوطه می توانید از لینک مطلب در کادر زیر استفاده کنید.
form اریا
در:
سلام و درود بزرگوار چه دستوری باید بنویسیم تا فقط مقدارهای خاصی از ارایه بتونیم نمایش بدیم. مثلا یک ارایه 6 خونه ای...
۱۶:۴۷:۳۱ ۱۳۹۹/۰۴/۲۰

form کافه کتاب
در:
سپاس خیلی وقت بود دنبالش بودم مرسی از سایت عالیتون
۱۴:۵۱:۴۳ ۱۳۹۹/۰۴/۲۰

form سجاد
در:
دمتون گرم. خیلی زحمت کشیدید
۱۳:۴۳:۱۱ ۱۳۹۹/۰۴/۲۰

form KhashayarPrk
در:
سلام. میخوام الگو تمام کلمات داخل پرانتز رو بدون پرانتز بریزه ارایه با این کد فقط یک پرانتز رو جواب میده.
۱۳:۱۳:۴۷ ۱۳۹۹/۰۴/۲۰

form Oliver
در:
چطوری دستور background رو برای جدلمون عکسش رو تنظیم کنیم و بهش طول و عرض بدیم
۱۶:۰۷:۱۷ ۱۳۹۹/۰۴/۱۸

form محمد
در:
با عرض سلام ببخشید چطوری میتونم واسه اشتراک کاربر انقضا بزارم مثلا یک ماه داخل دیتابیس ردیف تایم رو درست کردم البته تاریخ رو تبدیل...
۱۹:۱۴:۵۹ ۱۳۹۹/۰۴/۱۵

form آیدا
در:
سلام من در حال طراحی با html هستم اما طبق فیلم آموزشی پیش میرم از یه جایی به بعد هم تغییرات اعمال نمیشه...
۲۲:۴۷:۴۴ ۱۳۹۹/۰۴/۱۴

form علی
در:
سلام اگه میشه یه تکه کدی بفرستید که کاربر نتونه عکس مورد نظر رو دانلود کنه و با نگه داشتن روی عکس فقط لینکو ببینه...
۰۹:۳۰:۴۹ ۱۳۹۹/۰۴/۱۴

form sina2000
در:
با سلام و خسته نباشید طبق کد زیر استفاده میگه متغیر Pdc برای PDO است لطفا نمونه کد برای لایبرری...
۱۵:۰۳:۵۱ ۱۳۹۹/۰۴/۱۳

form محمد امین
در:
سلام ممنون از مطلبتون ببخشید من یه سایتی با شی گرایی کامل زدم الان میخوام آدرسشو بهینه کنم آدرس الان من به این صورته:...
۱۸:۲۸:۲۴ ۱۳۹۹/۰۴/۱۱

form ترنم
در:
سلام وقتتون بخیر ببخشید من کدهای مربوط منو و زیر منو رو نوشتم ولی موقع اجرا منوی اصلی رو میاره ولی زیر منوها رو...
۱۱:۰۶:۲۹ ۱۳۹۹/۰۴/۱۱

form ا
در:
سلام چرا وقتی مطالب مربوط که تو وبلاگم هست رو جستجو میکنم نمیاره ؟؟؟
۲۰:۳۱:۰۸ ۱۳۹۹/۰۴/۰۷

form amir
در:
سلام من اگه بخوام با وارد کردن یه id داخل یک text کل اون ردیف پاک بشن باید چه کنم مثلا یک text دریافت میکنم...
۰۱:۴۸:۰۵ ۱۳۹۹/۰۴/۰۷

form محمدباقر حسیبیان
در:
من این مشکل برام پیش اومده که موقع ورود به پروژه م توی لوکال هاست wamp صفحه سفیده و هیچی رو نشون نمیده و کد...
۱۶:۴۲:۳۸ ۱۳۹۹/۰۴/۰۶

form ...
در:
سلام دو سایت نوشته ای مربوط به من رو چند سال قبل لینک دانلود قرار دادن من ازشون خواستم بردارنش ولی اینکارو نکردن سایت...
۱۷:۲۶:۴۲ ۱۳۹۹/۰۴/۰۵
form مجتبی
در:
سلام میشه یک کد جاوا رو به php تبدیل کرد تا لود سایت سریع تر بشه؟
۱۳:۰۴:۲۳ ۱۳۹۹/۰۴/۰۴
form متین
در:
سلام ؛ من تازه شروع به یادگیری کردم ؛ مطلب بسیار کاربردی بود ؛ ممنون از شما دوست عزیز.
۰۱:۵۰:۰۵ ۱۳۹۹/۰۴/۰۴
form mahdi
در:
سلام استاد عزیز و گرامی امیدوارم که حالتون خوب باشه ، اگه براتون ممکنه لطفا یه آموزش خوب در زمینه وردپرس بهم معرفی کنید ،...
۲۱:۴۸:۱۳ ۱۳۹۹/۰۴/۰۳
form امید
در:
در برنامه نویسی کاربر با چه دستوری میتواند به صفحه اصلی برگردد
۱۹:۰۶:۵۶ ۱۳۹۹/۰۴/۰۳
form ali
در:
با سلام من یک پروژه طراحی کردم میخوام که وقتی کاربر روی ادامه مطلب کلیک کرد در خود صفحه بقیه مطالب را ببینه...
۱۸:۴۷:۲۲ ۱۳۹۹/۰۴/۰۳
form علی
در:
سلام و تشکر از زحمات ارزشمند شما احتراما بنده امروز از یک شماره تلفن ثابت از طریق یک رایانه و یک موبایل به طور...
۱۸:۰۱:۱۰ ۱۳۹۹/۰۴/۰۳
form oscar
در:
درود. اگر بخوایم در نمایش تاریخ و زمان که به صورت لحظه ای خودش در صفحه رفرش میشه، فقط عبارت " Mon Jun 22 2020...
۱۵:۵۹:۳۲ ۱۳۹۹/۰۴/۰۲
form علی
در:
با سلام چطور میشه فقط یک صفحه مورد نظرمون رفرش بشه نه همه صفحات سایت
۰۰:۰۳:۴۱ ۱۳۹۹/۰۳/۳۱
form Farzad
در:
الان وقتی فایل رو میخواد دانلود بکنه از خودش فایل میسازه ، به این صورت یعنی بعد از پوشه file هر پوشه ای باشه...
۱۸:۵۶:۲۱ ۱۳۹۹/۰۳/۳۰
form Farzad
در:
سلام ، خسته نباشید من فایل هایی که در هاست میزارم به این شکل هست: یعنی مشخص نیست فایل ها تو چه پوشه...
۱۳:۳۳:۴۰ ۱۳۹۹/۰۳/۳۰
form شیما طیبی
در:
سلام خیلی مطلب مفیدی بود . همیشه به وبلاگ نویسی به چشم یه کار خسته کننده نگاه میکردم ولی خب یه مقدار نظرم تغییر کرد....
۲۳:۵۲:۳۲ ۱۳۹۹/۰۳/۲۹
form احسان
در:
سلام من یک کد اسکریپت دارم که به صورت عددی تبدیل شده است. میخواستم بپرسم چطوری میتونم اسکریپت به حالت اولیه نوشته شده برگردانم و...
۲۱:۰۲:۱۳ ۱۳۹۹/۰۳/۲۷
form علی
در:
ممنون از پاسختون اما روش بالا جهت دانلود فایل کاربرد داره . من میخواستم به صورت استریم ویدئو پخش بشه اما آدرس مستقیم ویدئو...
۰۰:۳۷:۴۶ ۱۳۹۹/۰۳/۲۷
form محمد
در:
سلام مجدد ببخشید طبق فرمایش شما من در دیتابیس جدولی ساخته بودم فقط مشکلم اینجاست چطوری میتونم توسط کوکی یا سیشن با تابع دیت انقضا...
۲۲:۳۸:۰۳ ۱۳۹۹/۰۳/۲۵
form محمد
در:
با عرض سلام ببخشید چطوری میشه واسه اشتراک خریدن زمان ۱ ماهه گذاشت که بعد از گذشت ۱ ماه پیام بده دوباره اشتراک تهیه کنید...
۱۳:۱۳:۵۵ ۱۳۹۹/۰۳/۲۵
form ehsan
در:
سلام و خسته نباشید. من قالب جدید تهیه کردم ولی ایکن هاش کار نمیکنن. اگه وبلاگم نگا کنین متوجه میشین. ایکن شبکه های اجتماعی...
۱۷:۱۹:۴۰ ۱۳۹۹/۰۳/۲۴
در انتظار بررسی: ۰