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 مطالب بیشتر:
» ساخت قابلیت امتیازدهی با PHP و Ajax
» لیست داینامیک پیشنهاد کلمات، مبتنی بر ای جکس، PHP و MySQL
» آموزش نحوه آپلود فایل با PHP و ای جکس (Ajax)
» نمایش داینامیک و صفحه به صفحه مطالب با ای جکس (Ajax)
» نمایش زنده آمار و اطلاعات با ای جکس (Ajax)
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) به آدرس ایمیل ما (موجود در بخش تماس) ارسال کنید.
نویسنده: میکاییل
۰۰:۵۹ ۱۳۹۹/۰۸/۲۵
سلام
من تو قسمتی از صفحه پرداخت انلاین دارم همه چی درسته و اطلاعات بصورت ایجکسی ارسال میشه و سمت سرور نوشتم که هدر بشه به زرین پال. میدونم اینطوری نمیشه ولی کد من اینه چیکار کنم. یه مقدار هنگ کردم اینجا
اسکریپتی که نوشتم اینجاست
https://codepen.io/mika6020/pen/oNLmgwK
اونور هم شرطی هست اگر درست بود هدر بشه نبود خطا بده
 header('location: https://www.zarinpal.com/pg/StartPay/'. $Authority);
پاسخ: 
آدرس کدی که درج کرده اید صرفا شامل بخش جی کئوری است و قابل تست و بررسی نیست.
نویسنده: میکاییل
۱۰:۴۹ ۱۳۹۹/۰۸/۲۵
درسته مشکلی نیست تو ارسال اطلاعات. تنها مشکلم اینه که هدر عمل نمیکنه و ریدایرکت انجام نمیشه و نمیره سمت صفحه پرداخت. حالا نمیدونم به خاطر اینه که بصورت ایجکسی ارسال میکنم یا نه. تستی که کردم تو کد های php اگر چیزی رو اکو میکنم نشون میده ولی هدر نمیشه. حالا کاملترشو نزاشتم خیلی زیاده ولی گفتم اگر استاتوس 100 بود که هدر بشه نبود خطا بده. خطاها درسته ولی هدر نمیشه.
کد جیکوری هم به همون صورته. در کل مشکل من فقط با ریدایرکت نشدنشه
https://codepen.io/mika6020/pen/oNLmgwK
if($status==100)
{
$sql="INSERT INTO `tbl_order` (userid) VALUES (?)";
$stmt=self::$db->prepare($sql);
$stmt->bindparam(1, $userid,PDO::PARAM_STR);
$query=$stmt->execute();
header('location: https://www.zarinpal.com/pg/StartPay/'. $Authority);
exit();
}else{
echo ''.$error.'';
}
پاسخ: 
در پاسخ درخواست Ajax صرفا مقادیر متنی ساده یا JSON قابل تنظیم و ارسال است پس دستور header به این شیوه قابل اجرا نیست، به نظر در تئوری راه حل این است که ابتدا با ای جکس به سرور درخواست ارسال و فعل و انفعالات مد نظر را با PHP انجام دهید، اگر همه چیز درست بود در پاسخ به فرض status:ok|count:3|price:2000 را به عنوان نتیجه چاپ و در جی کئوری پاسخ را بررسی و با کمک کاراکترهای | و : به آرایه تجزیه نمائید، اگر مشکلی نبود از جی کئوری یک درخواست با متد POST به آدرس درگاه ایجاد کنید، قاعدتا ممکن است نیاز به دریافت پارامترهای بیشتری از سمت PHP باشد که در اینصورت استفاده از JSON می تواند گزینه مناسبی باشد (البته با متن ساده هم می توانید پارامترها را از PHP به جی کئوری رد و بدل کنید)، در این حالت باید پاسخ سرور را تجزیه و به آرایه تبدیل و از پارامترهای آرایه برای تنظیم درخواست POST به درگاه استفاده کنید.
more لطفا پیش از ارسال یادداشت نکات زیر را مد نظر داشته باشید:
- موارد غیرمرتبط با مباحث آموزش ها را در فرم منوی "تماس با ما" مطرح و پاسخ را از طریق ایمیل دریافت کنید.
- به سوالات کلی، مبهم و مشکلاتی که تلاشی برای رفع آن نکرده باشید پاسخ مختصر داده خواهد شد.
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین قرار دهید تا امکان تست و بررسی وجود داشته باشد.
- از درج عناوین تبلیغاتی در فیلدها خودداری کنید، در صورتی که یادداشت تبلیغاتی تشخیص داده شود حذف خواهد شد.
- تمام یادداشت ها بررسی و زمانی جهت پاسخگویی در نظر گرفته می شود، لطفا از طرح سوالات متعدد خودداری کنید.





1 × 1
 refresh

آخرین دیدگاه ها
more برای دسترسی سریع به یادداشت مربوطه می توانید از لینک مطلب در کادر زیر استفاده کنید.
form محمد رستمی
در:
سلام اگه میشه لیست توابع و کاربردشونو توی یه فایل pdf بزارین
۱۳۹۹/۰۹/۰۵

form شهریار صادقی
در:
من سه تا صفحه در php storm درست کردم یکی برای html یکی برای جاوا اسکریپت و جی کوِئری و یکی هم برای css اول...
۱۳۹۹/۰۹/۰۱

form دوست خوب
در:
اگر بخواهیم برای رفتن به مرورگر و باز کردن یک صفحه لینک دهیم؟
۱۳۹۹/۰۹/۰۱

form مجتهدزاده خیاوی
در:
سلام و خسته نباشید من جدولی دارم که تعداد ستون های اون نسبتا زیاده. توی نمایشگر های دسکتاپ مشکلی ندارم اما تو گوشی و...
۱۳۹۹/۰۸/۲۹

form Alireza
در:
خیلی ممنون از پاسخگویی سریع! بله خوشبختانه سرور هاست دانلود LiteSpeed هست و از جدیدترین PHP هم پشتیبانی میکنه. تو قسمت path هم دایرکتوری...
۱۳۹۹/۰۸/۲۹

form Alireza
در:
عرض سلام و خسته نباشید از مطالب استفاده کردم و نظرات هم خوندم واقعا مفید بودن. یکی دو نفر مشکلی شبیه بنده داشتن. من...
۱۳۹۹/۰۸/۲۹

form امیرحسین
در:
سلام استاد عزیز وقت بخیر من یه سوال در مورد function use داشتم اگه ممکنه با مثالی کاربردی توضیح بدید که کارش چیه :...
۱۳۹۹/۰۸/۲۷

form Amin Eskandari
در:
سلام عالی بود ممنون
۱۳۹۹/۰۸/۲۷

form فاطمه
در:
چگونه در حلقه ها اعداد را جمع کنیم و در خروجی مجموع انان را نشان دهد مثلا جواب
۱۳۹۹/۰۸/۲۶

form میکاییل
در:
درسته مشکلی نیست تو ارسال اطلاعات. تنها مشکلم اینه که هدر عمل نمیکنه و ریدایرکت انجام نمیشه و نمیره سمت صفحه پرداخت. حالا نمیدونم به...
۱۳۹۹/۰۸/۲۵

form میکاییل
در:
سلام من تو قسمتی از صفحه پرداخت انلاین دارم همه چی درسته و اطلاعات بصورت ایجکسی ارسال میشه و سمت سرور نوشتم که هدر...
۱۳۹۹/۰۸/۲۵

form mohsen
در:
با عرض سلام و خسته نباشید خدمت استاد ببخشید من یه فرمی دارم که از طریق ایجکس ثبت میشه داخل دیتا و بعد میره به...
۱۳۹۹/۰۸/۲۳

form مجید
در:
سلام وقت بخیر . ببخشید نمیشه دیتابیس توی کدنویسی html ایجاد کنیم افرادی هستن توی محل کارش اینترنت ندارن . اینو باید چکارکنم
۱۳۹۹/۰۸/۲۳

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

form ar
در:
سلام ممنون از سایت خوبتون ببخشید من تازه دارم زبان برنامه نویسی جاوااسکریپت رو یاد میگیرم و لپتاپم لپتاپ نسبتا ضعیفی هست من...
۱۳۹۹/۰۸/۲۰
form saba
در:
سلام من این کد رو در قسمت کد های اختصاصی کاربر وارد کردم اما هیچ تغییری ایجاد نشد ممکنه راهنمایی کنید؟
۱۳۹۹/۰۸/۱۹
form مینا
در:
سلام. من میخوام از regex توی ماشین حساب استفاده کنم ممنون میشم منو راهنمایی کنین
۱۳۹۹/۰۸/۱۹
form intal
در:
سلام خسته نباشید من واقعا از وبگو ممنونم که این آموزش های ارزشمند رو در اختیار کاربران قرار میده راستش من هرکاری می کنم پوزیشن...
۱۳۹۹/۰۸/۱۷
form بهروز
در:
مهندس جان خیلی عالی بود دستت درد نکنه درست شد.
۱۳۹۹/۰۸/۱۷
form اصغر
در:
خوندمش خیلی ممنون مفید بود
۱۳۹۹/۰۸/۱۵
form بهروز
در:
ممنون، خیلی لطف کردید، چشم امتحان میکنم خبر میدم فقط یه موری رو یادم رفت عرض کنم اینکه مثلا لینک exm.ir/m/yyyy به...
۱۳۹۹/۰۸/۱۴
form بهروز
در:
ممنون از پاسخگویی سریعتان در سوال فوق yyyy متغیر هست یعنی هرسری یه عددی کلیک میشه مثلا exm.ir/1234 حالا میخوام ریدایرکت بشه به آدرس...
۱۳۹۹/۰۸/۱۴
form بهروز
در:
سلام اگه بخوام ادرس 1 رو به ادرس دو ریدایرکت کنم چطور انجام دهم:
۱۳۹۹/۰۸/۱۴
form Mori
در:
سلام. میخواستم بدونم که چگونه در html میشه چند لیست عمودی رو کنار هم قرار داد. یعنی در واقع لیست ها زیر هم نباشند. ...
۱۳۹۹/۰۸/۱۰
form مبین
در:
با سلام من می خواستم دستوری در دیتابیس بنویسم که بر اساس قد افراد نتایج را مرتب و چاپ کند و اگه قد برار بود...
۱۳۹۹/۰۸/۰۹
form عباس علیمردانی
در:
سلام. من یک سوال یا بهتر بگم خواهش داشتم ایا شما میتوانید وبلاگ رو فیلتر کنید؟ یعنی با حکم قضایی فیلتر بشه. وبلاگ برایه...
۱۳۹۹/۰۸/۰۹
form ابوالفضل
در:
سلام استاد اومدم امروز بعد از سالها سوالاتی که از شما استاد بزرگوارم میپرسیدم رو زیر این پست مرور می کردم واقعا چقدر مبتدی...
۱۳۹۹/۰۸/۰۹
form mahtab
در:
سلام وقتتون بخیر ببخشید من میخوام یه آهنگی رو بزارم وبم کدش تو اینترنت زدم اما نیاورد بی زحمت میشه راهنمایی کنین چجوری...
۱۳۹۹/۰۸/۰۸
form Mori
در:
بهترین سایت برنامه نویسی در ایران هستید
۱۳۹۹/۰۸/۰۷
form Mori
در:
سلام. چگونه باید در لیست برای هر کدام از اعضا به صورت جداگانه لینک بگذاریم؟؟
۱۳۹۹/۰۸/۰۷
form جیهوپ
در:
سلام استاد عزیز من میخواستم صفحه وبی ایجاد کنم مثل این صفحه وبی ایجاد کنید که مشخصات شما را در 3 پاراگراف با ویژگی...
۱۳۹۹/۰۸/۰۶
  در انتظار بررسی: ۲
 پاسخگویی به سوالات ممکن است تا 24 ساعت زمان ببرد.